BlockCrasher Postmortem


BlockCrasher 1.3.0
Postmortem - 2019/12/01

I'm PlainCrown, the creator of BlockCrasher, which is the first game I have ever made. Now that I have finished this project, it's time to take a look at everything that happened along the way.

Production:

I started working on BlockCrasher on June 11, 2019. However, it wasn't called BlockCrasher for quite a while. Because it was my first game development project, I just planned to make an incredibly simple breakout clone. Initially, adding more than one level, polishing the game, and publishing it for others to play wasn't even on my mind. So I named the game Breakout, which stuck around until my 1.0 release.

As I created the rudimentary paddle, ball, and blocks, ideas for new features and additions kept filling my mind. Before I knew it, the game was three times more complex than I planned at first. I thought that I would ditch the game and start working on something new once I knew that I can recreate the basic breakout mechanics, but I had already invested too much time to drop the project into the recycle bin. So I kept working on the game and, after plenty of mishaps (pictured below), released Breakout 1.0 on June 18, 2019.


I decided to share the project on a few game distribution platforms and social media, where it was surprisingly well received. Many developers seemed to relate to the challenging journey of creating the first project and offered some suggestions for improving the game. But I had already spent more time on the project than I planned to, and decided to move on to something new.

After creating two more clones—snake and tetris—I looked back at my first project and remembered the suggestions left by other developers. I had learned a lot about recreating the base mechanics of games like breakout, snake, and tetris. However, when it came to making games feel user-friendly, polished, and generally enjoyable, I was still completely clueless.

That's when I returned to Breakout on October 4, 2019, with the intention to make the game feel more complete. I started with the game's name, renaming it to BlockCrasher, and followed by implementing some of the suggestions, such as power-ups. A few suggestions didn't work out as well as others. Replacing the other two walls with paddles, for example, made the game way too challenging.


It took almost an entire month for my slow, procrastinating self to implement all of the planned changes and new features, but I finally published the finished project on November 24, 2019. While the game is still fairly basic, all of its features are clean, smooth, and hopefully bug-free.

What went right:

  • Game idea. Basing my game on a simple and well-known concept allowed me to focus on implementing existing game mechanics rather than inventing something unique of my own. The result isn't as novel or exciting as a brand new game idea, but it significantly sped up the development progress and allowed me to learn a lot without over-complicating things.
  • Quality. Because BlockCrasher doesn't have a lot of complex mechanics, bugs were fairly easy to find and fix. While it's far from a flawless game, all of the major and most of the minor edge-case issues were dealt with.
  • "Marketing" if one can call it that. Regular posts on social media led to more views and downloads than my initially expected number of zero. I'm pleasantly surprised that someone is still willing to download a breakout clone in 2019.

What went wrong:

  • Preparation for further development. I didn't think I would add power-ups, not to mention 30 levels and a level-select menu. So I didn't create a flexible enough foundation to support some of the features that I decided to add later. That led to bugs and some poorly written code which could have been avoided with some forethought.
  • Level design. Although I'm satisfied with many of my levels, by choosing to make all of the levels perfectly symmetrical, many opportunities for unique and interesting level design were passed up. As a result, some of the levels look too similar to each other.
  • Time. I wasted a lot of time by being overly perfectionistic with small and relatively unimportant details, some of which were removed or replaced at a later point or didn't even influence the game itself in any way.
  • Avoidable bugs. I frequently failed to realize how a small change to one object can influence other objects around it. Small and seemingly safe adjustments created many predictable bugs that I failed to account for ahead of time.


Conclusion:

Creating BlockCrasher has been a fantastic learning experience. Everything I added to the game and everything BlockCrasher related that I did outside of it, including this postmortem, is a first for me. Things that I thought I might never learn have become far less intimidating thanks to this project and I'm excited to add similar improvements to my snake clone next. Thanks for reading.

Get BlockCrasher

Leave a comment

Log in with itch.io to leave a comment.