I heard about Ludum Dare 23 about 4 hours after the theme was chosen. Loved the idea but was doubtful I would participate. I saw a bunch of people still at the drawing board and brainstorming ideas hours after learning of the theme, struggling with the theme of Tiny Worlds. For me, though, inspiration came pretty quickly.
Taking a fairly literal interpretation of the theme, I thought about a game where planets were tiny and you had to jump from one to another. Now, that doesn’t sound too terribly unique and exciting, but the way I envisioned the 2D platformer being rendered could make it fun and interesting.
Which way is down? If you were hopping from planet to planet, each time you would land on a planet, your definition of “down” would change. Essentially, “down” is relative to the character’s orientation, which is relative to the nearest planet.
What if you miss? Imagine if you were actually jumping off a planet—how would you adjust your trajectory in-fight? Unless you had thrusters, you wouldn’t be able to. So, there becomes this inherent risk when jumping from one planet to another. If you miss, you may drift off into space!
While hanging out in IRC, I saw people starting different areas. They were either working on ideas, or sketching things out, or designing actual assets, or working on a soundtrack, or working on code. I jumped straight into code.
Using CoffeeScript and Processing.js, I started putting together a <canvas>-based motion/physics sample. Using circles for planets and a rectangle for the character, I was able to put together a proof of concept. Screenshot:
One of my inspirations for this was actually from Dragon Ball Z Kai, where the main character Goku trains on a tiny planet (similar proportion to above) with massive gravity. To leave the planet, you’d walk to the part of the planet you wanted to jump from and then you would jump straight “up” (away from the center of the planet in the current direction).