PPJ #9: Tristan
Tristan West, PPJ #9 (August 29, 2024)
What went right:
The development team generally did a good job of allocating tasks, i.e. we had each developer working on separate tasks, not needlessly redoing each other's work.
The art team was usually quite responsive to requests from the developers for new assets as well as tweaks to existing assets.
Every team member was able to voice their ideas, and there was often give-and-take until a consensus was reached on how to proceed when it came to major design decisions.
What went wrong:
The project lacked direction towards the middle and end of the semester. We had the GDD, but we really ought to have made decisions sooner about what we specifically wanted to have completed and in what timeframe.
Version control was a problem throughout, leading to too much developer time being allocated to fixing broken code introduced by incorrectly resolved merge conflicts.
We weren't strict enough without deadlines, especially on build weeks. This led to instances where we had a completely untested build pushed out.
Lessons learned:
I would say in the future, steer clear of using Git as a version control solution for Unity projects, unless everyone on the team is intimately familiar with Git workflows and the various commands. Using Unity's own version control or maybe Perforce would likely just be the better solution.
When working in a developer role, recognizing when to say "no" is an underrated skill. It is your responsibility to assess what you can get done in a given time frame, and it's better than saying yes but not being able to deliver on what you promised.
It is well worth the time investment early on to plan how your game systems are going to interact and to apply proven design principles in order to keep things maintainable as the project grows in complexity. I think our productivity would not have dwindled as much at the end had we done that.