Blog

Hello! This is my blog! I will use this page to write my thoughts on many various topics that interest me. Topics to be expected are general game development, my research, and reflections from working on my own projects.

1 February 2024

Why I Make Games, Part One

I have played video games all my life. My earliest memories are among the presence of a Nintendo Gamecube, terrified to move on to the next room of Luigi's Mansion or watching my mother speed through the levels of old Sonic games. As I grew older, technology became more sophisticated and I remained hot on the heels of gaming. I had gameboys, the Nintendo Wii, the Playstation 3, Playstation 4, and for each played countless hours into the night. I was in love, and indeed I still am.


Of all the games I had played, the ones which struck my heart with such ferocity were roleplaying games. In RPGs, I found truly the ability to become immersed in a new world. As an introverted teenager, the promise, "live another life in another world" was greatly enticing. I have likely now spent over 2000 hours immersed in the world of The Elder Scrolls, and many hours wandering the wastelands of Fallout or the magical, treacherous world of Dragon Age. This idea that one could live in a world so fantastical had a chokehold on me, and still does. More on that later.


When I entered college, I decided that I would delve into the world of tabletop roleplaying games. While working at a supermarket, I gathered a crew of coworkers who would soon become long friends of mine to assemble an ensemble of adventurers into The Forgotten Realms. What followed were late nights together eating fast food and reveling in the playful personas of our flawed heroes. Here was a world that may not have had the fancy graphics of video games, but was unbounded from the restrictive mechanisms of memory and code and was instead limited only by one's creativity and the dice.


It was not long after the completion of our first dnd campaign that I began to write my own stories. I have always felt the need to create and have done so through various mediums (music, videos, drawing, writing). I loved to write fiction, and by writing with the systems of D&D in mind, I could add a layer of interactivity that I had never really considered possible. With this in mind, I felt inspired to make my worlds and storylines more sophisticated. I wanted more depth and realism. I wanted mystery and ancient evil which lay deep in the world, waiting to conquer and rule only truly opposed by the bravest of them all. I wanted to create a world.


I began to apply my college education to these creative pursuits, creating continental maps for this world of mine. I drew inspiration from the various games that had made driven my passion, but engaged deeply with formal concepts of world building and design. I balanced inspiration with my own passions and developed my ideas further until I had a cohesive whole; a world with its own living things! I used this world as the setting for my D&D adventures, and from this process I learned a very important thing about myself: I really liked making games.

00 month year

Reflecting on Fly2D

Fly2D is one of the very first games I made. It began as a prototype that I built as part of an effort to become more familiar with C# and the Unity scripting API. I was also just learning to program, as the only previous programming experience I had was using Python for a few homework assignments in an astronomy class. After I had completed the initial prototype, I moved on to create an assortment of other prototypes including a tower defense game and a first person shooter. I spent more time with the prototypes and learning C# and Unity's scripting API, but decided I wanted to go back and finalize some of my previous works to gain experience in developing a project from start to finish.


The project made strong use of Unity's rigidbody and collision systems. Objects in the world are given different tags, which are evaluated on collision to determine the behavior resulting from the collision (lose state, win state). The rigidbody component is leveraged for Fly2D's primary gamelay mechanic. Force is added upon user input to create player movement that is challenging to control, but consistent and easy to learn. I also made use of Unity's scene management system to create 9 distinct levels which gradually increase in difficulty to create an engaging and driven experience.


After version 1 of the project was released, I felt that the game could use a little bit of extra challenge to allow the game more replayability. This is when I began working on the game's user interface. I began by displaying the current level so that players knew where they were in the overall progression of the game. I also had the idea to add a timer and death counter, but this took me longer to implement than expected. In the end, I figured these features out and implemented them to create an experience that was much more replayable than the original version of the game which lacked these features.


Overall, I enjoyed developing Fly2D! Fleshing out this old prototype into a more cohesive project allowed me to practice level design skills and new programming methods which expanded my knowledge in C# and object oriented programming. It also exposed me to some of the incredible applications of math in game development, and inspired me to learn more about 3D math! I am excited to continue as a game developer! :>

11 February 2024