Make Tetrominoes! Postmortem

Posted by (twitter: @crowbeak)
December 23rd, 2013 6:05 am

Make Tetrominoes! screenshot

This was my fourth LD (in a row!), and I’m really quite satisfied with how things went, overall. My game, Make Tetrominoes!, doesn’t fit the theme all that well, it really needs some balancing, and due to other areas of my life being busy I was unable to get away from the JavaScript library/engine I used last time, which doesn’t play well with Firefox and necessitates a soundless version. However, the game has been well received, it’s colorblind-friendly, it’s playable in a mobile browser (which wasn’t true of the last game I made with enchant.js), it’s pretty easy to figure out without reading anything even though I didn’t get a tutorial in like I wanted to, and since I’m a better coder now, I can easily extend the game — it will be easy to balance what I have and I believe it won’t take an inordinate amount of work to make the game playable by blind people.

In general, it’s clear to me that my coding skills have improved since last time. 😀 So now for a breakdown, bullet list style.

What went right

  • Make Tetrominoes! was designed with accessibility in mind. Making it vision-impaired friendly wasn’t in the cards for the compo version, but the colorblind and the hearing-impaired can play the game without issue.
  • I took a systematic program design MOOC between LDs 27 and 28, and by using the methodology learned in it was able to program efficiently and with a minimum of bugs. It was ridiculous how much stress I eliminated by using systematic program design.
  • It uses mouse controls instead of keyboard, and enchant.js treats them as the same thing, so it’s playable on mobile this time. 😀
  • In LD 27, I learned that even though pretty code doesn’t matter too much in a game jam, sometimes you do need to refactor so that you have a clue what your code is doing. I remembered that lesson well and refactored at a critical point. I’m sure it saved me lots of heartache
  • Greater familiarity with Javascript made it very easy to leverage prototyping to my advantage.
  • I wrote the code with future extensions in mind. Not just for adding accessibility, but for things like changing the board size and number of colors of pieces and enabling 5-block tetrominoes as an option.

What went not-so-right

Make Tetrominoes! prototype graphics

  • Although the game was designed with colorblindness in mind, my prototype graphics weren’t colorblind friendly. I was uploading builds for people to dink around with, and it turns out one of my friends is colorblind and couldn’t play until the final version of the game. Oops!
  • There was a lot of time spent not coding. I had a Skype call from my best friend shortly after I started coding. This lasted a few hours and did horrible things to my ability to concentrate on code, but he and I are separated by a distance of about a third of the Earth’s circumference, so I am okay with that. It was good to talk to him, but not so good for game progress. And I spent a lot of time cooking. I may have gotten a bit too gung-ho about eating well during Ludum Dare.
  • This is kinda a subpoint of point two, there, but I did not get a tutorial in like I wanted to. :(
  • I really like enchant.js, but the fact that having sound files in the game keeps it from even loading in Firefox is a problem. I need to learn a new engine/library before April.
  • I’ve refactored and cleaned up the code quite a bit since submitting my game (and fixed a bug), but I still haven’t really documented things. That might come back to bite me in the rear later.

Tags: ,

One Response to “Make Tetrominoes! Postmortem”

  1. laaph says:

    What class was it when you say “a systematic program design MOOC”? I am always interested in taking them and if they helped you that much (and my boggy code was interfering with finishing my game, so if you gave me the title, I’d see if they are doing it again.


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]