Quinn is a third-person adventure/puzzle game built in the Unity3D game engine for the Michigan State University TC455 course. The player guides Ryan Quinn through an amalgam of different games, collecting the powers of controller and keyboard as they go. In the end, they must battle the evil Creator and force him to release his hold on Game World.
* As a meta- sort of game about our class experiences, Quinn offered the unique challenge of ensuring that the game was accessible to outsiders and ensuring that the team brought something of their own to the content of the game.
* The project began with a very large scope that was cut over time. This project trajectory allowed us to learn a great deal about graceful scope recovery.
* Implementing bomb-blasting platforms allowed me to get practice in translating from abstract physics knowledge to in-game behavior requirements to triggers and scripts.
* I also broadened my experience by implementing features to manage information across multiple levels, as well as by designing and implementing triggered NPC speech
The first seeds of the idea that became Quinn germinated in one word: "Spring". This was the brainstorming concept given to all of the students in the TC455 course, but while some project groups interpreted this as a season of the year or as a mechanical device, Team Bonding thought of something truly audacious: make a game about the spring semester. We immediately loved the idea of making a meta-survey of our experiences in the prior ten weeks of the course, but it presented us with two interesting challenges. First, how to pay homage to the games that we and our classmates had built in prior projects for the course while still providing a game that was coherent and sensible to players outside our course? Second, how to ensure that our game was something original in its own right, rather than simply being a combination of what others had created before? We tackled these problems by crafting the story of a world inhabited by game objects and characters, ruled by a tyrannical creator, and from this we decided how the games that we and our peers had made could naturally fit in to such a story. This allowed us to produce a gameplay progression that felt consistent and natural (even if some of the in-jokes naturally flew over the heads of outsiders), while allowing us space to create original works such as the keyboard that could modify the world and the highly cinematic boss sequence.
Quinn was also powerful exercise in how to recover from an overscoped design. The team started out with a grand vision for the project that included far more than we actually had time to build. Eventually, we realized we simply did not have time to finish everything that we had planned. In many projects, this could well have been the death of a fun experience, simply because the project could have been built around things that would not end up being implemented. However, in the case of Quinn, we chose our cuts carefully to ensure that what was left was already a well-packaged experience. With this in mind, our remaining energies were able to be focused on polishing what we had already built to make a shorter but far more enjoyable game.
Because Quinn was built from the story outward, a large number of mechanics were necessary to ensure that this story was experienced as we envisioned. While many of these features were built as a collaboration between myself and Team Bonding's other programmer, Mark Schwerzler, a few features do stand out as almost entirely my own. My implementation of the bomb-blasting platforms that enable the player to climb a cliff taught me a great deal about how to translate my abstract knowledge of physics to solving in-game problems of kinematics and accurate placement at a target while acknowledging considerations like game lag. Solving this problem helped me add a great deal of polish to the player's trajectory--not simply moving from point A to point B, but doing so in a parabolic arc that felt natural. Additionally, my work on implementing the collectible G.E.L.L.O. letters was my first experience with managing information across multiple levels. Truthfully, my implementation was more complex and less encapsulated than it needed to be, but I am still thankful I made the mistakes I did so that I could learn from them. Finally, I implemented the conversation system that can be seen on a wrecked steam ship and at the base of the aformentioned cliff, which helped me broaden my perspective on how Unity's collider triggering mechanisms can be put to use. Additionally, this work was my first encounter with NPC conversation logic, and thus taught me many of the foundational techniques that I am still using and improving upon in my current projects.
This is a sample of the code from the script that governs the activation of the bomb platforms that allow movement up the glacial cliff, as while as the movement of the player through the air once they are launched.