The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
So for my first article I talked about my experiences and general tips and tricks that I use when naming files (Link Here). However, it doesn't matter how well your files are named if they aren't organized well.
Now I don't claim to be an expert at organization (that title goes to my Wife), but I hope that this article helps you (or at least sparks some discussion here that benefits everyone).
When starting to organize a project, one of the biggest problems I run into is figuring out the most efficient and intuitive flow for the Project's Folder Structure. I've experimented with different setups and I have yet to find a setup that has fully satisfied me. Instead, I examine the team's personality and the needs of the project before setting up the Folder Structure. I do this by asking myself some questions and figuring out what the pros and cons are for each. Here are some of those questions:
- Should I put all the work files (PSDs, Maya files) together or should they be located in the same area where the assets are saved?
- If I put all the work files together than it is easy for the Artists to quickly access their work files (all they would need to do is create one shortcut to the folder where all the work files are located). However, if there are more than 20 or so files it starts to become a chore to find the exact file you are looking for (even with proper naming conventions).
- If I put the work files where each individual asset is saved then it is easy to also know what work file is associated with each asset (helpful if you're team doesn't fully follow strict naming conventions). However, this can be a time consuming process to have to go through the entire structure of the folders just to open one file.
- Should the assets be sorted by their location in the game (such as levels, menus) or should they be sorted by categories (enemies, bosses, set dressing pieces)?
- If I sort the assets by their location in the game then it is easy for anyone to quickly find all assets related to that particular part of the game. (this would help an artist who wants to polish up an entire level before moving onto the next one). However, if it is organized this way then it is very hard for someone to find the assets they are looking for if that person is unfamiliar with the locations in the game. (this would slow down a new team member who has to find the location of particular assets but knows little about the game).
- If I sort the assets by categories then it is easy for anyone to quickly find all assets that are similar to each other (such as all enemies in the game). However, if someone was tasked with polishing up an entire level they would have to individually hunt down every asset associated with that level.
There are other questions that I ask myself but you should understand the process by now. Also, based off you and your team's personality your questions will more than likely differ from mine. While I may not be able to tell you the best way to organize your Folder Structure I can definitely tell you how NOT to organize it. The following examples are all real and experienced by me. I wish I could tell you that I did not contribute to the problem but then I would be lying :P
- All assets were organized by each individual artists. This quickly became problematic as the project went on. As we started to lose track of who made what assets you would have to look in each artists folder before finding the asset you wanted. This was caused by poor initial planning but we eventually took a day and reorganized everything correctly (still lost a days worth of work that we wouldn't have had to lose if we were organized in the first place).
- As new assets were created, all previous assets were bundled up into one folder and set aside. However, this happened multiple times and we ended up with three or four folders named OldAssets1, OldAssets2, OldAssets3, etc. Even though this allowed us to essentially look back into the past of the development, it was impossible to tell when a particular asset was created or placed in the game. To fix this problem we now create a Work in Progress (WIP) folder for each major asset where all old versions are stored.
Finally, I wanted to share how we have organized ourselves on our current project. Once again this is by no means the best way to organize your folders but so far it has been working well for us in this project.
- Assets are sorted by categories (GUI, Units, Weapons, etc) first
- Then, within those categories things are broken down into their locations in the game (Main Menu, Options Menu, etc) to make sure we what assets belong where in the game, while also aiming to keep folders from containing 20+ assets in them
- Each major asset has a Final Asset folder (the only thing stored here is the version of the asset that is currently in the game), a WIP folder (where all in-progress and old versions of an asset are stored), and finally a Work Files folder (where all PSDs, Maya files, and other work files for that asset are stored)
If you have any stories, tips, tricks, etc to share about Folder Structure please feel free to share them!