From Computer Class to Annie’s Dollhouse

My first ever game was a simple 2D side-scroller about a princess who saves a prince. It was made in a middle school computer class alongside my best friend in a program similar to Stencyl, a game creation software that uses a drag-and-drop style of coding and cute pixelated assets. Our game only ended up with two functionalities – walking around and picking up potions – but it was at that point that the seed was sewn: I wanted to create stories that people could play.

Fast-forward through high school and my first ever Computer Science course, and I started to pursue my first Bachelor’s degree in Digital Technology and Culture where I specialized in digital storytelling and game development. It was in a web development course where I made my first from-scratch game: Annie’s Dollhouse.

A doll's face with text over it that says "now we can play together".
A screenshot of Annie’s Dollhouse.

Annie’s Dollhouse is a riddle-horror game written using JavaScript where users have to choose the correct answers to the riddles…or face the consequences (though, one could argue there is no “good” ending). It is a game that I was (and am still) proud of coming up with, and it ended up being featured in the CMDC Nouspace Student Research Gallery, Exhibit 26, for mixing the two genres. I still display it on my portfolio website for these reasons (it is a fun little game – feel free to play through it!), but that definitely does not mean there is no room for improvement after all these years.

The code as it was originally written was, while functional, not well organized or efficient. It was over 1000 lines of code broken up into three different functions, all of which was made up of nested function calls and a lot of repeat code. The current version (which was last updated in 2019) is broken up in a more logical way…but it still suffers from not following the DRY principal (Don’t Repeat Yourself) as well as hardcoded strings that make it difficult to update without breaking the game. (This is a prime example of why you should always write code that is easy to maintain and change later – something I had not thought much about until pursing a degree in Computer Science.) Someday I would like to go back and overhaul the code, but even as it is, I still love this little game. It’s short and sweet (and a little scary) and it’s a great example of the kind of storytelling I want to continue doing in the future.

After all of this time and now that I have been pursuing a degree in Computer Science, I still love making games. Writing code and creating stories are two of my favorite pastimes – and now that I have more knowledge at my disposal, I finally have the power to make more of my visions a reality! And I am hopeful that, as I go into my final project before graduation, I will come away with yet another great game I can be proud of.