My seventh successful (and fourth consecutive) Ludum Dare entry, CRUNCH!!! An Interplanetary Meal Trip, has been out in the wild for a little over a day now and all the feedback I’ve gotten so far has been highly positive. For whatever it’s worth, CRUNCH!!! is the first time since Five Floors, Two Worlds back in LD30 I feel like I’ve gotten a complete game out the door – in fact, it might be the most complete-feeling game I’ve ever done.

It didn’t take me long after the theme announcement to decide on “ravenous space monster on the rampage.” At this early stage in development I called the game “Space Cruncher” (my work folder even used this name all the way up until I was ready to release it); the tadpole-like “space citizens” (or just “critters” as I ended up calling them) were firmly a part of my design at this point, but the project didn’t really take off until I started implementing the procedurally generated planets. At first I wanted to use trapezoid-shaped segments which I could put together into solid planet shapes, but when I couldn’t get the mesh-deformed sprites and the collision boxes to line up, I settled for square ones instead. The exact geometric arrangement of the planets was something of a lucky accident: originally they used multiples of four blocks per layer, but I wasn’t happy with the end result, so I bumped it up to six, as seen in the finished version. When I saw how the planets looked after that, I realized using multiples of six to approximate a circular shape should have been obvious in retrospect. ^_^;

Before this point, I’d already considered the fact that CRUNCH!!! was basically Squeeps, my LD26 entry, with its “helpless critter fleeing from implacable monsters” dynamic flipped on its head. The planets brought to mind something older than that, though: my early prototype idea for Corebound, my first-ever LD entry, which involved digging your way out of planets made of bricks arranged in hexagon patterns (hence the title, originally meant to suggest stuck in a planet’s core rather than headed there). Also like Squeeps, most of the game’s sound effects were made using Audacity and my own voice: Bfxr was brought in for the zaps, chomps, and explosions (with a bit more post-processing in Audacity than I’ve previously bothered with), but the critters’ yelps, the monster’s snarls and roars, and yes, the Space Police’s ineffectual calls for you to stand down are all my own voicework. (The Space Police is probably the closest to my regular voice I’ve ever put in a project so far – all I did was speed it up and add an echo.)

CRUNCH!!! was also, purely by accident, an experiment in graphical style: it’s my first Ludum Dare entry to render at 640×480, but not a single one of the game’s sprites was actually drawn with that resolution in mind: the end result is blocky sprites with smooth scaling and rotation (an effect I’ll admit I’ve deliberately avoided in previous entries for the sake of “authenticity”). And while the monster, the critters, and the Space Police all render at the same 2x display scale, the planets don’t: this was a holdover from the original plan to have planets in multiple scales, but I ended up using a 4x scale for all of them (tinier planets were harder to maneuver through). I think the blockier, chunkier style nicely conveys a sense of hugeness, though I’ll admit the planet cores do clash a bit with the rest of the game’s aesthetics. The rounded square particles, by contrast, were a deliberate choice; I really like the way explosions ended up looking with them. XD

The font was also the product of happenstance: when I was done with my title screen logo, I had a six-pixel-tall space at the bottom of my 32-pixel-tall graphic to wedge in a subtitle, and rather than expand the logo to accommodate a bigger font, I just drew the subtitle in a tiny little 5×4 font. When I realized I still needed an actual font for text, I quickly made one in the same style – legibility suffers a bit on some of the lowercase letters, but I kinda like the retro low-def look of the text. And speaking of title-induced idiosyncrasies, I couldn’t resist going with the three exclamation points on the “GAME OVER!!!” or (my personal favorite) “SYSTEM DEVOURED!!!” messages.

I’ll freely admit to using the entity framework I wrote for S-LAYER, my previous LD Game Jam entry, plus an off-the-shelf camera implementation. I learned my lesson back in One-Floor Dungeon with my disastrous day-eating attempt to roll my own collision detection system: don’t write any code you don’t absolutely have to. I also used the excellent Tactile library to handle controls: I backported it into both One-Floor Dungeon and S-LAYER as a practice exercise, and it nicely fixed an odd controller glitch in both of them.

As for the subtitle…I’ll confess I wasn’t sure “meal trip” was a real turn of phrase until I bothered to Google it after release. It just sounded like a funny, understated way to express the game’s concept. XD

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]