Final Project: 42

The Concept: Why and How

For my final project, I wanted to create a game that would combine Processing’s visual capabilities with Arduino’s hardware ones. As an enthusiast of RPGs (role-playing games), I decided that I would attempt to make one. In doing so, I would have to make sure that it includes some of the defining features of choose-your-own-adventure/RP games: an open world where you have the ability to make choices for your character, a sense of randomness, multiple possible outcomes (a few of which are positive), non-linear storylines, etc.

At first, I wanted to incorporate these features into my game by making it a text adventure combined with photos, videos, and a storyline, however that proved to be taxing because I would have had to include at least 27 different scenarios in my code which I wouldn’t even be able to randomize because of how I had specific media in mind for each chapter of the game.

I decided that I would make a 2D RPG modelled on games like Pokemon, which shaped my childhood. I would incorporate Arduino into the project by means of a controller modelled on the DualShock, though a simpler version with Up-Down-Left-Right buttons and vibration-feedback (by attaching two off-balance motors to the inside and using the Servo sweep code to get them to vibrate). 

The Code 

Coming from a background that involved little coding, the hardest part of the project was writing the code for the game, especially while trying to make the map infinite. However, I was eventually able to code something that resembled the games I intended to model mine on. 

What I Changed and What I Would Change

Whilst working on the Arduino controller and testing it out, it dawned upon me that the use of the buttons as controls was inefficient as it meant that, for example, whilst trying to “attack an enemy”, one button would have to serve multiple purposes which just isn’t possible. The vibrating-feedback aspect of it worked out perfectly but since the buttons didn’t and they were a key feature of the controller, I was forced to scrap it at the last moment. If I had the chance to redo the project or improve upon it, I would aim to create a wearable with vibrating-feedback instead of an entire controller so that the same experience can be obtained in a much more effective setting. 

After testing my game out with my friends, I was told that while it retained many of the elements of games like Pokemon, the fact that it lacked a proper storyline or an end-goal made it tiresome to play, which I agreed with. In order to remedy this, I inserted a funny video that would play only if the player reached a certain level, however, I seemed to have made the game to difficult because neither I nor anybody else was able to get there. An improvement would be to add a text-based storyline to each part of the game as well as “rewards” at each level so that it becomes more interactive, less tiresome, and the surprise element is retained.

Final Thoughts

I called the game “42” because in my favourite book The Hitchhiker’s Guide to the Galaxy, the number is the “ultimate answer to life, the universe, and everything” and a mystery at the same time. One of the main elements I knew I wanted my game to have is that of surprise, whether in the form of an unusual storyline in a text adventure game or a lack of an objective in the RPG I ended up making. However, it now dawns upon me that not everyone appreciates not knowing what is to come or when it’s coming while playing a game that, from all of its other aspects, seems like a typical 2D RPG. During future game-making, I will be sure to think about how a game can be surprising but not frustrating, which I felt was a big drawback to mine. 

Leave a Reply

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