Login | Register

Team Management

August 30, 2006, 11:01 by Calle
[loading]
-->
This is the first part of my article serie about team management. To start with I will copy a very good written article by Thomas, which was originally released here. He is a friend of mine, as well as the leader of Exploding Diamond Production which are developing the excellent game "The Battlefield". So, this is his article:

"Okay, you have a large team. You're communicating on IM, email, forum boards, whatever. Some guys are posting bugs, other are wanting tasks to do. It's a mess, half your programmers have no idea what to do while the others are frantically programming. Nobody really knows the direction the game is headed in, when a demo will be released, what graphics need to be done. You've got a different version of the source on everyone's computer. One guy makes a change that crippples the game, you have to redo hundreds of lines of code and nobody has a backup.

Yes, it can be a mess working with a large team. However, there are ways to make things 100x easier. With the free programs and servers I will show you, there's no better way.

SVN: SubVersion (or SVN) is an improvement on earlier Version Control Systems (VCS). With a VCS the newest version of the source is kept on the server, and every single change is logged and backed up. Some silly programmer upload a fatally flawed version? That's okay, you can backup to an earlier revision, completely undoing all changes and restoring it to an earlier state. Also, you don't have multiple people working on the same file at the same time, so that when they upload Person A isn't missing Person B's features and vice versa. VCS lets people check out files, or lock them. (in SVN) This prevents others from working on the source while you are. Then when you're done, just log the changes and commit the file. The logs are stored so you can see the progress of your program. also, when updating or commiting, the whole program is downloaded or uploaded, only the binary difference is! SVN is not a program however - but you can't clients for it. A good one which uses the Windows Shell is TortoiseSVN. You can get it here: http://tortoisesvn.tigris.org/
But what good is SVN without a server? It's hard to get good dedicated hosting for this, and especially with GM games and their backups, total space on the server can reach hundreds of megabytes! Luckily, some college students had provided a solution for everyone to use!

openSVN: OpenSVN (http://opensvn.csie.org) is a SVN server hosted and mantained by college students for research. They provide free hosting for your project, with a space limit of 1,000 mb! And, you can ask for more! The server speed isn't that great, but since SVN only down/uploads the byte difference, it doesn't matter too much. You can make your repository available to the public or only accessible via username and password. (you can create users as a project administrator) Okay, so this is great, but what about keeping organized? Luckily, the openSVN admins provided another free service that is automatically included with your project.

Trac: Intergrated SCM and Project Management - Although initally it is difficult to setup, Trac provides the answer for all your organizational needs. It was made to be used with SVN, so it acts as file viewer and logs all actions. It provides a WIKI - which is great for letting out all your game design ideas. It provides a timeline - which logs all changes, including changes to the WIKI and ticket changes. It has a roadmap - you can set milestones (such as Final Release) and then based on the amount of tickets open/closed, it shows a completion bar! Cool! the biggest thing though, are tickets. Anyone on your team can open a ticket. Say programmer D finds a huge bug in the code - he opens a new Bug ticket and describes the problem. He can also assign a certain person to fix it - but he chooses not to. He assigns it to "Anyone." He sets the priority very hi because this is a major flaw. So now the ticket is added, and everyone who checks Trac knows about it. Programmer B tries to solve it, but doesn't get very far. He makes a few comments on the ticket. "Well, I believe it's a problem with the collison detection code we're using." Programmer A knows the solution, assigns the ticket to himself, fixes it, and uploads the source. he then closes the ticket. The roadmap shows another few % towards completion there are also RSS feeds available and you can even query the database from another site!"

I will develop these ideas further in my next article, also introduce you to some new concepts. Watch out.

Comments

Loading comments... [loading]
.
Users logged in:

game maker articles, game maker examples, game maker tutorials, gmtutorials, game maker questions and answers, game maker crash course, how to create games