Well, here’s a brief history of our Capstone project this semester.
Ever since the beginning of the project there was a disconnect between our second programmer and the core team – myself, our artist, and our designer. At first, everyone seemed to be getting along, we met fairly often, and everything seemed fine. Admittedly, the three of us felt more comfortable by ourselves, but everyone seemed to get along at the start. I had worked with both our designer and our artist on 2 other (albeit smaller) projects in our Production I class sophomore year.
Then the middle weeks of the project arrived – Weeks 5 and 6. These were certainly dark times for our project. We had made our final choice for the game we were moving forward with and we began working on the core systems – I began working on the grid system and our other programmer started working on exploring Unity’s networking system. During this time, we didn’t meet often as a team. Sickness was going around and communication sort of fell off. During this time, I felt like I was taking too long to complete the grid system and got more and more anxious, as I felt I should be working on other systems.
We definitely underestimated the complexity of incorporating the networking. Our other programmer’s exploration of the system during these weeks just barely scratched the surface of the intricacies of Unity’s system. Sure, the current system (UNet) is much simpler than working with a lower level library like RakNet (although, you can delve into the intricacies if you want to), but there are a lot of caveats that you largely have to learn from actually doing complex things with it. The complexity of the very simple demo project versus what our game required was a pretty big gap, and that became apparent when we finally started trying to incorporate networking into the game.
The advent of Week 7 brought a boost to the progress of the game, as well as the morale of the team. I managed to network the game after finally making breakthroughs in this week, leading to a “complete” rough networked game loop (of a single round of the game) in Week 8. Starting in Week 8, progress started to pick up at a rapid pace. Networking had been the bottleneck for a lot of aspects of our game, and now that the networking in was in an ~okay~ state, we could start moving ahead at full speed. Incorporating art, animations, level design – all of that started happening quickly. During this time, however, the disconnect between the core team (myself, our artist, and our designer) and the other programmer began to widen. By the time Weeks 10 and 11 hit, the three of us were often working in the labs together late into the night. Before, we had mostly been working late into the night in separate locations. Ultimately, the 3 of us seemed to be a better team than the 4 of us.
Even so, I won’t deny that we could’ve handled this disconnect better. Perhaps, I could’ve delegated programming tasks better earlier in the project. Overall, we should’ve addressed the problem sooner. Our attempts at resolving this disconnect throughout the semester ended up only being temporary solutions that didn’t pan out.
Another problem was that we basically ended up producing a “horizontal slice” of our game rather than a vertical slice. Perhaps we got caught up in augmenting what we already had instead of iterating on and solidifying our core systems. At the end of the day several of the systems weren’t as polished as they should’ve been. But overall, we put in a ton of work, and in the end, made something pretty cool.