Finally my first game here at Soap Creative (my new job in Australia) is about to be launched. It should go online by tomorrow but I couldn't wait to already post some media of the game and a video.
The game was created in 4 weeks and I was responsible for the development. I got some helping hands for the GUI and some of the textures but most of the game was developed by me.
The first time they briefed me the Project it was supposed to be a very simple 2d game with a action theme and Hollywood flair. My suggestion then was to turn it into 3D and to use a physics engine for the bike handling.
I wrote the basic engine as kind of a proof of concept in 1 week showing the 3d engine which generates random levels based on a seeding value and a 2d physic engine based on Box2d.
For the pipeline I used 3dsMax (my favorite tool to create game assets). Booth meshes and or splines for the collision vector are saved in a single binary file and stored within the game SWF file.
This not only saves crazy amount of filesize but also initializes extremely fast because the data is already present and in the right order (no parsing like OBJ, DAE,...).
For the level I created 4 different groups of models:
- base meshes holding: entry prefabs, in between prefabs and exiting prefabs
- front decoration prefabs
- rooftop decoration prefabs
- far background prefabs
All in all the game uses about 40-50 different 3d models to generate the levels with a random pattern.
The more you progress in the game though the more difficult the level becomes and only certain prefabs are used. Also gab spaces between the buildings are getting longer because your bike is also getting faster.
I recored this video but since this computer is just a DualCore and I have to run CamStudio in the background to record the video the framerate is not so smooth as it should be.
On high quality settings I get about 40+ fps and on low I have 60 fps - so the game should be fast on most computers out there.
[ame]
http://www.youtube.com/watch?v=Va9XLI3WNBc[/ame]
within the next few days the game should be online so everyone can play it and compete against each other. I will add the official game link as soon as it gets online.
Replies
Badass
Also, sounds like you really found a great job Definitely sounds fun to have that sort of freedom!
very cool work
Seems an awful lot like Canabalt, too.
I can't wait to play this.
Congrats on this, very cool.
Magnum Force 10
http://www.betheking.com.au/game/
so it is finally online although it is still hidden in a way (but public), it will go mainstream tomorrow or Sunday - so I still have a day or some hours in between to give my final go.
Initial development started in September the first day I arrived at work. I had a briefing with the others of what they already agreed on with the client to create. It was about a timing game inspired by the popular Canabalt flash game where you have just 1 key to jump and progress.
So their initial design was about a 2d sprite motorbike game on rooftops with flash with Hollywood and action flair. Effects and lights or visuals were important to them so I suggested to go 3d. And so the first things I did were creating technical mockups explaining what I had in mind engine wise.
The basic idea was to scroll/ clip through an endless level of buildings in 3d space each randomly generated through a seeding generator on the fly. But the bike and many other active elements would be displayed in flat planes.
After I presented this idea to them some of the designers started on some mockups to get a go from the client.
(the bottom background loop was something I started but that was never used for the game)
And so my first taks for that week was to create a technical proof of concept demo that shows:
- 3D engine
- collision detection and physics
During all weeks so I was kind of responsible for all the tech, pipeline and review / fix any art that would go into the 3d engine. I made a quick video showing most of the major demo progression steps:[ame]http://www.youtube.com/watch?v=sLYd6LPWU20[/ame]
The 2nd week was a closer collaboration with the designers here at Soap, getting them into 3D texturing and explaining stuff for creating parallax scrolling layers, animated textures or diffuse textures.
Some of the designers didn't even knew that their Photoshop CS4 could open 3D models CS4 was bitching again and a pain in the utter ass, the performance was barely usable but I think I'll switch to Blender or Sketchup next time so that the mac guys can preview their 3d models.
While I was working on the 3D models and trying to unwrap them as fast as possible some of the designers already started with backgrounds and active sprites objects.
Of course I had to script some custom tools and exporters in max in order to work efficient. Many of the scripts are part of older projects (like the race game engine) and include some nifty tools for snapping verts on a world grid much like most classic game editors. The advantage comes in when you need to make sure prefabs snap perfectly together later and that works best if you have some kind of 4,8,16 or 32 based unit grid.
Exporting was simplified as well I just had to specify the target path and selected objects would automatically be created or replaced in folders. Each 3d model can hold 1 additional spline object for the collision detection.
Most of the initial textures came from the designers but I reworked most textures and added stuff someone with low Poly modeling and 3d texturing experience has a better eye for. Like for example: reflections, gradients, transparent surface planes, blurred pixel padding and beveled corners (in the texture) to really pop out the 3d models and bring out the best with the limited technology.
For the effects I got a FX animator here to make me some particles. They are used for the smoke, bullet shots and spark effects.
it uses simple 3d space planes to project an animated texture that is cached from this animation:
At first our FX animator didn't understand what I meant by UV layout and why all animations were supposed to be in 1 animation all together but I explained him with a few illustrations how it works from a technical level and was ready to go.
can't wait to get my hands dirty with Unity for some future project - time to push the polycount.
PS: Where are you from? Your name is 100% Dutch but you seem to be all over the globe haha
Kwakkie get this: He's a dutch guy, raised in germany, working in australia. (right render?)
Congrats on your first shipped title over at Soap Creative
Thanks for the breakdown/postmortem, it's an interesting read to say the least.
Best i can do is 940m
one thing that kept happening to me was that there would be a small ramp that would bump me just before a small big-jump ramp, so instead of climbing it for a big jump i'd land on it and topple down. think there should be a minimum distance threshold there
Haha. Those must've been a rough four weeks, keeping quiet for so long
Thanks for going into so much detail, I'll enjoy reading through this.
How much of those effects are hand-made, and how much comes from animation libraries?
hope sydney's not too hot and humid for ya
anyway very impressive for such a small team and time frames !!!
rock on !