Main » 2013 » December » 31 » Cooking with Balon Greyjoy

3:20 PM
Cooking with Balon Greyjoy

Ah yeah.
This is something I've had in my head for a while now. But since I didn't know any common physics engines, it would always take too much time to be created in a single minijam. So in the past months, the day before every minijam I'd learn a little about Box2d, a small physics engine that also got ported to Haxe. And about two to three weeks ago I decided to put it all together and finish up the project.

It's not so much a game as it is a toy, but I've often appreciated the simple glee of intentionally clumsy physics games like: qwop, surgeon simulator, crayon physics, minotaur china shop, totem destroyer or the magnificent enviro-bear 2000.

There was little 'upfront' design on the game as it's pretty much directly what was in my head. I removed the idea of coring apples with a spear and made food properties a little more nuanced. At the start I thought I had to drop the idea of the player shouting at the character but microphone support turned out ok. Unfortunately that only works in the flash version and it was a bit nasty to get to work.
From the 'design doc' below you can clearly see the design part making way for debugging physics issues. Working with Box2d easily took up most of my time but that's to be expected with a game like this I guess.

Creation process


To get the physics done I started off looking at basic tutorials, re-creating peggle and such, but that wasn't really getting anywhere useful. I wanted something I could use so I just started making the game and tried implementing the gameplay mechanics, and the physics stuff that was needed for it. Turns out that's not so easy because of limitations. Box2d does not do softbodies for instance. In plain english that means no deformation which is a huge drawback in my opinion. There is a workaround though, by basically creating bodies out of joints but I thought it was too much work and did only visual deformation.
Splitting objects is also a lot more involved than it has to be, you have to figure out the points you want to split an object at, determine the points on either side of the line through those points and then create new polygons from the old shape and the intersections. Box2d also only handles convex polygons, though it's easy to add multiple polygons to a body. But if you go that route, it will add another layer of indirection to actions like splitting or deforming bodies.
There were also a couple of smaller issues that simply didn't occur to me to keep in mind like rounding errors. And it's also way slower than I expected, but that may very well be because I haven't spent much thought on optimizing. All in all I'm not that happy with Box2d. It probably works fine if you really want to get into it, but I prefer to keep my mind busy on the design side instead of the technical details.


With 'design side' I mean for instance the small details like Balon's eyes. They generally indicate what needs to be done, for instance looking at the food net when starting out, looking at a weapon when a piece of food needs to be processed, or looking at the cauldron when a piece of food is properly prepared. This is actually pretty helpful for the player and it also gives the Balon character a little more personality because it simultaneously looks like he wants something. He desires action from the player and isn't very patient about it, pounding whatever weapon he has on the table.
Combining this with the ability for the player to shout into the microphone to make the character stop being so impatient is a small opportunity to communicate a little with the player. But there's no actual interpretation of the microphone signal, it just registers noise above a certain threshold. The noise works as a trigger.

I think the background music by Kevin MacLeod works especially well in the first few seconds after the intro tune when the player is discovering how to grab food and chop it to pieces. The rythm starts to resonate with the scene when there are a lot of food pieces falling all over the place. It's definitely not in line with the general serious game of thrones mood though.
The foley I created myself mostly by butchering a cucumber.

In hindsight I wonder if it would have been more comical to remove the net and have the food be launched at the table somehow to create more of a chaos. On the other hand, that would probably make the eye thing less effective. It's kind of a hard trade-off since I wanted there to be some sense of an ...antagonist that you can interact with, but I also wanted it to be comical. I'm not entirely sure what would have worked best, or if it has to be a trade-off at all.
A good and easy addition would probably be to integrate the canned applause into the rest of the game. So that it would work more as a cooking show parody, except from the intro, the game doesn't really have much to do with that.

The haxe source code with project and some assets is here.
And you can try out the game over here.
Category: Experiments | Views: 9239 | Added by: Garfunkel
Total comments: 1
Another test from mobile

Only registered users can add comments.
[ Sign Up | Login ]
«  December 2013  »

External sites:
Gamasutra profile
Youtube channel
Facebook page
Twitter page

Contact me: (English, Deutsch, Nederlands)
Your name *:
Your e-mail address*:
Message subject:
Message text *:
Security code *: