So often we come up with genius game ideas, flashes of inspiration that come to us when we are away from the pale glow of the computer screen.
Most of these fall by the wayside. Real life commitments, feature creep, changes of heart and the all encompassing not enough time – there are many more reasons not to make a game then there are to. However, as I suddenly now find myself with the time, the willpower and the means to make a small independent game. So I’ve set myself a challenge:
Make a game before month’s end ( just over two weeks ) and submit to the Apple App Store. I’ve built a lot of mobile games before so I know the process like the back of my hand. No more excuses, it’s time to get something out there and begin 2014 on a positive note.
I’ve chosen Actionscript 3 and AIR as my tool of choice because it’s awesome for rapid prototyping, and of course the Starling Framework because,well, it’s just awesome. 60 frames per second on mobile, dynamic texture atlases, full screen scaling.
Here’s the game concept – an old fishmonger hauls blocks of ice (filled with bemused looking fish ) onto his boat. The aim is to stack the iceblocks as high as possible before they collapse.
It’s a relatively simple concept inspired in part by Aden Humbert’s lovely HTML5 experiment Pillar , which was based on the classic arcade game Stacker, and in part by discussions on physics games with my friend, Code And Visual‘s James McNess.
Having limited experience with the Box2D physics framework, I decided to use the PhysInjector plugin by Reynaldo Columna as it simplifies the verbose nature of Box2D and allows you to use it with Starling right out of the box. I’ve heard Nape Physics is actually faster for mobile, but for the purposes of the project I believe I’m getting more than adequate performace in early tests so far.
Day one of the project consisted of setting up my template framework of menus, sound classes, texture importers and so on and finally plugging in the PhysInjector classes and seeing what I could get up and running. Initial tests on a Samsung Galaxy S3 are encouraging and running at 60fps with 50+ boxes on screen at once.
Box 2D is very easy to get up and running – it starts becoming a little complicated early on because there are a lot of unfamiliar terms like ‘restitution’, ‘density’ and so on relating to basic physics – it’s very interesting though and absolutely delightful to watch the first tests of boxes bouncing around and interacting with the environment. Coming from the old Actionscript 2 days especially, it’s lovely to see how far Flash has come as a games platform.
You can see the first progress screenshot below. Notice the blue wave at the bottom of the screen – this was built using the Starling Graphics Extension, which allows for animated/dynamic texture fills/strokes and all sorts of lovely effects previously not possible in Starling. Highly recommend you check it out, especially if you want to make a worms style procedural landscape – perfect for that because it allows you to add a texture for the grass and a texture for the rocks beneath ( see the examples from GitHub ).
So that’s where I’m at. Next steps for today are to add in irregular shaped blocks, disable/put them to sleep when off screen and implement a camera that scrolls the world up when the tower reaches at least 50% of the height of the screen.