Last months were pretty hectic and i wanted to release my latest game first before posting here. It’s a “pseudo-3d” racing game, like Outrun or Lotus, if you remember those Amiga/SNES/DOS times. It’s already online, surpassed 6 million views in 23 days and still counting up. Not bad! (update: reached 7.5 million views in 1 month!)
In case you missed it, you can play the game here.
“What the heck is ‘Pseudo-3d’ anyway?”
It’s my way of saying “this is not a real 3d game, it’s actually 2d but looks/fakes 3d”. Some people may say it’s already obvious but i saw there are people who thought otherwise, so…
In old times when computers were not powerful as today (no cool 3d engines with decent graphic hardware acceleration, like today’s Flash actually), people used interesting methods to create these games to achieve a 3d feel. In this game and similar games, what you see is actually thin horizontal lines drawn on screen, as they stack up above, they scale down, thus creating a false perception of perspective. Simple to write here, harder to code, especially when all assets in game start to come together.
I believe times of Amiga/DOS has a lot of similarity with the current state of flash gaming (although these similarities arise from different reasons): You must not exceed a certain file size (and it’s really hard in flash when you’re working with mp3 music tracks instead of good-old MOD files), you don’t have decent graphics hardware acceleration thus you can’t work on a 3d engine without lousy frame rates. (Well, the last one will change soon since the new flash player will allow complete hardware acceleration, i guess we’ll see a lot of 3d racing games with modern graphics in the following months of 2011… at least i’m happy that i’m not too late with this game, i could have been caught on that frenzy)
Coming from art/design background, this was a interesting challenge for me to go from the same steps of old programmers and see how hard it can get sometimes to achieve a simple effect. I had to create a lot of graphic pieces which have meaning when they come together (In night and fog levels, i had to duplicate all objects for different fog/light levels, and saved them as separate files. I couldn’t simply apply a color transform to them since that’ll be incredibly cpu consuming). This kind of details added a lot of work, both on art and code parts. Yet, probably i could’ve done better optimization with using blitting etc. but every project has to end sometime, right? 🙂
Having finished the project, now I can get a glimpse of why there is not many flash racing games using this method. As opposed to other genres, racing is much more easy to create in real 3d, i believe. It’s much easier to get a 3d engine, put a car in it and make the user drive it in an environment including nice psyhics/collisions. You can create tracks in a visual editor in no time. Fake 3d may not be rocket science but it has it’s pitfalls and it definitely takes time to make it feel right.
By the way, don’t forget to check full-screen feature! It’s activated by the square button in the race screen at the left-bottom corner.