Join us on Twitter and IRC (#ludumdare on Afternet.org) for the Theme Announcement!

Thanks everyone for coming out! For the next 3 weeks, we’ll be Playing and Rating the games you created.You NEED ratings to get a score at the end. Play and Rate games to help others find your game.We’ll be announcing Ludum Dare 36’s August date alongside the results.

New Server: Welcome to the New (less expensive) Server! Find any problems? Report them here.

About brianshaler

Entries

brianshaler's Trophies

brianshaler's Archive

I’m adding a couple of things to the post-compo version of Pico Planets, mostly driven by the feedback I have gotten on my submission so far. Top two critiques have been: 1.) a way to reset if you drift off into space (v1.1, available at picoplanets.com/latest/ now kills you off quickly if you’re drifting away); and 2.) more levels.

Making good levels is tricky. When you’re typing in planet coordinates and radii by hand, it’s hard to tell how it will turn out until you test it. That process takes far too long. Instead, I figured I should build a simple graphical level editor.

Right now, you can add, move, and resize planets and suns. You can also move and resize the goal planet and change the player’s starting position. The result is a JSON string outputted in a text field below the editor. Unfortunately, the game currently does not accept this kind of input. So, the next step will be to update the game app to make the levels dynamic, rather than hard-coded like they are now.

The blue ring highlights the selected planet, and the little dot is the resizing handle. You can drag the stage around in case you want to lay out a large level.

Just like everyone else, there’s a lot I would have liked to add to the game, but simply didn’t have time. Ultimately, I’m really pleased with how far I got in the time allotted. I think the biggest missing piece is the lack of sound, but I would honestly rather add optional stuff, like power-ups (like additional oxygen) or more hazards (like orbiting satellites). More levels would be cool, and a tutorial at the beginning would probably help. It would probably also be smart to detect that a player is drifting off into space and let them start over quickly, instead of waiting for their oxygen to run out.

But ultimately, I made a simple game that works and is fun. It’s also fresh and different, albeit a little discombobulating..

Using Processing.js, <canvas>, and a custom typeface was a recipe for frustration. I ended up not using any of the built-in Processing.js font functionality, instead referencing the <canvas> element itself and using @font-face

To keep the game mechanics as simple as possible, I decided to focus on the puzzle aspect of getting around a solar system without any thrusters (jump and see where gravity takes you!). To make it more interesting and challenging, I added a timer—a limited oxygen supply. So, in addition to getting burnt to a crisp by the sun, you can now suffocate! Yeah!

I had to make some compromises on how to draw stars. I needed a way to have the background rotate with the rest of the scene, but that creates some issues when thinking about how to scroll and Javascript performance. Ultimately, I decided scrolling wouldn’t be required, so the background is rendered once and then rotated.

Fortunately, jumping around on planets wouldn’t really change your perspective of the stars, so leaving them static kind of works. It would’ve been great to have the stars scroll, as it would make movement more evident and add more depth to the scene. It would also make it feel like you’re watching from a distance, as the stars wouldn’t be moving, only your viewport.

Here, our brave hero is lost in space after jumping just a little too high:

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).