The Cycle
Left Image
Senior Thesis

Computer Science Senior Project

In my second to last semester at college, I had my Computer Science Senior Seminar class. As a part of the course, we took part in a semester long project. For mine, I decided to create a metroidvania adventure game that took inspiration from one of the first projects I ever made. My goal was to further my skills as game developer and create a full game from nothing. If you are interested in playing it, feel free to download it here!

A lot of my journey, thought process, and issues are talked about in the paper below. I'll fill in some missing information here though. Let me preface this by saying that life caught up to me during that semester and it was difficult to find the time to properly give to this game. I loved working on it and seeing its growth, but it was difficult to justify spending time on it when so much more was due earlier. A good amount (like probably at least half) of the work went into it in the final week of the semester (and around 80% of that in the last three days). Because of this, I didn't reach many of my goals that I had set out to do, such as creating a majority of the assets myself or creating an adaptable AI for the enemies and NPCs. Regardless, the effort that went into this and the product that came out are something I am proud of.

One of the things I wanted to touch more on in the paper but couldn't find the time to was the amount of illusion that goes into game development. There is a section titled "Lies, Lies, and More Lies" that speaks on this, but some other instances that didn't make it into the paper is how the water is just a plane with a texture on top but I had a problem with the fact that planes are only visible on one side. Best solution was to just make a second water plane and flip it upside down. This isn't about my game, but my favorite instance of this comes from Outer Wilds (best game ever, go play it). It's a game about a solar system traveler on a journey of exploration with an incredible physics system and the hardest to control ship (all good things) but apparently they had issues with moving the player around in the beginning with I believe collisions and glitches and all sorts of problems and so their solution was instead of moving the player character forward when the player presses forward, the developers instead have the entire solar system, besides the player character, move in the opposite direction.

In the beginning of those last three days, I wrote every single thing that I felt like I had to implement into the game before it would feel complete. There were two full pages of bullet points of things to do. Some were simple like "fix this UI error" while others were just "make NPC AI better" and over those three days I would tackle problem after problem, adding on more and more as errors would pop up. It was hell and it was exhilarating. I would wake up at around 9am and work on it until around 5am. It was a blast seeing how fast I could work through problems and add features and change things to make the game more exciting or look better and it was awful when one minor thing would take up hours of my time (looking at you, sound effects). In the end though, with literally no time to spare I got almost everything I wanted to add. With only 30 minutes I managed to record gameplay (found down below), make my presentation, shower, and sprint to the lecture room for our final period.

Unable to Display PDF file. Download instead

Heres a quick video that displays some of the important aspects of the game! If you are interested in playing it, feel free to download it here!

chem Image