Postmortem… The Last Robot Standing

Let me start saying that this is my second LD (previous one was LD17). Before entering to LD20 I watched the keynote and I “almost” cried: It’s great to be part of this.

So let’s start the postmortem of The Last Robot Standing…

Before knowing the theme

I wanted to make an isometric game like the ones I played when I was a child. I still remember the day when I played Knight Lore a game made by Ultimate (aka Rare) in 1984 for the Sinclair ZX Spectrum game.. it was the first “3D” game I had played and the graphics and gameplay were incredible.

 

The name of the game engine of Knight Lore was Filmation. So my goal was to make a Filmation engine-like game for LD20.

More information here:

http://en.wikipedia.org/wiki/Knight_Lore

http://en.wikipedia.org/wiki/Filmation_engine

 

My reaction to the theme

At the begginning I didn’t like the theme. I remembered I vote against it. But majority rules :)

It was hard to think about a game that was original and my first take was to refuse to use the “take this” part of the theme as part of the gameplay.. I wanted to use it for fun only instead of getting an object like a gun or something like that. That proved to be very hard 😉

 

Tools

I used:

Coding: Game Maker 8.1

Graphics: Paint.net

Music: ChordPulse + GXSCC

Audio: Audacity (I recorded my own voice for “sfx”)

 

Game development blog

The first day I was working on the engine. I wanted to have a map made of 8×8 isometric rooms, with two height levels made of fixed and movable objects.

I started with a basic 2D map and gameplay:

 

Then I changed the “draw” methods to make it isometric, I had already experimented with isometric graphics so it wasn’t too hard.

 

I added then movable objects using the chapter “Pushing boxes” in the book “The Game Maker’s Companion: Game Development: The Journey Continues”

Then I added jumps to the main character and movable boxes stopped working. Also, calculating depht was very hard and it was more like a trial-and-error solution rather than a bullet-proof algorithm.

It took hour to realize the movable objects weren’t solid objects so that was the reason I coudn’t jump over movable objects.

After that I implemented enemies. Enemies were very simple, they have an initial direction and speed and an arm rule (left or right). If they collide they use the arm rule to find a new direction.

After implemented enemies, I broke the movable objects code again :( I came up with terrible hacks to solve it 😉

I changed to a B&W (actually 4 colors) look and feel, and I added a B&W TV “filter” (actually it’s a transparent sprite). That was the end of day one:

So starting the second day, I had a pretty decent engine but not a theme-related gameplay.

Eventually, like 6 hours before deadline, I decided that the object was going to be a music or mp3 player that the hero would use to listen to music during the game.

In a couple of hours I put together four “songs” using ChordPulse (a relatively unkown “band-in-a-box”-like application) and then I saved the songs as MIDI files and gave them a 8-bit treatment using GXSCC.

A couple of hours before deadline I decided to use the movable blocks to push enemies against mortal blocks (spikes). It was hard to make the enemies instances to remember that they were killed when entering again to the same room, but I could solve it.

One hour before deadline I came up with an idea for the game ending…. so the game now had a story :)

What went right

The tools: I have become very proficient in Game Maker. It is simple to use. Now with version 8.1 it was easier to edit rooms. For the graphic style Paint.net was great and for music…

The music: I really love ChordPulse and GXSCC. I could put together 5 songs that I’m very proud of. The songs are not great compositions but I think they are simple and add value to the game. This is the “final battle” tune (it’s simple but I really like it):

Final Battle song

The engine: I can’t believe I actually wrote a filmation-like engine… I wish it was 1984 and I would have been rich 😉 Of course the engine is super simple, but I think it’s a good start

The gameplay: I really liked the gameplay.

What went wrong.

The music: I really would have liked to have more time to compose more and better songs.
The graphics: I’m not very good at graphics, I’m mainly a programmer so my graphics are very blocky and geometric
Few game elements: the hero, fixed blocks, movable blocks, mortal blocks and one type of enemy.. but I couldn’t do more in 48 hours
Few rooms – small map… again I couln’t do more in 48 hours.

Conclusions

I really liked this LD, I’m proud of finishing a game in 48 hours and I will continue working in my isometric engine.

I hope you enjoy playing the game as much as I enjoyed making it.

My entry

A gameplay video in spanish

Good luck to all participants

Tags: postmortem