[This is a repost from my blog, doolwind.com]
Are you looking to set up an independent game development team? You’ll need a team that covers all areas of game development including programming, art, design, sound, project management and business. You need to pick the right people that can work together for months or even years. Below are some tips for putting the right team together to increase your chances of success.
Game development involves a number of common roles as well as some overlooked ones. Individual team members can handle multiple roles on smaller teams and some roles can be shared by more than one person.
Programming on an independent team is about more than just game development. The programming department will be responsible for tools and website development. They will also have to handle the creation of the installer.
Design is one of the great areas it pays to share ownership. The designer has the final say on decisions and is the go to if people are unsure. They also maintain the game design document to unify the team. A wiki is a great way to collaborate on the design document.
The art department is responsible for not just game art but also creation of marketing material and web design. Artists need to work closely with the programmers to make sure technical requirements are met and to drive the requirements for tools. They also need to collaborate with design to make sure the look and feel of the game is met.
Often overlooked, sound is vitally important to give atmosphere to the game. Sound should not be left to the last minute as it will feel disconnected and won’t add as much to the game. The programmers should build the infrastructure for the sound early to allow experimentation.
Project managers are responsible for the velocity of the team (how much they are achieving each milestone). They need to be aware of when team members are falling behind and make sure everyone is performing their duties. Visibility is the key to making sure everyone on the team is aware of their current goals and deadlines.
Without QA the game will be unplayable. QA is another area that is good to share across the whole team. The team should be playing the game constantly and fixing bugs as they go. It is preferable to have non-programmers doing QA as it is easy for them to overlook issues in their own code. Sharing the games with friends and having a beta-testing period is a great way to share the load.
Without someone managing the business side of game development, you may as well be making the game just for fun. One team member needs to be responsible for making sure the game will be profitable. The entire team needs to be mindful of the fact they are making a game for profit, not just fun. Business includes marketing, sales, business plan writing and possibly seeking funding. The team needs a business plan covering:
- Marketing Strategy – How will people find out about your game? How will you sell the game and how much will it cost?
- Cash flow Summary – What are the expenses of the team and how will you afford to keep the business running?
- Economic Assessment – How much do you expect to make from the game, based on similar games
If possible, the entire team should work together in the one building. This lets the team quickly test ideas, keep each other motivated, play-test the game together and watch each other play. Renting an office is expensive and it’s important to keep costs as low as possible. Get creative, work together on laptops in a coffee shop, move in together, or work in each other garages or basements.
Depending on the situation each team member may have differing hours they can devote to the project. Each team member’s level of commitment should be discussed and decided up front. The closer these levels can be the better. Having a large imbalance in working hours can lead to resentment and hostility between team members. Some ways of evening out imbalances include:
- Larger share/profit ownership
- More creative control over project
Personality trumps ability on indie teams. As with most high-intelligence professions, game developers often have strong personalities. While these personalities might be annoying at a large game studio, it can be the death of a small indie team. Each developer needs to put the game and the team ahead of their own agenda. When possible a team should be formed with people that have worked together previously.
Look here for my programmer personality test.
Every team has conflict. Conflict can be minimized having a unified goal. The best option is to have someone in a position of power to settle disputes. This person must be trusted by everyone not to push their own agenda. Some solutions to solving conflict in your team:
- Talk it through – Open, continuous conversation is the best way to solve problems
- Compromise – The larger the team, the harder it is to keep everyone happy. Compromise is a necessity. Ultimately the team is in it together and need to compromise to solve disputes.
- Give everyone a voice – Voting is a great way to solve disputes. The team must agree that a voting mechanism will be used and respected up front.
Outsourcing vs In-house
Many Indie companies have little money, necessitating all work is done in-house. Outsourcing gives a reliable quality for a fixed price. Some areas worth outsourcing include:
- Game Engines – shared by the whole team, they can save a lot of development time (eg Unity3D, UDK, Torque)
- Sound Libraries – can be used as building blocks to create sounds for the game
- Art – Art is often the critical path in development. Outsourcing may save time and money
This should set you up on the path to creating a solid team for your next indie game project. What are your experiences with building a team? Where have you succeeded and failed? Do you have any recommendations for others who are building their team?