This is a personal reflection on Production class at Champlain College and the Frog Bath’s team process.
The first thing that went well about my development process is taking control of the repository. In a previous post I detailed some of the problems about the team repository and how completely unorganized it was. We were able to implement a version of GitFlow, and while Unreal Blueprints really do not play well with Git, the repository stayed organized. This meant that when we ran into problems we could easily roll back to an appropriate version.
The second thing that I think went well during capstone development is how much I complained. Specifically, I complained to the overworked and underpaid Professor Ferguson about the quality of our development tools and how little we were taught about version control and pipeline design. I would like to believe that my input helped shape future curriculum, and bring to attention some flaws in the game studio for programmers. From talking with freshmen game programmers that I am mentoring, I think they are receiving substantially better education. This will be important in a world of automated builds that I suspect will find its way into the game industry if it hasn’t already.
The third thing that I did well during capstone is having fun. One clear memory is that a designer accidentally upgraded our project two a newer version of Unreal. I think I successfully blew this way out of proportion in a comedic way that made it very clear not to do this, but that it was also not a big problem. This is certainly something that could go wrong, but this specific designer is even tempered and confident. I also made it clear that I appreciated his contributions and him as a person. Another thing I did right was to teach my team how to use ranch dressing as coffee creamer in a short video which provided some laughs during crunch time. I can’t say I would recommend trying it since it’s awful.
Now on to the less fun stuff. What went wrong and why? The biggest problem is that we consistently missed deadlines. We’ll get to that specifically, but lets look at some of the obvious problems first.
I had no direct interaction with our professor, and little if any indirect interaction through our team. This includes not feeling any external pressure to meet deadlines. I believe that we missed key parts of our deadlines, like networking, in stages that could well have lead to our game being cut. However, there were absolutely no negative consequences or top down pressure. This leads into the next problem. I didn’t step up and lead.
With no top down pressure, we needed to provide our own motivation and accountability. I am capable of doing that and have proven it on many previous projects. I did not do it on this project and I believe that is a large contributor to our lackluster performance. Why not? I was lazy. With a job offer on the table and a game that I was barely invested in I just didn’t care. I didn’t step up and take on the responsibilities of lead programmer, instead I put up with the unorganized approach and thought “I’m not a lead, not my problem”.
It would be easy to blame this on senioritis, or just that it truly wasn’t my responsibility to take a leadership role. However, I know the force multiplier that is good leadership. I could have put in the same hours, and produced radically better results by doing less programming and focusing more on my team and our goals. There wouldn’t have been much of a pay off since I’m ambivalent about the success Frog Bath, but at least I wouldn’t be left with this sour taste in my mouth. I’ll be taking this memory with me as a lesson in what happens when I don’t lead as necessary.
In addition to the importance of leadership, I learned that my work style is changing. I used to be able to do work in crunch bursts, burn out, and recover in a couple days to do it again next week. Now after finally stepping up to lead a little and crunch for the past few days, I’m entirely exhausted. To do good work in the future I need to put in consistent work throughout and can’t sacrifice sleep for a few extra hours of work since it’ll cost me days or weeks of unproductivity afterwards.
From a team perspective, the best thing about our development process was the team and leadership. Everyone was fun and easygoing. There was little to no complaining and absolutely no issues. Everyone did what work they could and whatever got done was great. The Frog Bath team was an incredibly enjoyable and stress free team to work with. Additionally we were able to engage with other Champlain professors to get valuable help and feedback on our game.
The easygoing and carefree team attitude also caused a huge problem in terms of results. Didn’t get that task completed? Don’t worry about it, just put it on the board for next week. There were no problems, but was that because they were swept under the rug rather than being brought up? One of the clear problems in my mind is a lack of leadership and accountability. To start with leadership, our lead programmer is a very competent programmer and a great guy. I don’t think he was ready for a leadership position and defaulted to it because he was the programmer on the team pre-cut. I think he was more interested and invested in being a good programmer than a good lead which are both important but separate skills.
The other problem was a lack of discipline and time management. If I remember correctly, we were still implementing and eventually cut a new feature last week. Two weeks from the planned release. There was a large chunk of time where the game was not built (and could not be built) or QA tested after migrating to remote. I’m not aware of any feature lock or exactly when greenlight / alpha / beta happened except for on a spreadsheet buried somewhere in google drive that had little to no impact on our actual development process.
The two key things I learned from working on Frog Bath are that having good leadership is essential and that gentle accountability is incredibly important. Good leadership both from the hierarchy and bottom up could have produced Frog Bath on schedule. My take away is that I do in fact need to lead from whatever position I’m in in order to ensure a better team and to encourage others to do the same. I say gentle accountability because I can be very direct and that doesn’t work in all cases. A base level of accountability, a gentle nudge here and there, asking why a task didn’t get done and checking in on progress would have helped greatly to keep our project on schedule. In the future I can step up and provide this when appropriate, although I suspect (or hope) that I will rarely have to in industry.