mail pencil link ellipsis github codepen

Another Year, Another Static Showdown

Now that the second Static Showdown has come to a close and judgment day is upon us, I wanted to look back on the past year and the progress I’ve made as a developer. My first ever hackathon was Static Showdown which coincidentally started the same year. I didn’t know how hackathons worked, nor how I would fare under the pressure of such a short deadline. Luckily, I didn’t do it alone. I entered the competition with a 4-person team consisting of Eric Franklin, Jason Valle, Michael Martin and myself.

We worked our asses off last year and submitted Pirate Badlands. I learned a lot in the process of making that game and for the entire year afterwards. It was kept as a reference that I was able to look at in order to better my code and if I had the opportunity to do it again, the code for that game would be completely different. We used the DOM because none of us were confident enough with canvas to draw anything more than a black rectangle on a white screen. jQuery events powered the game, because we didn’t know how else to do it. Graphics consisted of stock artwork because we weren’t good artists. The levels were mapped out manually because we didn’t have enough confidence to build a random map generator.

With enough time, I think the result could have been better and much more complete. Pirate Badlands only lasted 5 levels and had no repeat potential. When we were planning for this year’s competition, we bounced around a few ideas but ultimately decided that we wanted to make a truly addictive multiplayer game. We looked into our own experiences over the past year and decided that Cookie Clicker had the qualities we were looking for in a game. It was a game that we all played for a substantial amount of time, and some of us even connected to our machines remotely to click cookies (ahem, Michael). We wanted to make our 2015 Static Showdown a tribute to the greatest game in the world.

We knew the goal was an addictive multiplayer game, but we also knew that with such a short timeframe it was going to be tough. Adding to that, we feared a limitation with Firebase when pinging the service as much as 60 times per second, luckily it wasn’t a problem. Our game plan was a layered approach with roles and goals handed out before we started in an attempt to minimize merge conflicts in git (this proved impossible). I was first to get started and got the build process as well as the overall structure laid out before Jason and Michael were able to join after work. Michael focused on all of the Firebase stuff while Jason and I worked on the game and interface. At the end of the first night, we had a single player version of the game completely working.

On the second day, we got 2 player working, more addictive mechanics, and a complete UI. At the end of the day, I actually had to ask what we had left to do, since most of our goals were complete (Firebase still wasn’t updating a leaderboard… ahem, Michael). On the last day of the hackathon we did a lot of “testing” and added sounds, a customizable username, leaderboard, notifications and some fancy animation for power up countdowns. The night before we were cruising, the last day was hectic. We were pushing commits up until 2 minutes before the deadline, we couldn’t minify the JavaScript on the production site it was so close.

With the same JavaScript team and the same overall goal as the previous year (to create a game in 48 hours) we submitted something far more technically advanced and complete. I’m really proud of the work that we did this year and the game is loads of fun. I’m looking forward to next year and another hackathon to see what we can come up with.