I am very excited that I was chosen to work on my first-choice project, the 3d escape room challenge. I have zero experience in programming games, and I have never been to an escape room; this quarter is absolutely going to be a learning experience all the way. I wanted to step outside my comfort zone this quarter and do something completely different and this project was my first choice for that reason.
I do enjoy playing games in my very limited free time. I like playing 1st/3rd person action/shooter games and I believe just having those experiences I know what players expect in playing games regarding user interface and features. For example, creating a game that is a challenge but not frustrating is a fine line to walk. As developers we must find ways to gently nudge players in the right direction without them feeling like their hand is being held the entire time. This will be an especially challenging problem given the subject area of the project, escape room. Luckily, there have been many games that have been released where they basically complete the same objective but dress it up so that it is not noticeable at first look. Many of my favorite games, the Tomb Raider series, the Uncharted series, and the Metal Gear series of games are all in 3rd person action-drama genre where you must complete objectives and solve puzzles to progress in the game. You may not be physically locked in a room but rather larger areas that you are restricted to until you meet certain conditions.
In preparation for this project, I began learning the basics of game development this week. I feel that to get a good base of understanding for game development I need to start at the beginning and learn about 2d games and build my way up to the modern 3d games. The self-paced online course offered by Harvard, CS50 Game, is the perfect place to get the fundamentals down. Learning the building blocks and the foundation on which games are built on I feel is important to create a fun and successful game.
This week I learned about remaking classic games in Love2d, a popular 2d game engine. Each game features concepts that modern games still use today such a classes, object-oriented programming, delta-time, timers, sprite sheets, state machines, tweening, and anonymous functions to name a few. Working through the program, you start basic with one of the earliest popular games, Pong and progress through Flappy Bird, Breakout, and eventually make it to 3d games. It is great that these concepts are presented in straightforward 2d games where small changes can be seen as compared to the massive 3d games where a lot is going on at once on the screen.
In my research I found it fascinating that companies such as Limited Run and independent developers are developing and publishing physical new games on retro consoles such as the Atari 2600 and the NES. (https://www.theguardian.com/games/2021/sep/15/kids-raised-in-the-digital-era-are-yearning-for-this-the-people-making-new-games-for-old-consoles) It is amazing that consoles that were released over 30 years ago still can get releases. How awesome is it that we can use modern techniques and tools and play on the original system?
I’m excited to continue learning new technologies and expanding my knowledge into different domains. I’m very fortunate that my teammates have experience in game development, Unity, and visiting escape rooms in real life to help me when necessary.