Gravity Assist – My Ludum Dare 28 game

Gravity Assist is a game I made for the Ludum Dare 28 competition, my first game jam. If you’re not familiar with LD48 or game jams in general, the idea is to create something in 48 hours[1]. You can play (and vote on!) the game here, in-browser or as a standalone[2].

Gravity Assist

Gravity Assist

Inspired partly by my day job (accelerator physics), you launch a “particle” angry birds style, choosing your power and trajectory to navigate between various force fields and objects. Primarily these fields are gravitational, causing the particle to curve and loop. Getting close to them scores you more points, but instant death on contact. You can instantly retry though with space, and all your previous tracks are shown to help you and make things pretty.

LD48 is a global event; in Manchester an event was hosted at the excellent MadLab in the Northern Quarter. It’s a great hackerspace, with community-organised activities ranging from game development to film-making to taxidermy[3]. It was nice to be in a space around a bunch of other people developing at the same break-neck (some might say reckless) speed. Comparing ideas, testing each others’ games and offering general advice is pretty rewarding in both directions, and it’s a great way to meet more people, and get together with those I already knew. Shout-outs to @phi6@sudorossy, @autotwitch, @clawhammermark@alexvscoding, @chrismcr@MCRGameJam, @MadLabUK and probably others I’ve forgotten…

Development

For something made in 48 hours, I think it’s pretty good. Especially for my first attempt – I wasn’t even particularly expecting to finish anything and would have been happy just to go along and have fun. I’ve written a postmortem on the LD blog.

The concept is surprisingly fertile – I implemented a bunch of powerups/obstacles/etc and have ideas for many more. The basic elements are the attractors and the endzone. While players do not have to hit the endzone, it gives a significant points boost so gives a goal without constraining exploration. The attractors are simple but give reasonably deep gameplay just on their own[4] by allowing players to plot many courses through each level. Another core concept is fast resetting, a la Hotline Miami or Super Meat Boy (two of my favourite games in recent memory). This allows players to try loads of things out without penalty, emphasising experimentation and iteration over trying to get it perfect first time. This is also encouraged by the trails left by each try (again, somewhat like Super Meat Boy, although during play itself rather than an immensely cool replay feature) both in guiding your next attempt and looking nice. In fact, you can even shift your goal to making something pretty rather than scoring.

Other elements include repulsors (which are attractors with a minus sign and a pallette swap), speed boosters and fixed-score plates. Among the additional ideas for elements are moving/rotating objects, decelerators, things you could bounce off, switches which activate/deactivate things… it’s limitless, really. UPDATE: I’ve had some nice ideas from commenters on my LD page, including having an attractor which splits into more attractors when hit! Thanks to hate-marina for that!

Unity made it relatively easy (or indeed possible at all) to do all of this. My familiarity with the physics code helped enormously, but it was also interesting to essentially hack something together without thinking about optimisation, modularity, reusability, hierarchies and framework… just smashing code together until it worked! The graphics were a snap, again thanks to Unity (and Blender, which makes simple procedural generation stupid easy if you know anything about it).

This is the first time I’ve really concentrated on level design. The first day was largely spent on the code and graphics, and the second day largely on level design along with sound[5]. Being able to focus on content as well as code for once was nice, and gives a different perspective on things. I actually didn’t expect to be able to do so, but the code came together pretty well in the time I set for it.

Sound was created with CFXR (the OSX port of SFXR), an 8-bit procedural sound effect generator which is super mega excellent. Much lo-fi, very wow[6]. Audio was critiqued by my mate Frank, so cheers for that.
Overall, I’m really pleased with it. It’s always great to finish something, and to do so in such a short time frame and produce something which is genuinely fun, looks pretty good and has a lot of potential is delicious cake-icing.

Other People’s Games

Play these, and again, if possible, rate.
Pilot’s Last Stand – by @phi6
Titan Souls – by @autotwitch
No Choice – by @sudorossy
Destroy the Core
Bounty Hunting
The One Shot
Abandon Your City
Trip to the Moon

footsnot
[1] Ludum Dare actually has two branches – the 48 hour competition where competitors must complete their work solo, and a more relaxed 72 hour jam which is more focused on groups.
[2] The competition also requires entrants to upload their source, which is nice. So feel free to grab that too! Also also, I’m very impressed with Unity for compiling the web app to a mere 586 kB, especially when the browser plugin itself is all of about 300 kB. No idea how they’ve done that…
[3] Yes, really.
[4] although the physics is a bit hacky, making it more difficult than it should be to, for instance, loop round any significant angle without hitting the centre
[5] Obviously it’s not that clear-cut!
[6] Sorry.
About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: