Post-Development Log #01 - Spirit Maze
After developing a game, it's always important to look back on what you did and analyze what is good or bad about the project. This is an awesome way to figure out where your weaknesses lies and how to improve the next time you develop a project.
Today I want to talk about one of my early game projects that I really enjoyed making - Spirit Maze. This project was a one week assignment on the theme "Maze", which meant that I only had a short amount of time to come up with the concept, construct a playable prototype and apply art assets and music. It was definitely a challenge, but it also helped me understand a lot about the important aspects to focus on during development, and how to efficiently manage daily tasks. I really want to share my development process, and discuss about what I've learned through the project that helped me grow as a game designer.
Step I - Concept
The first steps is to come up with the concept for the game within a day. Even though it is a short amount of development time, concepting is always important because having a goal can help a lot for planning out tasks than working blindly with no direction. My process in concepting is to construct at least 3 ideas based on the theme: Maze, and then either just decide on the idea I like the best, or take some time to communicate with others and see what they like to determine my final decision.
The 3 concept ideas I came up with are as follows:
Guide the lost spirit to the exit using a light source, the players will have limited steps, and the spirit can will only follow the light if they are connected.
Find the right alphabets randomized in a maze to to spell out a word as a bookworm. The players will need to collect the word in order to complete the word which will open up the maze for players to escape.
Alice & Wonderland themed hedge maze where players play as Alice trying to escape form the Red Queen and her minions, Alice will need to eat cookies to turn big/small to traverse the maze.
In the end, I chose the first idea because I had a better vision on what the concept will look like and how it can function more creatively compared to standard mazes.
Step II - Gameplay Mechanics
After choosing a concept, it is important to flesh out the gameplay mechanics for the game to continue with developing levels and prototyping. Being short on time, this step is crucial for the project to develop smoothly, since I cannot afford to make big changes to the game. I tried to keep this step within a day as well, so I can have more time for level design and testing with the rest of the development timeline.
I started with creating a high concept for the game: "A puzzle-maze game where you lead a lost spirit out of the darkness to finally reach the spirit land, the players will have limited energy to light up panels in order to guide the spirit in the right direction." Then, I expanded on the high concept to figure out the gameplay mechanics, which resulted in 2 potential ideas shown below:
Judging on which idea seems more plausible to execute, I chose the Spirit Guide idea as I was able to visualize the levels a bit more concrete in my head. With that decided, I proceeded to flesh out the details of each mechanic and even drew out a test level for initial prototyping in engine. What I think is good about this step is that it helps me visualize what I need to do, which then can also help me set clear goals or even build a checklist to keep myself organized of my development progress.
Step III - Prototyping
After planning everything out, I was confident to start testing everything in engine to see if I can have the game working and make the game playable and fun. If possible, I would have liked to come up with more level ideas before prototyping. However, since there was a time restraint, it's important to have a playable experience first before considering adding more content.
This stage is pretty crucial as it might make or break the game. If I am not able to fully execute the mechanics I wanted to function in engine, it would mean I either need to do adjustments for the mechanics or even start the whole concept over from scratch. Luckily for me, I was able to pull through and figure out all scripts needed to make the game work, so I could just keep expanding on the project without worry.
At this point, I evaluated whether I was capable of making more levels, and decided it was okay to at least put in 2 more levels to add in more variety for the game. This is also when I decided to seek out more feedback from instructors or friends to learn if they like the initial game concept and mechanics. The response I got was mostly positive and there were also great suggestions on what I can improve on to make the game more interesting in its gameplay. It was good that I chose to get feedback at this point since I was just starting to expand my game, and it would be easier to implementing new things and not have to worry about big adjustments. In the end, I was able to produce 3 full levels for the game with the implemented feedback.
Step IV - Final Polish
With all of the steps above completed, what's left is the final polish for the game. This is when art assets, music, sound effects, UI comes in to make the game look good and finished. I was particularly lucky that everyone already liked the fill-in art I had drawn for the game in the prototype stage, so I didn't need to do much to find new art assets. Because of this, I was able to have more time to just look for music and sound effects needed for the game, and polish up the menu layouts. Although there was still a lot more I could have done, but I was fairly happy with what I accomplished within a week.
Step V - Postmortem
Last but not least, this is the step that comes after the development ends. I've learned that it is very important to relook at the development process after making a game, as it is a great way to see what is good an can be kept in future developments, and what is more faulty and needs improvements. Of course, I learned a lot just by going through the process, but having a record of what I did is always useful when I need a reminder whenever I'm in a bind. It is very helpful for me to have reference for what I can do to constantly improve and be better as a developer.
In summary for my postmortem, the things that went bad are mostly how I handled my scripts in Unity. Since I was still an early learner in scripting, I had to brute force a lot of mechanics with long script lines and complicated functions, instead of using more efficient way that might have saved a bit more time and created a better system that could support making new levels faster and easier. It definitely costed me a lot more time when I tried to put the new levels together to make sure the player AI is working correctly as I wanted to. On the same note, choosing to make a game with a player AI with such a limited time is also not the best choice, even though I was able to pull it off, a lot of development time is used just to figure out how to make the AI work properly.
On the positive side of things, the steps I organized to take (as listed above) really helped me kept the project in a steady flow of progression. My development notes also helped a lot in keeping me on track with what I needed to do moving forward, and allowed me to plan out everything I needed to do for the development process. I am also grateful that I was keen to get feedback from my project even in the short development timeframe, without the feedback I might have gotten stuck in several development stages on deciding on improving gameplay or constructing levels.
Overall, this experience boosted a lot of my confidence as a designer as I was able to pull of a more complicated game within a week that was liked by many of my instructor and peers. I was also able to test my capabilities on what I could do in scripting and also learned how to better manage my time in short development. I feel this game has helped me understand a little bit more about myself as a game designer, and provided me many inspirations and motivations to continue creating creative and fun games. I hope by sharing my experience, it can inspire and help other developers as well!
If you are interested in trying out the game, it is featured on my website! Click Here.