Guilded Developer Blog | Postmortem
Over the past three months, I have had the pleasure of developing Guilded alongside some of the coolest, most talented people I have ever worked with. Now, as the project reaches its conclusion and Champlain College's 2020 Senior Show looms on the horizon, it is time for me to look back and to examine this project as a whole.
What Went Well:
During these past couple months, I have worked tirelessly alongside my teammates to create a product we could all be proud of. This included designing a variety of systems and working as a Technical Designer to set up major parts of the game. I also devoted time to balancing several of Guilded's systems - including its EXP curve, its economy, and its morale system -, and I am incredibly happy with their end results. As a whole, I believe that most of my individual design work went very well, and that it contributed towards Guilded's overall success.
In addition to that, I attended nearly every one of our team meetings, where I contributed to our discussions as often as possible. When not in meetings, I still kept in contact with the team regularly over Mattermost (our main social media program) and posted constant work updates in the forms of videos and still images. While balancing the game's systems, I also listed very in-depth descriptions of my playthroughs and findings, which also helped me to understand how some of my seemingly small changes affected the systems, allowing me to make constant adjustments. This let me keep my teammates up to date on my current progress while also letting me stay informed on theirs, as well. In the past, I have had a bad habit of micromanaging my teammates, which has led to frustration and discomfort all around. As of this semester, I have completely kicked this habit, making me a much better communicator and a much more tolerable teammate.
Overall, our teamwork was incredibly strong this semester. For the most part, we communicated very well both in-person and digitally. Having daily scrum four nights each week (Sunday through Wednesday) helped ensure that we constantly understood each other's progress and impediments. Our Saturday work meetings and weekly discipline meetings also helped us to stay on top things, given that we could discuss major aspects of the game face-to-face. Us constantly interacting with one another also let us develop a strong sense of camaraderie and prevented any insurmountable barriers from forming between disciplines.
I also believe that we handled the COVID-19 outbreak very well, all things considered. While we struggled with it for about a week, we quickly became accustomed to our new work environments, and our meetings continued as normal from thereon.
Lastly, I believe that our work on Guilded in general was incredibly strong. Every person on the team consistently poured their all into every facet of the project, resulting in a game that looks, sounds, and plays very well. The producers set up a great roadmap that helped us develop the current product in a reasonable amount of time, and they also did a wonderful job setting up Guilded's Steam release and social media. The artists developed a beautiful environment; interesting characters; and an intuitive, stunning user interface. The programmers made it so all the systems and mechanics function as intended, and their codebase is easy enough to understand (at least after a bit of poking around) that several designers were able to make changes as necessary. Finally, the designers established those core systems and mechanics that made Guilded the game it is today; the narrative that runs through each quest (as well as the game itself); and the music and sound effects that make every action feel so impactful and interesting. As a whole, this was simply a fantastic team.
What Could Have Gone Better:
While I am very proud of the work I produced this semester, much of it wound up being incomplete for one reason or another. The tutorial, for example, still has some glaring issues that I never fixed (with the worst being the inability to start the game on any resolution aside from 1920x1080, lest the tutorial will break and softlock the game). The hover-over effects for buttons and other UI elements also suffered a bit from this. Not too long after I "finished" working on them and believed I had tested them thoroughly, I found they did not work with some of Guilded's UI elements due to the elements in question appearing in world space, rather than screen space. I eventually fixed this issue and cleaned up the hover-over effects in general, but I still find it embarrassing that I did not thoroughly test the system before I proclaimed it done.
I also found that, conversely, I started growing more anxious as the release date approached, especially when I considered all the little errors we had never gotten around to fixing. Things like the calendar possibly breaking at the start of each year concerned me greatly, even though I knew this was not a major concern and that most players would likely only play for a few in-game months, at most. Nevertheless, I still felt compelled to fix it, which resulted in me going into the game and devoting a good length of time towards this (relatively) unimportant task. This is an issue I have had for a while, now; while my attention to detail is great for letting me create strong, enjoyable products, it also makes me panic about nearly every tiny issue I come across. Had I managed this problem better throughout the semester - and particularly near the end of it - I could have devoted more time towards the important systems of Guilded, towards my other classes, or towards simply relaxing in general to avoid burnout.
Lastly, I found that I sometimes struggled to log my hours throughout the semester, which made it difficult for me to ascertain how much time I actually put into a task. While my time-management skills have certainly improved this semester (as I have found myself going to bed at a more consistent time each night), I have been very apathetic about logging my hours whenever I work on a task. This was a fairly minor issue in the grand scheme of things, but I still believe it is important that I work to improve in this area. In the future, my teammates will rely on me keeping track of my time to help them understand how much time it takes me to complete certain tasks, and if my hours are inaccurate, that may adversely affect my schedule, their schedules, or the product as a whole. As such, I believe this is an area I could certainly stand to improve in, and it is one that I will continue to work on in the future.
Throughout the semester, our team - and especially the designers - focused too much on implementing new systems into the game, rather than balancing and tweaking ones that already existed. This forced us to do most of our balancing work in the last month or so of development, where it became far more difficult since we had to account for other, related systems. It also meant that we threw certain systems and mechanics - such as quirks, the inventory system, or the cemetery - to the wayside once we deemed them "finished," even though they were nothing of the sort. As such, we had to cut (or, at least, significantly reduce) several of these half-finished systems near the end of the semester when we realized we no longer had the time to complete them. This wasted a not-insignificant amount of development time that could have gone towards other aspects of the game, especially for our artists and programmers.
Our team also suffered from a noticeable drop in morale near the end of the semester, which greatly affected our work. Our sprint planning became less organized; some team members overscoped, underscoped, or outright forgot to complete certain tasks. General communication also suffered for a while. While we set up a list of issues we wanted to fix before release, there was not much communication about who was taking on which task or which tasks were complete. We eventually were able to alleviate much of this problem, however.
One last issue that stood out to me is that, after the COVID-19 outbreak began, our playtesting slowed to a crawl. Prior to the pandemic, we brought Guilded in to Champlain College's Games Testing Lab about once per week, which helped us identify bugs and other problems with the game. After the pandemic started, however, we never performed any formal testing. People on our team often played through the game to identify bugs and other errors, and we designers played through constantly for balancing, but we rarely received any outside perspectives on it at all. This greatly concerned me, since we balanced several of our systems - including the EXP curve and morale - with full understanding and access to the numbers that directly influenced them. We hid much of this information from players to help streamline the gameplay experience, which meant we had little knowledge of how players would interact with these systems, given they would only see one side of them. As the semester progressed, we started performing individual tests (and we received wonderful feedback from developers at Rockstar Studios during a team-wide call), but we still barely tested for balancing with people outside our team.
What I Learned:
I learned several important things this semester that will greatly help me in my future career as a game developer. First, I will be much more careful about testing my systems before I deem them "finished." This should help me to avoid repeating the issues with the tutorial and the hover-over effects. I have already started utilizing this lesson on some of my other projects, so I believe I am making good progress towards this goal. Additionally, when I work with other teams in the future, I will try to ensure that we do not suffer the same systems and balancing issues I experienced this semester.
Second, I will try to avoid letting my obsession with minor details cause me distress. As with the above lesson, I have already made some progress on this one. I also have to admit that I have been much better about focusing on the big picture than I was in previous semesters, so while I have not completely fixed this problem, I do not expect it to be a major issue for too long.
Third and finally, I became far better at managing my time this semester. I think this is mainly because this was a very busy semester for me, as I had to balance three solo projects alongside Guilded. Because of this, I had to adapt and begin scheduling out my days in advance in order to complete my work on time. Overall, I am incredibly happy with this particular step, since having strong time management skills will help me greatly when I begin working as a professional game developer.
In terms of teamwork, I gained a lot of experience working with a much larger team than I am used to. So far, the largest team I have worked with had only 10 members, and working with the other three designers proved difficult because we all shared very similar roles. Guilded, meanwhile, had a 13-person team, and the other four designers and I each had far more distinct roles, ensuring that we did interfere with one another during development. This was an incredible experience, and because of it, I feel much more comfortable about working on large, multidisciplinary teams in the future.
I also gained experience being onboarded to a project and having to both learn about preexisting systems and about navigating an established codebase. This is something I found incredibly exciting about working on Guilded. When I begin working in the game industry in the future, it is incredibly likely that I will be onboarded more than a few times, so having this experience will hopefully make the process easier in the future and will encourage recruiters that I can begin working on an existing project without too much difficulty. As a Technical Designer, I also found that learning how to navigate an existing codebase - especially one created by one of my peers - was incredibly interesting and enjoyable. In both cases, I will be certain to mention this in future interviews.
Lastly, I learned to take some of the pressure off my own head and to rely on my teammates to complete their jobs. As I mentioned above, I had a bad habit of micromanaging my teammates on previous projects, so I came into this semester intending to relax on this front and to trust them. This proved to be the correct decision. My teammates usually completed their tasks (including the ones I asked for) without any issues, and I never felt compelled to ask them to finish anything so I could proceed with my work. This made the semester much more relaxed and helped make the development process more enjoyable, overall. I will also be certain to take this knowledge with me into my game development career, since it will help me be a better teammate and a better designer.