Capstone Spring Semester Postmortem
This postmortem was written for class on 4/28/2020 prior to the release of Box Voyage on Steam in June of 2020.
Box Voyage has been in some form of production now since September 2019. In the past eight months I have learned and grown so much as a programmer, game developer, and collaborator.
When I think about how the development process of Box Voyage has impacted me and my individual process, I think of our early efforts to schedule out and scope the game in a realistic fashion with our end goal being to release a finished product. Over the past eight months I have learned how to better schedule and manage my time. I’ve gotten ever better at gauging how long a task will take me and how many of those tasks I can take on in a sprint. Another thing that went well with my development process was my ability early on to build gameplay systems and tools to facilitate full on production of Box Voyage. Having never worked on a project of this scale, it was really exciting to build and a big confidence boost to learn for myself that I had the ability to see a game in its earliest form and technically architect systems to mitigate obstacles down the road. Another area where I feel that I grew during the project was in writing documentation. A year ago, I thought I knew how to write documents. It turns out I didn’t, not really. I had written documents in the past for personal projects, but when it came to big projects, documentation was something I struggled with previously. During this production cycle on Box Voyage, I have become more confident in my ability to communicate technical risks, specifications, and reference documentation to the rest of the team through a well-made document. I feel great about my experience during the project helping to set up the Steam account and store page for Capture Point Stone and Box Voyage. It was an invaluable opportunity to learn a little biz dev, and work closely alongside the producers to help ensure we can get Box Voyage into the hands of as many players as possible.
Looking at the production on this project, there are also areas where I think my own process could be refined and improved for the next project I work on. A big thing I would do differently is repo management. I think the process I set up for Box Voyage chose to compartmentalize people’s work in a way that only worked well only half of the time. For the first half of production, I was focused primarily on helping rooms get built. That period of development fit well with our Git Flow-based structure where every room’s functionality ostensibly had its own branch and then separate branches were made for audio and art to be merged in. This system really helped optimize our efficiency on developing rooms into an initial first pass state, but that same repo organization tripped us up later in the project. Eventually, we moved away from room production first passes and more towards iteration and bug fixing. Separating branches by rooms with art and audio separate did not work as well during the more iterative phase of development. In the future, I’d like to find a more holistic solution that can be carried through the entire project. That solution would likely use fewer branches and less compartmentalization and rely a bit more on the dev team overlapping their work onto the same branches while building a communication process to ensure work is passed around in a clean manner. As the project wore on, we eventually switched to this fewer branch, more frequent communication method, but I think we lost valuable efficiency in our process before we got there. Something else I would like to improve on is my cross-discipline communication skills. I was able to really interface with the design team well. I often sat in on their meetings to listen and just to match their headspace when it came to communicating new features to the tech team and the wider team. I do wish I could have done some similar communication-building with the art team. I think sitting in on their meetings could have really helped me communicate with them better and help me to better understand their ideas and their challenges to then help share it with the rest of the team.
Thinking on the team as a whole, I am really proud of the work everyone did at Capture Point Stone. Our process for the initial construction of rooms worked very well. Box Voyage went from a demo with 2 rooms and an intro to a game with 7 rooms in an intro. It took the core team of about two months for the demo rooms and intro. It took the full team two months to build the other five and fill them with initial passes on art and audio and gameplay. That’s a testament to our team’s skill, communication, and work ethic. Working through the coronavirus hasn’t been easy either, but I think the team really pulled together and communicated more during this lockdown period. I think some of our best weeks of production have come during this pandemic which says a lot about the resilience of our team. Capture Point Stone has been really good as a team about communication. The team has done daily scrum since day one, and we created a review channel in our chat server to facilitate cross-discipline feedback and to allow people to be recognized for their work. In all I think the success of our team and process really came from our ability to communicate, support each other, and really use the full extent of our creative powers. Box Voyage gave lots of people on the team the opportunity to add features, audio, or art to the game that really got them excited as craftspeople and showcases their skills in a way that speaks well of both them and Box Voyage. The game at one point or another has utilized or been built using custom shaders, motion capture, runtime mesh cutting, custom player analytics, and inverse kinematics. I think it speaks positively to our development process that the team was able to build a strong game that utilized their strengths and curiosities to better the game and themselves as developers.
In terms of what the team could have done better during the dev process, I think there were some spotty patches of communication specifically between art and the rest of the team, and I think we failed to really address or come up with a solution for those moments when a programmer needed an art asset urgently, but that need had not been communicated well or at all to the art team. Another thing I would have liked to have done as a team during production was play our game together more often. We’ve done some Box Voyage play sessions during this coronavirus situation since we’re all stuck inside and we’re easier to chorale outside of class now. I think the few play sessions we’ve had improved our understanding of the game’s strengths and weaknesses and helped the team come together too. Going forward, I would want to further formalize the team playing builds together on a consistent weekly or bi-weekly basis. The biggest thing I think our process as a team has fallen short has been scheduling. Primarily as the semester has drawn to a close, I think our sprints have gotten a bit messier and maybe a bit more crunch-like. To me, that’s a knock on myself and the other leads for not planning ahead sufficiently enough. Some of the issues there may be due to our current circumstances, but better scheduling is absolutely something I want the team to continue to refine for the health of everyone as individuals, for the health of the team as a whole, and for the health of our game.
When I look back on the past eight months, I realize I have learned so much. Last semester, I learned how to prototype and how to gauge viability. I learned how to build a pitch demo. I built the architecture and tools for the full production of a game and in many ways that foundation worked (not without issues of course). This, my last Spring semester, has taught me another set of invaluable lessons. I have grown as a leader and document writer as the team’s tech lead. I’ve learned some useful lessons about repo management and cross discipline communication. I’ve had the pleasure of working alongside 12 wonderfully smart people, and I think we’ve all grown so much in a really short time. My biggest takeaway from it all is that building a game is not a static, linear journey. You have to be willing to lay down the railroad tracks and keep moving, but you also have to know when to double back, reflect, and review your processes as they happen. Production is a process of building and refining and optimizing in terms of technology, communication, and team chemistry in a way that is often challenging, and always rewarding. I can’t wait to drop Box Voyage on the world, hear what player’s think, soak it all in, and get back to dreaming up and crafting delightful games with brilliant people.