At the end of this post, you can find the latest Harmonix podcast where we talk about our new office.
With exciting changes and new additions, we recently outgrew our shared office space at Intrepid Labs and decided to move Proletariat into the same office as Harmonix. Sharing this space is a great opportunity and has reminded me how important it is to spend time with other game developers who are not on your project.
Here’s a breakdown of why I advocate for working with your game development peers.
Game development is hard. To make something great, it takes a lot of smart people working very hard for a long time. Every project I have ever worked on has gone through tough times where the team is grinding away and the finish line still seems far away. Having other developers around who have walked the path before helps give great perspective and provides ideas for how to finish the game and make it out alive.
There is an idea in engineering called rubber duck debugging, where programmers debug code by explaining it to an inanimate object, and through doing that, they often find the bug. I have found that it is incredibly therapeutic to talk out design or development issues with other developers, especially when they do not have a vested interest in the outcome and they can provide frank and objective feedback. It is refreshing to see your game from the perspective of people who have not been in every design or stand up meeting and learn from the experiences a fresh set of eyes has when playing it.
Early on, we got stuck on something seemingly simple: which colors should represent the factions in World Zombination. We agreed that Survivors should be blue, but the team was evenly split on whether the Infected faction should be green or purple. At Intrepid, we were able to just stand up and ask the people next to us at The Tap Lab and Indie Game Collective, and they helped us decide on purple. (For the record, my vote was for green.)
World Zombination logo options, with the one we decided on in the middle.
This one is obvious, but important to note. The best way to expand your network is to get introductions from other people. Being co-located also means that people may come by to visit one team and then can stop and check in with the other. This can cause some serendipitous interactions and we have personally seen real value from this in terms of other developers and even the press.
Different teams use different processes to build games. Process is very organic and teams tend to get into routines and continue doing certain things simply because it is what they have always done. The game development process should change during the course of the project, and discussing process with other teams that are in different phases can be a good way to learn new ideas, both for things that are working and things that are not. Simply taking the time to analyze this for our own project has been valuable, and sharing that experience has helped us shake up our own process.
Harmonix is doing something really smart with their current process. As new games continue to build momentum, they are not assigning people to teams; they are making it the obligation of the specific team to recruit new members. This is a great idea and something we are trying to include into our own process as we grow, where individuals are given more choice on the features they are building so they are more invested in that piece of work.
I cannot stress enough how motivating it is to go and see other games in development. It is inspiring to see the amazing work that the teams around us are doing, and it is even more fun to jump into their shoes and give feedback on the game in progress. This also inspires some healthy competition: when you see your peers excelling in an area, you want to work harder to get there too.
This alone is very refreshing, especially during some of the mundane stretches of game development. Many game development challenges are universal, and even if the specific solution won’t work for your game, the methodology or thinking behind finding that solution might be applicable.
It has been said many times how important it is for developers to interact with each other, but sometimes it takes a change of venue or some forced integration to really remind us that it is worth the time and effort to stay involved.