As I mentioned last time I’ve been creating a plugin for split-screen audio in Unity. I can demonstrate the basics now, so here’s a video:
The plugin will be sold on the Unity Asset Store once finished, so if you’re interested in testing it or using it for your own games let me know!
I uploaded simple a webplayer demonstration for you to check out: http://www.ramjetanvil.com/games/multiaudio_demo/WebPlayer.html
The Beta package is now ready for testing. Again, if you want to participate, contact me through email, or post in the Unity forum thread: http://forum.unity3d.com/threads/165694-Multi-Audio-Split-Screen-Audio-Plugin-Beta
(Crossposting here since 7DFPS.org seems to be down)
Over the last week my friend Robin and me created a first person shooter game in seven days, participating in the 7DFPS challenge. It was close, but we made it just in the nick of time! Our game is called Armed & Dangerous: Opposing Thumb, and we’re quite happy with it.
In Armed & Dangerous you play a robot defending his lovely Data Cube. Build a fort, kill the oncoming drones, and defend the Data Cube at all costs. The game is player cooperatively with a friend beside you. The trick is that you both control the same character, a robot, and you have to really work together to win.
One player controls the left arm, the other controls the right arm. Both players can run, look and jetpack at will. All this means you have to coordinate, otherwise you’ll just stumble around and not get anything done.
You can grab things, you have guns, and bad guys want to kill your Data Cube. Stop them no matter what!
This first version is very rough, only available for Windows, and only playble with two Xbox 360 controllers. We will be updating with more builds and better support for platforms and input devices though.
Hey Everyone! Err, this is a little awkward after all this time…
First, here’s something fun. Last year I worked with a couple of guys from Koelstof (some of you may know Jarno Cordia, who works with Phoenix Fly) to produce a prototype for an arcade wingsuit game. We put something together in a couple of days, and the result looked like this:
You can try out a webplayer version as well! (Requires Unity browser plugin)
This thing has been lying around for a year, and none of us were really doing anything with it. Recently some kind folks contacted me to ask if I would help them build their game, or if they could use parts of the source code for it. The game has a different theme, but shares some of the core mechanics. I’m working out a deal with them right now, so with any luck you will see this thing come to life soon.
(Just to be clear, this is not Volo, nor is it related to it. Volo is very much on the simulation side of the spectrum, while this game is distinctly on the arcade side.)
So what about Volo?
I have spent the last year setting up my freelancing business. I started out as a complete newbie, and have been stumbling my way towards a vague sense of competence ever since. I’ve been meeting a lot of interesting people, and have been learning a lot. Scoping projects, not not biting of much more than I can chew, and getting work done in time. I renamed my business to Ramjet Anvil (an almost-anagram of my name), and I am looking forward to working under that banner.
But crucially, I burnt out on Volo big time last year. It’s very ambitious for a first game, and to think I could pull it off was at least a little naive. Perhaps I should have done a 2D platformer first, heh.
Progress ground to a halt. I kept staring at the Unity project for days on end until I was banging my head against the monitor in frustration (no joke there). It got to the point where I figured I should cut my losses and move on to a completely different project; something a little more suited to my skill level. I thought I couldn’t realize this game, and I did not want to make promises to you guys that I would not be able to keep.
Meanwhile, every day I received youtube and facebook comments along these lines: “Holy shit! I’m throwing money at the screen but nothing is happening!“, as well as: “Hey man, are you still working on this game? It’s so sad to not see any updates…” These comments are very heartwarming, and they slowly made me realize that I was onto something too big to just throw away.
So now I want to try it again!
The biggest problem that I faced was that I wasn’t able to handle the sheer complexity of the physical simulation. With so many moving (body-)parts, and without adequate tools, it took weeks to understand the consequences of even the tiniest gameplay tweak. Not instantly seeing the effect of your changes has a devastating effect on your productivity. Imagine trying to draw a picture, but you only see the lines you draw appear half an hour after you’ve drawn them! It’s not impossible to work that way, but it is extremely difficult. I only really realized this after watching this wonderful talk by Bret Victor, a designer/engineer with a resume so impressive you’ll fall of your chair. If you’re at all interested in the fields of design and engineering I highly encourage you to check this talk out:
(And read his article on the Ladder of Abstraction; it applies so much to my Volo troubles I almost cried.)
So, I’m picking things up again, but taking a different approach.
First, the focus is not on realism, but on gameplay. This is to avoid the pitfall of adding lots of complex stuff even though it isn’t needed for the play experience. For example, most players think there is a very complex wind model in the game. There isn’t; so why would I focus a lot of time on putting one in, at least early on? It’s good enough as it is.) I’m also looking for a stylized look for the graphics. Something simpler to produce, better at communicating the simulation state, and something that will not look old and ugly the day the game comes out. A stylized and slightly fictional look would also enable me to get away with not simulating some things. Just boring things though. 😉
Second, I need to build adequate tools to deal with each bit of complexity I add to the simulation. Unity’s default tool set is great, but it will need significant additions if I am to tweak aerodynamics with it. I need wind tunnel testing with exquisite graphical readouts, and I need it now.
Third, multiplayer code needs to be in there right from the start.
With those things in mind I first plan to get some basic aircraft flyable on a multiplayer server. Once that is up and running add first/third person walking, getting in and out of vehicles, switching a character’s gear, and then finally wingsuit flight.
As always, let me know what you think!
And thank you for staying interested, it means much to me.
Completely out of the blue, here’s something I’ve been working on for the past month or so that might interest you:
A test landscape for the system
The above landscape might seem like a single, solid piece of geometry, but it isn’t. Instead it consists of many smaller peaces that are seamlessly stitched together as you move through the world.
How does it work? The import tools takes chunks of heightmaps, splatmaps and any other relevant maps, and loads them into Unity. The streaming system dynamically loads and unloads these chunks around the player.
The view from up really high
What’s so cool about this? It allows games that use it to have much larger areas of play! The system only loads the parts of the level it needs, while the rest just sits on your hard disk. Now, it won’t quite give you the whole surface of the earth to explore, but you can certainly spend ages walking towards a far stretching horizon of a level.
The test level I’m working with right now uses heightmaps with a 1 pixel-per-meter resolution to form an island of about 16 square kilometers. The individual chunks have either 1 or 2 splatmaps assigned to them, with 4 channels each. Compressed on disk this results in a package of around 200MB, so a full game could have a lot more of it. Plus, a game like Volo could easily manage with a 2 pixel-per-meter resolution, doubling the potential size. I have yet to explore the idea of having different map resolution for different tiles, but such a thing would make sense for chunks of terrain that you don’t expect the player to get close to.
Both the importing and streaming system are built to be highly configurable and extensible. More on this later, but right now I’m interested to hear what other developer would want from this tool, so I can make sure everybody’s happy. If you have any suggestions: Let me know!
An early snapshot of the editor, to be overhauled later.
Note: I was originally developing these systems for Creath Carter, a fellow indie developer. He has kindly let me develop this into a tool I can use for Volo and sell on the Unity Asset Store as middleware. The terrain meshes in the above screenshot were generated by him using World Machine. The textures and engineer character are some default Unity assets.
First off, here’s the trailer I made a while back, it conveys a lot about the current state of the game: Volo Trailer. (You’ll have to forgive me for not embedding the video, wordpress won’t let me for some reason.)
The first proper Volo Airsport trailer! Click the image to see it.
I did an experiment with Unity’s cloth physics, of which you can get some impressions here: Cloth Physics.
Look! Wouldn't that be just the best thing since... since blocky wings?
Using cloth this way would likely result in a unified approach for modeling all ram-air surfaces in the game, in a way that its easy enough for players to design & tweak the shape of their own canopies and suits using an in-game editor. How cool would it be to try and make that Vampire3 fly faster? Mind-blowingly cool, that’s how. Unfortunately it turns out Unity won’t let you read vertices back from the deformed wing mesh, so there’s no way of analyzing a cloth wing for its aerodynamic properties. Not yet anyway, I have good hopes that this feature will become accessible at some point in the future. In the mean time I’ll have to think of something else, so back to the drawing board!
As for the grand scale of things, I’m looking into setting up my own business so I can continue work on the game. Next to working on the game I will spend considerable time doing freelance game programming to build up some funds. I will also be setting up a little online store where you can buy early access to Volo, and some Unity scripts that people have expressed interest in such as scalable input and GUI systems.