Tuesday, December 18, 2012

Goat Mechanic

At the last minute I decided to participate in Ludum Dare 25 (Twitter #LD48 for 48 hour entries). If you are unfamiliar, it is a world-wide game jam - a contiguous chunk of time allocated to developers to create a game given a particular theme. In this case, it was "You are the Villain" and sub-themed with "Goat". Errhh.. probably my least favorite pick from the voting pool.

That's right.. 48 hours.. two days from start to finish. This was my second game jam and just as exhausting as my first experience. It's like if you allocate eight hours to sleep, and five hours for eating and relaxing, you are down to 35 actual hours for development. Let's see.. 35 hours.. In other words, it's equivalent to a full 40 hour work week with one hour lunch breaks on each day, all condensed down into a weekend.

..Ouch is right.

Currently over a thousand entries were submitted, so here is the strange contraption I managed to come up with called Goat Mechanic:




When presented with the theme of "You are the Villain". The kid from the movie The Good Son popped in my head. As we know, that character is almost as villainous as it gets. There was a scene of him throwing something off a bridge into traffic, so that's pretty much the idea I went with. The twist is you work for a mechanic who earns money by accidents that you cause on the roadways.

Friday was spent on the art and getting cars to move around. I resorted to Box2D and it worked out really well. I tried all this complicated math to get the cars to swerve around, but after several iterations the best solution turned out to be the easiest.. Every frame just readjust velocity to be about 90% of the car's facing direction to restrict sideways motion, and get cars to swerve by adjusting angular velocity.

On Saturday I worked on the results and shop clipboards. At this point everything was coming together, so I spent time finishing the art and functionality of the shop items. Oil spills cause cars to lose traction, beach balls bounce around, anvils are very heavy so they stop cars instantly. Basically everything can cause an accident.

On Sunday I realized there was a goat sub-theme, so I shoehorned it in with some narrative, along with an ending and preloader screen. It was submitted with a couple hours on the clock remaining.

Overall, a grand experience and I definitely forward to the next game jam!

No comments: