File Management

This page is intended for describing the file management conventions, to ensure that all team members follow the proper procedures of file management.

File Naming
Generally speaking, the names of files should be informative, easy to identify from one another and labelled in a consistent manner. The following rules should help to enfore such natures:

Clear Indication
Files should be named so that it is clear what their purpose is.

Character Use
Do: Do not:
 * Use lower case characters.
 * Use numbers.
 * Plan ahead when creating numbered files. If these files are expected to be sorted by number or are easier to understand this way, then prepare for future files with more digits. Fill the higher-value digits wih 0, to preserve ordering (rather than being sorted as file1, file11, file12, file2... etc.).
 * Use underscores '_' to differentiate words, hyphens '-' to highlight that two words belong together, or should stand out from the rest as a connected phrase. A common use of hyphens would be to connect the numbers of a date.
 * Use capitals in the file name.
 * Use any other unique symbols not mentioned yet (particularly space characters

Consistency in Naming
This is mostly subjective to the team member's preference, however it is important that they follow a common naming scheme.

There is an exception to this; all team members must write dates in the standard Australian Notation DD-MM-YYYY.

Game Development
{| border="0" cellpadding="1" cellspacing="1" class="article-table" style="width: 500px;" ! scope="col"|File Use ! scope="col"|File Extensions ! scope="col"|Notes

Model Assets

 * .OBJ and .FBX
 * Supported by Unity.

Image Assets
Photoshop .psd and .tiff files are also supported, but flattened when imported.
 * .JPEG, .PNG, .GIF, .BMP, .TGA, .IFF and .PIC

Video Assets

 * .MOV, .AVI, .ASF, .MPG, .MPEG and .MP4
 * Supported by Unity.

Audio Assets

 * .MP3, .OGG, .AIFF and .WAV.
 * Refer to the page Wiki page on supported file types by FMOD.

Font Types

 * .TTF
 * Unity supports import of fonts.

Other Files
.CS (Scrip files)
 * .XML and .txt are available for use during runtime execution.
 * }

Server-Side Development
{| border="0" cellpadding="1" cellspacing="1" class="article-table article-table-selected" style="width: 500px;" ! scope="col"|File Use ! scope="col"|File Extensions ! scope="col"|Notes

Webpages

 * .HTML, .ASP or .ASPX
 * Depending on contents.

Database

 * .MDF
 * }
 * }

Project Management
The physical location of files is on our private server, position in the project laboratory. On this server is an established setup of Team Foundation Server, the files being directly accessible and managed through the Source Control Explorer in Visual Studio (after connecting to the team project). Team Foundation Server also provides support (and is being used) for:
 * Drawing of architecural diagrams
 * Version Control
 * Centralization of project files
 * Implementation / Development of applications
 * Building and Testing of applications

Organization
All project files relating to one side of development (either game development or server-side development) should be encompassed within one folder or sub-project (each, or together if preferred).

The nesting of folders within folders should follow a logical order, preferably a hierarchical structure. A folder with no relation to its parent folder means it's in the wrong logical location and should be re-located.

Optional decisions by team members may be followed at the lower levels, including:


 * Separation of files by file type


 * Separation by dates of modification


 * Folders for backups


 * Folders to hold files that are deemed to be no longer useful.

Versioning
Collaborating team members are to agree on a form of versioning system that best suits their development style and area. The choices are restricted to Git repositories and SVN.

Backup
The Team Foundation Server will be prepared for making daily backups at a late hour of the evening, in order to relieve the team of the time and effort taken to repeat backing up so often.