Kaleidoscope post-mortem

Kaleidoscope the game

I get a lot of positive comments on my game! I like this game more than my previous games. So, how did I manage to make a better game this time?

KISS is for keep in simple and stupid. I read about this principle here a while ago, and this time I was totally going to use it.

Good stuff:

  • Planning. I woke a minute before the LD started, it’s my first time seeing the final countdown. And I started programming about 6 hours later, because I had stuff to do. So, I could take some time to plan my game well.
20141211_202745

Level sketches

  • Game idea. This game is simple, but it’s still fun and original, so I didn’t need to implement big features or draw big artworks or anything.
  • Time. I can’t say that time-management was perfect, but since my game is simple, I spent less time on it than on previous games.
  • Graphics. I’m bad at drawing, but I managed to make good graphics with almost no drawing! Instead, I used a lot of graphic effects and details.

 

So-so:

  • Music. Oh, I can tell you so much about making music for my game! At first I wanted to try out a new tool I found recently, Sonant Live. I composed some music and realized I’m bad at it. Then, I decided use a time-proved tool Abundant Music, which is a music generator. But it has 2 problems. 1: it can only convert into .mid, 2: I guess you have to be a pro at it to make it generate exactly what you want. After some time, I managed to convert the most fitting track into .wav, with this amazing device I invented during one of previous LDs: 20141211_204042

    Super Awesome Sound Wave Generator 20000

    …yes, I just put the microphone between my headphones and ran sound recording. After some tweaking using Audacity, I managed to get good sound quality. So, the first problem is solved. But I couldn’t solve the second one! Abundant Music didn’t generate a track I’d like. So, I went back to Sonant Live and made music with it. It turned out to be pretty good, maybe that’s because I had no other choice.

  • Code. OMG my code. When I wanted to add recoloring floor, I just modified “move walls” function to check if the input entity is a tile. When I wanted to add moving enemies, I just modified “move walls” function to check if the input entity is an enemy. One function does 3 things! And loading level is done by 3 functions, so if I want to find something, I need to look through all of them. Also, I had several nasty bugs those took me a couple of hours to fix.

 

But I learned something:

  • You can make a game that’s both simple and innovative.
  • I’m not a noob at making music, and Abundant Music isn’t a panacea.
  • Graphics isn’t only about drawing.