Monday, February 12, 2018

In Retrospect: Breakdown (and 2017)

I started off 2017 with one resolution: design and develop my own game, from start to finish.  After a lot of over-scoped projects and failed attempts at building consistent work habits, I finally finished my first game, Breakdown, on 12/21/2017.  It was much smaller than what I had originally pictured at the start of the year, but it was a complete game nonetheless, and solidified my passion for game design and development.

Breakdown could easily be summed up as the illegitimate child of Pong and Breakout.  There's isn't anything too spectacular or ground-breaking about it's design.  With that in mind, this retrospective post wont really focus much on the game itself, but of the lessons I learned during it's development and the effect it has had on me.  In many ways, the effort I put into getting one game published by the end of the year helped me to develop some healthy work  and creative habits, especially considering that I'm currently developing games as a hobby while I work full-time as an engineer.

Pen & Paper

The most important habit I developed over the last few years was carrying around a notebook for ideas and for free writing.  What became difficult, however, was keeping pen and paper with me at all times.  I wish I could recall what sparked the inspiration for Breakdown, but I remember it came to me during a party at a friend's house.  After the idea stewed in my head for a few minutes, I had to scramble around for something to write it down onto.  My friend had provided me with a pen and a small piece of cardboard - I believe it might have been the top of a Cheeze-It box or something.  The important thing was, I had it down, and it was now sitting in my pocket.

But I didn't only use my notebook for ideas.  I'm a bit embarrassed to admit that my brain had trouble keeping track of certain bits of the game logic, most notably collisions.  Having this visual representation helped keep me on track much more than I expected it would.  In short, when in doubt, draw it out.


You can read a lot online about daily routines that developers picked up in order to keep themselves motivated on their work.  Some people would attempt a minimum of 20 minutes a day on their projects, no matter what task you performed.  Others would look to set up deadlines for each step of their game, keeping lists and dates to push themselves to stay on track.

These are all great practices, but the truth is, there isn't one sure-fire ritual that works for everyone.  I had attempted many of these practices myself over the course of 2017, but between the unpredictable nature of my day-to-day life, and the lack of energy I had after work, none of them proved to be successful.  I eventually read a comment to a post on Reddit, from someone who had been in a similar situation as myself.  The suggestion was to simply wake up an hour earlier in the morning, and dedicate this time to development before getting ready for work.  It turns out that my brain was much more fresh at 5:00 a.m., and there were many mornings where I could go into work with a sense of accomplishment from what I had already managed to complete from my personal projects at home.

The key lesson I learned (maybe still struggling to learn) is the consistency of a ritual. Obviously, a ritual isn't a ritual if you don't do it ritually.  There were several development phases I hit that were less fun then others; that's expected.  But the key thing was that I didn't stop waking up early to work on the game when thing's weren't as fun as they were the week prior.  Some days I made less progress than others, sometimes I wouldn't make progress at all.  But keeping the vision of this completed game in my mind, sharing my progress with others, and keeping the hard deadline of December 31st helped me to stay motivated and see Breakdown through to the end.  

Scope, Cutting Content

This one was a bit harder for me, but it was an important lesson, and one every developer learns at one point or another.  Somewhere down the line, you are going to end up cutting features from your game that you were once certain would be a part of the final product.  There could be a number of reasons for this, but in my case, it was simply a lack of time.  I had originally planned to have features like a leader board, increased speed for paddles as they decreased in size, and more complicated physics overall.  Much of development involved learning new concepts and practices, every new feature becoming another google search, and thus becoming an even greater time sink.  Luckily, it turned out that finishing the game without some of those features not only made the project easier for me to digest as a developer, but even easier so for a player to digest when playing.  

Of course, the beauty of creating games in the internet age is the fact that I can simply add on those features and update the cart.  However, I chose to prioritize a completed game over a feature-rich one that may have never seen the light of day, and I'm more than happy with the result.  With this being "my first game", having some more of those complex systems would have greatly extended the dev time, and I would have no doubt lost interest in the game with the additional walls I could have potentially run into.

Consequently, at the time of writing this, there is a post on Reddit that offers a list of what NOT to have in your first game.  Kind of wish this was around when I had started off...

Get Involved

In January of 2017 I made the decision to skip a class and attend one of the early meetings of the Video Game Development Association.  I walked in late, much to my embarrassment, but after the meeting, I was greeted by the club administration and joined the Design team.  Getting my name in the credits of my first project as "Gameplay Designer" was such a great feeling, and seeing something in the Google Play store that I helped make was an even better one. Even after graduation, I've been continuing to attend meetings and contributing to the games the students put together.

Not Pictured: Me.  Having a full-time job unfortunately meant I would be absent from such gatherings.

The best thing that has come out of this experience, however, was the camaraderie among aspiring developers.  Each of us are consciously aware that we're here to learn, and that allows us to find the potential within ourselves and each other.  I've made several friends since joining this group, and we continue to build great things together even when the semester is over.  It's completely possible to do the solo game-dev thing, but joining a team of like-minded individuals proved to be most beneficial for a developer just starting out.  And, of course, it gives you the experience of working within a team towards a creative vision.

I set out to finish one game by the end of 2017.  Thanks to VGDA, I had the opportunity to work on 3 additional games that were completed and published last year.

Get it Out There!

I don't typically take a lot of pride in my work or accomplishments (just ask any one of my friends or family members).  I'm typically plagued by this idea that whatever I create, whatever idea I come up with, there is always someone out there who did it first, and has done it better than I ever could.  It's a mindset I still fight with from time to time.

Ultimately, your ideas and creations are worth sharing, even if you feel they're not your best work.  Two things can happen: you could receive compliments, which might encourage you to make more or improve, or you could receive criticisms, which, if handled properly, could still encourage you to make more and improve.

Breakdown won't make me any money, and I could probably count the number of people who played it with my fingers.  But someone else played it, and someone else liked it, and that was more than enough for me to keep this hobby up.  As I go into 2018, I'll be actively searching for new things to try and new things to learn.