Mind Over Matter
Student Project
Roles: Physics & Gameplay Programmer, Level Designer
Genre: Puzzle, Platformer
Platform: PC
Technologies: Custom Engine, C++, Git, OpenGL
Producer:
Design Lead:
Environment Lead:
Character & Animation Lead:
Tech Lead:
Camera Champion:
Tools & Editor Champion:
AI Champion:
Game Logic & Physics Champion:
Chow Jun Hao
Keith Wong Khai Fun
Aloysius Ho Chun Keen
Lum Jing Yong, Cornelius
Lim Wei Xiang
Lee Jian Yan
Chan Kin Sum, Andy
Yee Yi Lin
Kevin Heng Zhirong
Winner, Best Visual Design | DigiPen (Singapore) | DigiPen Awards 2020
Finalist, Best Sophomore Game | DigiPen (Singapore) | DigiPen Awards 2020
Finalist, Best User Interface | DigiPen (Singapore) | DigiPen Awards 2020
Finalist, Best 2D Graphics Technology | DigiPen (Singapore) | DigiPen Awards 2020
Overview
Mind Over Matter is a 2D Puzzle platformer, where the player has to utilize the capabilities of his three different states of matter to escape the enemy swarmed facility. The player will have to manipulate and change their states, in order to solve challenging puzzles and navigate through the environment.
This game was developed over the course of 8 months with a team of 9 using an entirely custom engine that we developed from the ground up.
Early Challenges
Mind Over Matter was not something I was part of from the very beginning, as I had been working on a separate project which ended up being terminated early and only joined the We Matter team halfway through. As such, I had no hand in the early concept or the groundwork laid for the custom engine we built and there were some challenges in integrating into a team that had already spent several months together. I had to learn how to use an engine that was part way through development and was using different systems and conventions than I was used to
The way we managed to ease my transition into the team was with numerous sit-down code reviews with the tech team, going over the engine and how everything was structured and how to use or create certain functions. We also had extensive meetings with the design team to ensure I was on the same page as everyone in terms of the vision.
Responsibilities
As a Computer Science and Game Design undergraduate, part of my responsibilities were to help coordinate things between the Tech side and the Design side. I would explain the requests and features the Design side wanted to the Tech side in terms of code and algorithms that we would all be familiar with, while at the same time passing on concerns and technical restrictions to the Design side. As such, I had both programming and design responsibilities.
Programming
A major contribution I made to the custom engine was the physics system. As we were not using any commercial library for physics in our engine, we had to develop our own math and physics library, most notably collision checks. When I joined the team, the physics were encountering many issues and I had to make the tough decision of either redoing the entire physics system from scratch or trying to patch it up and figure out where the problems lay.
I ended up choosing the latter, and managed to fix almost all of our collision and physics issues. Adding proper collision, friction, materials and impulse to the game, allowing for stacking and for objects to push one another around. These additions were key to some of the features we intended to add later on, such as the shoving and freezing mechanic. I was also the one who implemented that mechanic along with various others as part of my responsibility as a gameplay programmer. It was challenging as part of the core vision in our game was the interaction of the various states (solid, liquid, gas) with the environment so we had to make sure we had all our cases checked.
Design Challenges
One of the major challenges we had was one that almost every project tends to face, over scoping. We didn’t initially start this way, but at some point we kept wanting to add more and more features for each state that the player could change into. For example, being able to push crates onto enemies, being able to freeze fans in place etc. However, we realised that many of the features we had and some of the features we wished to add all functioned the same way. Some obstacle is blocking your way, you transform to a respective state and optionally press a button, then the obstacle no longer blocks your way. It was the same thing just with a different skin.
Upon this realisation, we massively scaled back on our feature addition and changed our focus to making more dynamic use of our current features, creating puzzles that mixed together different features or made use of the states in more creative ways. For example, being able to see hidden pathways and the connection between switches and doors in gaseous state.
Level Design
This re-shifting of focus led to one of my largest design contributions to the project, the level and puzzles design for the final level, which was meant to be a sort of challenge/boss room. Spurred on by the idea of mixing the use of various abilities, I tried to make a puzzle that required the player to combine their different states abilities in ways that were not immediately obvious.
I am very proud of the final room, which required me to add in a feature which allowed a single switch to open two doors in alternating ways, creating added complexity and depth to the puzzle. The final 3 door puzzle also requires the player to have a shift in mindset, using the water ability instead of the crate freezing ability to push the crate through the first door, but not the others so that they can wrap around and retrieve the crate from the other side.
Iteration
Not everything pans out the way we plan however, especially with our iterative design process. In this final version of the puzzle, the player merely has to freeze the box and push it while standing on the button to keep the door open, a puzzle that has been used in earlier stages. My initial design for this puzzle was to have the crate on top of a grill, and the button to open the door below the grill. Thus, the player would have to freeze the box, shove it, change into a liquid form and fall through the grill in order to open the door before the box reached the door. Unfortunately, this was deemed to be too mechanically challenging in what was mostly a puzzle based game, so we ended up simplifying the design to its current version.
Voice Acting
A fun thing I got to lend to this project was my voice. All the grunts and moans, along with the voice acting for instructional logs was done by me. It was a great learning experience sitting in an empty classroom with a very nice borrowed mic running through lines with one of my teammates, along with editing and changing the lines to better fit in with the game. I am especially pleased with the death sound, despite it being done in one take, I feel it meshes with our existing sound effect extremely well and adds to the gravitas of dying.
Closing Thoughts
I learned so much throughout the course of this project, from technical skills and familiarity with systems common in game development, to time management from juggling four other modules while working on such a large-scale project, to communication skills from interacting with teammates with different backgrounds and specialities. I could not have learned such things from a typical school module and I would like to thank Digipen for granting me this opportunity.
In closing, it was a great pleasure to work with the We Matter team. The tech team who happily spent time explaining parts of the engine that I was unfamiliar with and were willing to answer any questions no matter the time. The design team who always made their vision of the game clear and made me truly buy into the game. And finally the art team who would churn out assets at the drop of a hat. I could not be prouder of this labour of love, everytime I hear somebody has played and enjoyed our game, it fills me with joy.
Unexpectedly, we even received a review from an outside review site, AlphaBetaGamer, despite not having shared our game. They said it “really impresses with its excellent pixel art animation, quirky sense of humor and a fun body morphing concept”. You can read the full review below.