UnBoxing: The Documentation

 

Link to play the game

 

Link to the code

 

My game, Unboxing, is a game about escaping never-ending concentric boxes before they completely enclose you. In a way, the game is about life, where problems keep coming one after another and we may choose to confront them head-on or escape them, but they’ll keep accumulating and coming faster anyway until it becomes impossible to evade them.

 

Since we had to use low-graphics, I decided to keep the design of the game just as simple, with simple straight-forward aesthetics (just the box, the square, and the score). I also used an 8-bit style font for the text to match the style, which I downloaded here,  music from the game Final Fantasy VII remixed in 8-bit style by the youtuber coatlesscarl, and other 8-bit sound effects from the Free Music Archive.

 

During the game, I initially wanted to make it so that a box would always slowly appear almost outside of the screen while the smaller one closes in on the player, but I figured that that would be too complicated to implement and would require a lot of memory, which would slow down the game, so I decided instead to just have one box at a time that gets deleted at every iteration and appear again with a hole facing a different way. For the box itself, I created 3 sprites for each one; one is the outer white square, one is the inner blue square, and the last one is the hole rectangle, which is generated at a random direction. At all times, the program checks overlap between the player square and the three box sprites to know whether there is a collision, which was a lot harder to implement than I imagined, but I made it work in the end.

 

I particularly had fun making the death animation, where the player square’s color transitions to red as it slowly fills the entire screen as if exploding. I think that this was particularly important because of the significance of death screens in this kind of endless-beat-the-high-score games, since the player will spend at least 30% of their time there, and there’s no way to avoid them, but I also made them instantly skippable with the spacebar as not to make them annoying.

 

One thing that stood out during playtesting is that there were two kinds of players; those who moved the player square and instantly mastered the game, and those who thought the arrow keys moved the boxes. I tried to make it clearer that the player is supposed to move the little square by adding a blinking caption at the top, and I considered adding more signifiers pointing to the movement of the square rather than the box, but at the end of the day I figured that that wouldn’t match the game’s simple aesthetic, and players of the second kind quickly figured out after a few trials and errors how to play the game correctly, so I didn’t see it necessary to implement a big change. I also realized mid-class presentation that the game got slower rather than faster the more people played it, which I think I fixed by deleting unused sprites which cause a memory leak.

 

My game embraces the fact that it is a computer game with its 8-bit aesthetic, and it works with clearly defined repetitive physics, which are both obvious deliberate choices made by somebody (me) that make it so that it is evident that this is a man-made artifact. Furthermore, while I had the escape-from-your-problems theme in mind, I did not particularly cared about conveying that as much as I did about having a fun playable game that makes you want to play more. What I didn’t have in mind though is that some players reported having a nostalgic feeling thanks to the low graphics and retro sound effects. In this case, they created their own meaning for the game, which gives another symbolic aspect to the artifact-ness of the game.

Leave a Reply

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