A Technical Specification Document (Tech Spec doc for short). Is a document created before the coding of relevant scripts. It’s used to help define the network of scripts that will be created for your game, explaining what Classes there will be and what functions will be contained in each of those classes in order to make your game run.
What Do They Look Like?
Tech spec docs usually firstly contain a table of contents, this can be used to easily navigate to the class that team members in your group need assistance with coding. The content should also contain all the necessary sub-headings needed for each class in a hierarchy similar to the following:
Class: <ClassName> :
Function: <FunctionName> ()
- – – e.g int/float/GameObject/Array etc.
After this you can repeat the process for as many classes as you feel you will need for the entire project.
When and Why Are They Updated
This should be updated first if there is a change of method on how you decide to write the scripts later on and should be kept up to date so fellow team member understand how certain scripts are running and what scripts need to talk to each other etc.
In my case for project 3 (Sound Vapour) I had done minimal work on the Tech Spec as I was extremely rushed to just try and get the code I was writing, working. But numerous times it backfired for me for things like getting Dial functionality working properly, I spent long stints of sitting and running through my head what the logic of the script was going to be as I was writing it. By doing this, and more than once, I ended up hitting a brick wall, the code I just wrote was useless. I’d have to back-track and start again. Some jobs took hours where, if I knew what I was doing, I could have had the job done in 15 minutes. Having a tech spec handy with a method I understood how to code would have saved me a lot of time researching code examples and trying to use new methods that, undoubtedly seemed like the long/hard way of coding than what I needed to do.