Project Organization
From GPWiki
The wiki is now hosted by GameDev.NET at wiki.gamedev.net. All gpwiki.org content has been moved to the new server. However, the GPWiki forums are still active! Come say hello. This page is far from complete, go ahead and write some more!
You can extend this page by editing it. When working on a large piece of software it is important to have a clear, preferably automated, way of dealing with the files. This is especially true when more than one person is working on the project.
[edit] Automated build processUsing an automated build process has several advantages:
Most IDEs provide a good way to do this. Usually all that needs to be done is to create a new project within the IDE and then make the project. The IDE will automatically determine which files need recompiling. There also exist other programs for automating the build process. They include: [edit] Version controlVersion control systems allow you to keep a history of each change made to your software. You can easily revert to any of the previous revisions of your software, allowing large changes to be undone if they leave a big mess in the code or break the application. The version control system also has a central repository where the program and its revisions are kept. This can be backed up to ensure you don't lose any work. Version control systems are especially useful for projects with more than one developer. It allows all changes to be kept in a central repository and for new changes to be easily updated in each of the developers copies. The other developers can see what files have changed and where. Version control systems also provide means for dealing with conflicts for when two developers are working on the same file. Some popular version control systems include:
There are also decentralized version control systems, which do not require a central repository. This allows for more flexible workflows. [edit] Collaboration/CommunicationIn addition to a version control system, the following tools can be highly useful for team project development.
Wiki software can be a very valuable tool for game development teams. Members can update pages very easily plus attach files to each page. You can post documentation, brainstorming outlines, class outlines, flowcharts, and other useful documents. Here are some popular wiki scripts: [edit] BackupsBacking up your data is a valuable process(so valuable you will be upset if you do not). It might seem like a useless, time taking process unless you have ever had the bad luck of losing lots of data yourself. The following article explains various methods for performing backup operations on Windows systems. Don't forget the quote: "It's not 'if' a hard drive will crash, the question is 'when'". Your Hard Drive can crash at any given time, while your taking a shower, while your a sleep, while your at work, or even when your playing the game Monopoly! Backing up your sources and project files is always a good idea, especially when your gone for long periods of time. There is Various ways of doing it, and I highly suggest you get rid of Vista and convert back to XP, for Vista still has many glitches and bugs, for example, with an HP that runs on XP, every week it will give you a reminder to back your files up on multiple CD disks, you can even set the reminder for the next day, so when it asks you to back up your files, go ahead and do it, because it's a warning of advice, of course you will need a few CD's if your a space waster like me, but your "Hard Work" is worth more then money, so take the warning as a serious piece of advice! |


