After completing the first term in the Senior Software Engineering Project, where my group is currently tasked with building an Escape Room Game, I feel I have learned a lot about the early stages of development in video games. As an avid gamer my entire life, I’ve always been intrigued by the beginning stages of a game, the storyboarding, the art, putting it all together to make something fun to play. I’ve learned since then that there is much more to it than sketching all day and writing stories. There is a completely technical side that seems almost invisible to anyone who isn’t digging for it.
The technical side of game design involves creating systems and mechanics that bring our creative vision to life. It’s a delicate balance between the artistic and the logical. During this term, I discovered how essential tools like version control, task management, and development frameworks are to organizing a project of this scale. Our team chose to use Godot as our game engine, and learning to navigate its features, such as its scripting language GDScript and node-based scene system, has been a challenge—but also incredibly rewarding.
One of the most surprising aspects of the process was how much collaboration and iteration were required, even in these early stages. Creating a cohesive vision meant that every member of the team needed to be on the same page, from the gameplay mechanics to the visual style. We spent hours brainstorming puzzle ideas, discussing player flow, and debating how much guidance the player should receive to maintain both challenge and enjoyment. Balancing creative freedom with technical constraints was a constant push and pull.
The technical work wasn’t limited to just the game engine, either. I learned about concepts like collision detection, state machines, and user interface (UI) design, which are fundamental to the functionality and polish of the final product. Designing physics-based puzzles, for example, involved not only conceptualizing the challenge but also implementing the logic behind how objects would interact within the game world. Debugging these mechanics required patience and problem-solving, as small missteps often created unexpected results.
Another key takeaway was how critical planning is in game development. Storyboarding and prototyping became tools for clarifying our ideas and avoiding wasted effort. By creating wireframes for our escape room levels and testing rough versions of puzzles early, we were able to catch design flaws and ensure the game’s flow felt intuitive. This iterative approach highlighted the importance of user testing; what made sense to us as developers didn’t always translate well for players unfamiliar with our design.
Perhaps the most profound lesson I’ve learned is that game development is inherently multidisciplinary. It’s not just about coding or storytelling — it’s about combining art, design, engineering, and psychology to create an engaging experience. Each member of our team brought unique skills to the table, and leveraging those strengths helped us tackle challenges more effectively. Overall, the experience has given me a new appreciation for the work that goes into making games. As someone who’s always admired the final product, I now have a deeper understanding of the complex process behind it. While the road ahead in this project is still long, I’m excited to continue developing our escape room game, pushing our technical skills, and seeing our ideas evolve into something tangible and enjoyable.