Release Date: December 7, 2022
Platforms: WebGL, Win
Number of Developers: 4
Length of Development: 9 Weeks
Budget: $0
Development Tools: Unity (v. 2021.3.11f1), Aseprite, Photoshop
On October 17, 2022, we began working on our game with a simple theme of "potatoes." Two months and four playtests later, we released the final version of our game on December 7, 2022. This section documents the postmortem of our game with regards to some of the things that went right and some of the things that went wrong with our game development.
To view our original Postmortem presentaion slides, click here
To view our original Game presentaion slides, click here
Five Things that went Wrong:
One of the greatest challenges that we faced as a team was merging our project files on GitHub. Initially, when we started working on our project, we had two separate repositories -- one for the Map and Menu Systems, and the other for Player and Enemy Mechanics. When we tried to auto merge through GitHub, some of our scripts and project settings would be overwritten to accomodate the latest push. This was terrible for us since our project would not work as we wanted it to. After experiencing the merge conflicts for the first time, we had to manually transfer the files from both the repositories to a seaparate repository for playtesting. In the last stages of our game, we all worked on the same repository, but we made sure that only one person at a time was working with it. This was a little bit more time consuming, but fortunately it worked out extremely well for us since we had already completed the majority of our project at that point.
For our Beta playtesting, we only had 4 - 5 days of time to incorporate all the suggestions made by our Alpha playtesters as well as include new additions that we wanted in our game. As a result, there were a lot of unfinished features that we didn't get to present during our Beta Playtest.
When we first envisioned our game, we thought about giving our players the option of choosing between either Dodge (curently implemented) or Dash abilities or both. But as we started implementing, we realized that with our current project setup it was almost impossible to implement two separate abilities (one with i-frames and one without) in the limited time remaining.
Another consequence of the short development time for our Beta playtest was that we couldn't optimize the game for our builds. At this point, our project was significantly huge which caused our game to lag sometimes during playtesting. Additionally, there were also a few bugs when the different scenes in our game interacted with each other. This further reduced the smoothness of our game. That said, we were able to fix all the bugs in time for our final playtests. We ended up adding unload optimizations and also a settings menu to further help with the optimization process.
All the developers on our team were also taking multiple classes at the time of development of this game. Some of our classes were hard and required more time which limited our time to work on this game.
Five Things that went Right:
This is one of the largest projects we have ever done. When we first designed our digital prototype, we were afraid that the scope of our project is very large. Some feedback from our peers after the prototype presentation also warned us about the size of this project. That said, we started working on our project very early on, so that we would have some breathing room to implement most things that we had envisioned. Fortunately, the consequence of our early start snowballed throughout the quarter enabling us to produce a game that was very close to our initial design.
Communication is the most critical aspect of any team project. Our team knew this so we took measures to ensure that we were all on the same page at all times. We communicated extensively through Discord and shared all project components with each other. We also made a shared folder for presentation items like the prototypes, development log, postmortem, and the final game presentation. Apart from texting, we would also have a conference call at least once per week to update team members about the status of our work, discuss new ideas, and delegate tasks for the next playtest. This amazing communication from our teammates reduced all the guesswork for others and improved the overall trust within the team.
All plans change over time. Although this was true in our case too, we were able to maintain most of the core features from our original plan. We came pretty close to implementing all the mechanics and the overall game design that we had first envisioned.
Our game was played by a lot of people during playtesting, and we are proud to say that our game was the rated the highest out of all the games from our class during these playtests. We tried to listen to our playtesters as much as possible and incorporate their suggestions to the next iteration of our game. We believe that this caused our playtesters to love our game even more, and they came back to play to it over and over agin.
Our game had a lot of components and each of our teammates worked on specific parts. We divided our work this way because we thought it would help us work faster with the limited time we had. Fortunately, most of our individual components needed little to no rework and they fit perfectly with the rest of the components.
Throughout the development cycle of our game project, one aspect that we thought went really well was our development output and pace. Between every playtest session in-class, we were able to implement multiple features that responded to player feedback. For instance, after the alpha playtest, we were able to develop the tutorial system, weapon reloading, ammo UI counter, and the menu systems for the beta. After the beta playtest, we implemented the opening story sequence, the minimap, optimation unloading, gamepad aim assist, the final boss enemy, weapon sounds, and updated and debugged the menu systems and scene interactions. Lastly, after the final playtest and before the final play session, we were able to include quick features to the game including death sounds for enemies, dodge cooldown indicator, and a health bar for the final boss. As a team, we were able to quickly respond to player feedback to create substantial improvements over each playtest iteration.
If we had to have two more weeks to work on the project, three things we would prioritize are: