One problem that face anyone working on a game engine or game project is where to keep the design of these. Not really a problem when you work on your own as you can keep all of it in your own head but when you get more people and form a team of any size beyond you and your imaginary friends its time to start looking for a better way. In Zero Point Gameplay we have chosen to use a wiki for the documentation. Well more then one wiki really as we will keep one for the ZeroFps engine and then one for each project.
The tech design will be used both as a reference wiki for the engine on how things work but also a way to plan out the future of the engine. When we get new great ideas on how to improve the engine we can write them down and design them in the wiki and then as development moves along pick up these things from the wiki and turn then into the reality of code. From that we will also get a history of the development of the engine and a way to see what has worked and what has not. It will really be an internal wiki for the people working on and with the engine but we are to lazy to run our own web server for that so we keep it on line for all to see. That way it’s easy for people to steal our great ideas but if they steal them they must be valuable and then we can almost call our selfs professional game developers :).
For the projects we will use one wiki per project as I wish to avoid filling up a single wiki with to many things that might not be related to each other but with the same names. Unlike the tech design the game design wiki on for a project will be used the most by only these that focus on design and they will use it like a form of huge mind map thing on the game. Then portal sections are made in the wiki that merge all the important information aimed at the people that need to read them. For example a portal for all the programmers and another one for the character artists. No one besides the designers really need to read the whole wiki and know all parts of the project and rather then information overload anyone that needs to do something on the project it’s better with clear section that contain the information that they need. Everyone on the team still have access to the all parts of the project wiki and can look around if they like and things can easily be added and removed to each groups portal as needed.
I think this will be a nice setup that will work well, not that Zero Point Gameplay is a large team but it’s still nice with a easy way to show it for new people that join our team of brave souls that shall go where no game developer has gone before. The only change needed for a larger real team with publishers that creep around the hallways looking for blood is how to handle the presentation of the material to them. For that I would go for a more conventional approach by exporting the content of choice from the wiki and modify it’s form to fit the current delivery. The reason for that rather then giving them access to the wiki is that it is will contain many ideas and examples and not all of them will make it into the final game. Rather then trying to explain why some ideas are good and some are not to someone that has only read a small amount of the wiki it is better to make it into one nice presentable package where you know exactly what they will see and what your side is saying. When these documents need to be done the chosen pages can be exported from the wiki and cleaned up into a nice and presentable document. Then when sent the documents be added back to the wiki for future reference and the ideas not used can be used in your next game :).