Why it's good to take a break
A few weeks ago, I wrote a note in my diary. "No more games. I am not writing another. I will find something else to do that is more suited to what I can actually achieve." In short, I didn't feel that I was making enough progress with the game I was writing, and most importantly, I was no longer enjoying writing it. So, I found myself something else to do in my spare time, and promptly went off and played lots of Borderlands 2, a bit of Skyrim, and I took Coursera's Pattern Oriented Software Architectures course. The course turned out to be excellent and I enjoyed it immensely. Then, when the course was nearing completion, I started looking for other courses, but couldn't find anything of interest. But I just didn't want to return to writing my game as it just wasn't fun to do any more.Ludum Dare to the rescue
And then along came Ludum Dare 26 with a theme that appealed to me. "Minimalism. But what to write?"
"Maybe. But it needs two players. What if it was Paper Breakout?"
"How are you going to do the explosions?"
"Lego Breakout?"
"No."
"1970s Breakout, with chunky white rasters and a scanline effect ... wait, ASCII Breakout! I like ASCII games like Rogue and NetHack..."
At that point the idea popped into my head and RogueOut, the unholy offspring of Rogue and Breakout, was born.
The obligatory Ludum Dare post mortem
What went right?
The theme. Clearly the theme struck a chord, as the idea popped into my head about five minutes after sitting at the keyboard. That doesn't happen very often. Sometimes it has taken me until around 9pm on Saturday evening to think of an idea, so hitting the ground running with a good idea at around 11am bought a lot of time.I could visualize the end result. To get an idea of what it should look like, I first created a mock-up. Normally this is an effort for me, as I can't draw, but ... I can do ASCII. I speak it. So I drew a picture in ASCII and printed on the screen, then took a screenshot so that I could have a look to aim for. This made the game seem real, because what was in my head translated onto the screen.

I wrote things down. This is something I do at work all the time, yet for my personal projects it doesn't always seem to happen. However, I am pleased to say that I took my wife's advice and wrote things down.
The trick is to write down features as if they are fact, without going into the technicalities of how they might actually be implemented. Implementation details are not tasks. The point of writing something down is that you end up with a finite list of things to do, and when that list has nothing else on it then you're finished. It's particularly important for Ludum Dare as there are only 48 hours in a weekend and I like to spend at least 12 of them sleeping.
Here's a sample:
- The bat moves under the player's control, clamping to the left and right walls.
- The top row is reserved for messages.
- The bottom row is reserved for the score.
- The ball moves around the screen, bouncing off walls.
- The player is shown their score on a tombstone when they die.
I knew all my tools. Eclipse. Java. libgdx. Audacity. All familiar. All installed and set up. No learning curve to climb. I might not like some of them (Java, I'm looking at you) but I know how to use them.
The game was easy to implement in the timescales. Let's see. Graphics. None. They're text. Sound effects? That's me yelling into a microphone with a bit of echo added by Audacity. Title screen? It's a 5x7 font made up of ASCII characters. Death screen? It's an ASCII tombstone. Done. Done. Done.
No comments:
Post a Comment