Builder Bros – TOJam9

Summary:

I led a 48 hour game jam with a team consisting of two others.  Also I helped brainstorm, and brought together 13 people for the event. It was a very rewarding experience. Out of it, my team built Builder Bros., and others built: The Girl and Her Teddy Bears, Boulder Dash (an Orbit Engine derivative work), Lord of Mars.

GMU Attendance:

I watched signups like a hawk, since space was limited to only ~400 people. Ultimately I organized 13 people to go in 3 different teams for GMU. 1) Zack, Dante, Jordan, 2) Alberto, Steve, Ben, Kelvin 3) myself, Sean, Matthew, as well as a one-person team 4) Alex. Incidentally by my discussing it another team formed and attended independently:  5) Iain, David. Another activity I did was make sure brainstorm on the phone for hours potential game ideas other team members would use.

 

Builder Bros. Organizing:

I made this specifications sheet, to limit scope creep so a minimum viable product could be delivered. Peers have commented it was well designed. To be clear though there were some undefined portions, which led to impromptu state flow design on the white board. We only knew the theme was “AFTER YOU” about 1-2 weeks prior. The ethics of this jam say basically you’re welcome to bring any code base to start, but not a finished game. So I used this time to review this video tutorial for 2D Character Controllers in the engine I decided we’d proceed with, Unity of course. But more importantly, I built a basic level editor where blocks could be placed perfectly at integer-rounded values.

 

Our TOJam experience:

TOJam has run for 9 years now, and it’s always great. This being my first real game submission, I am quite proud to have participated and attended. I couldn’t have done level design with Matthew Holzapfel, or the art without Sean Browning. This years games can be found at: http://itch.io/jam/tojam9  My goal here was for me to flex my coding muscles, and I did it with a minimum of sleep.

I set the team goals. I was entirely focused on coding everything. Sean was to rapidly animate a bunch of quickly drawn frames, and Matthew’s objective fluidly adjusted during the jam to crafting a good level design with tons of play testing iterations.

Challenges

 

Two very interesting bugs came out of development, one with colliders, the other with serialization. Given the block system used, it seems obvious a simple 2D Box Collider would be the best choice. However a weird intermittent bug appeared where the character would get stuck on random blocks. The animation would proceed, but he just wouldn’t move randomly. Based on some Googling I determined somehow a series of 2D Box Colliders wasn’t going to work. Instead the base prefab used by all blocks was modified to Edge Colliders. I don’t why exactly but somehow that’s optimized for smooth collisions when put in a row.

Serialziation was something I attempted for the first time here. Eventually I got it working after the jam, but it required a bit of trouble-shooting. I actually coded it entirely perfectly, but one minor mistake made those changes lost immediately upon respawn.  So basically the key mechanic of the game saved the state of modifications to the level. The player could place blocks anywhere, within a limited amount of points. This of course required saving their state, so serialization was used. The key moment where I was loading the saved data representing modified block locations was poorly placed. The level was being reloaded right after the saved data was applied. I’ll have to find the exact functions and come back to this article to update it.

Game

The base premise was a single editable platform level. The theme being of course “AFTER YOU”, to me this naturally translated as a 2 player game.

Glitch & Bug

Due to a glitch with the submission website, Builder Bros isn’t visible on the main site itch.io unfortunately. Also there is a critical bug that renders it unplayable. The moment you die it freezes the browser, I tested this multiple times. The link is here.  You’ve been warned. Don’t play it.

Bugs are the norm in rapid prototyping for jams. I very much should correct this bug. I discovered the cause relating to invalid access to harddrive, I wasn’t thinking about browser sandbox security at the time, and just haven’t prioritized fixing it. However the online submission required a web deployment for Unity builds, so I quickly exported that. Instead I recommend you watch these 30 seconds of recorded gameplay instead.

Credits:

  • Ian Nastajus (me) – I did all the coding.
  • Matthew Holzapfel did all the level design.
  • Sean Browning did all art assets
  • Victor Nguyen reviewed the spec sheet giving feedback, and dropped in for debugging assistance briefly.

Unity tutorials

Live Training 16 Dec 2013 – 2D Character Controllers
Another excellent resource I used was: https://unity3d.com/learn/tutorials/modules

 

All TOJam games are hosted here itch.io/jam/tojam9

Live game hosted here: http://gmu.itch.io/builder-bros

The source code is on GitHub repository here git_sml

Nastajus

About Nastajus

Recommended resources -- Moderate coders benefit from this: http://unitypatterns.com/ -- Intermediate version control: SourceTree -- Beginner version control: Github for Windows or Mac

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>