Pandora’s Box2D: Day Two of the Challenge

Pandora’s Box2D: Day Two of the Challenge

Day two is down of the 14 day challenge and already I’m starting to make excuses to myself.

Define 14 days – is it two weeks straight? Are you going to release it by month’s end?

The answer is of course, no. I think I need 14 actual days , instead of just a ‘two week block’ – that wonderful thing called life does tend to interfere from time to time. We all need regular breaks, a day on the weekend and so on, to recharge. I find I am at my most inspired when walking through a forest, or swimming in the water at a beach – ideas seem to come to me, problems untangle themselves and everything seems a bit easier. So I’m still aiming for 14 days, they just might be slightly spread out with a day or two’s break here and there. And should I fail that, well…. the 21 Day Challenge doesn’t seem so bad now, does it? I’ve worked in agencies where we spent 21 days just getting a title screen approved. 😀

So, what have I actually achieved so far? Yesterday was an interesting one – I wrestled with Box2D for quite some time, in fact – the PhysInjector plugin is great but there is almost zero documentation or commenting in the code so it is sometimes unclear of what each function does. Box2D has an absolute wealth of information about it on the internet, but it breaks pretty easily – for example I spent roughly two hours figuring out how to remove objects from play once they’d left the screen. This is probably down to my own shortcomings as a programmer – I dove right in after all without reading the manual, but Box2D is unlike anything I’ve seen before. It likes things to be just-so and you cannot treat bodies on the Box2D stage like regular Flash Displayobjects.

As you can see below, that is a screengrab of where I’m at – you’ll notice the high draw count on the FPS counter. I’ve had a little problem with the textures on the boxes that wasn’t assigning them to the same texture pack (again, silly little mistakes that cost you time. )

fishmonger_2

 

 

On the positive, don’t you love the little boat? I work with a wonderful artist friend ( we split all profits from anything we do 50/50 ) and he’s kindly agreed to provide art assets for the game. It’s amazing how just adding proper art can inspire you to keep going – though on the flipside, a game needs to be fun even just with boxes and placeholder graphics because otherwise , as the colourful expression goes, it’s just pearls on a swine.

To allow the boxes to stack in the boat, I bought a nice little bit of software called the PhysEditor ( $20 ) that allows you to define complex shapes for use in Box2D and works with everything from Starling to C++, wherever Box2D can be used, I believe. I just defined a shape for where I wanted the boxes to sit, imported it in here and exported it for ActionScript. One little thing that tripped me up at first, as I’m building the game for high res retina display screens, I had to set the PTM-Ratio to 64 (up from the default 32) so the shapes weren’t double the size.

physeditor

 

The water underneath the boat is using the Starling Graphics Extension to create a wave fill/stroke in 50 segments. It’s simple but seems effective once I reduce the alpha back to 80% so I can see the boat underneath.

I added a Revolute Joint (which sounds like something Marie Antoinette would have enjoyed smoking ) to the boat so it would sway and rock ( think of it like a balanced set of scales, items bounce onto it, it rocks then corrects itself slightly – the more items you add, the more it tips ) and was really happy with the result.

From a gameplay standpoint, it continues to evolve – I’m not entirely sold on purely just stacking a high tower – I think I may come up with level based objectives ( eg stack 20 blocks in the boat in 60 seconds ) and perhaps add some obstacles in the air to avoid. So often in our minds, we think a concept will work, only to find on paper it’s just not that fun.

More on this tomorrow anyway. Thanks for reading and feel free to leave a comment!

Cheers Oliver

 

By | 2014-01-16T04:14:11+00:00 January 15th, 2014|GameDev Blog|

About the Author: