What exactly is a GDD?
A GDD or Game Design Document is a complete compilation of everything about your game, even parts the player may not see. For example, elaborate backstories may be written on NPC characters so writers can understand characters personalities and dialogues. But player's may never get to see these backstories.
A GDD is continuously evolving and updated. Although it's important to get as much details/features down when you start a GDD, it's important to know that the game may change throughout the design process and development. So make sure to keep it updated!
Writing the GDD
So it's time to write the GDD! Something to keep in mind when writing a new section is to evaluate it against everything else that's in the game. A feature may sound great conceptually but may clash with other systems you have in place for the game. When adding a new section or designing a new mechanic/system, a great practice is to analyze how it's going to fit into the game and work with other features and systems. A great way to play this out, other than sitting and trying to think of how everything might work together, is to create a gameplay minute document or create prototypes.
Remember not to include art related subjects in the GDD. Topics like color palettes, polycount, aesthetics etc. are placed in an ASG (Art Style Guide).
What should I put in my GDD?
A GDD is normally made up the following sections:
Personally, I also like to add a MVP and Wishlist section. MVP stands for "Minimum Viable Product," fancy words for saying core functionality of your game that'd you like to see. In the Wishlist section I usually add features or systems that maybe out of scope in that current time but would be great to look at later.
In the game overview section you can list your official title of the game, genre, target audience, platforms etc. Also include a small summary of the game and a high concept statement. Design goals and your feature list can be listed here as well.
In the narrative section you can talk about the overview of the story and its characters. If you have a narrative heavy game that involves dialogue and a strong story, such as visual novel games. I recommend listing an overview in your GDD and then creating your own documentation for the narrative.
Something to keep in mind for this section is how you'd like the story to be in-game. Is the story going to be Linear, have Multi-Choice or Branching Paths, be Multiform etc?
In the levels section you want to outline everything about the level design and progression in the game. You can share world maps, game views, progression charts etc. This is where you talk about the puzzles in your game, level descriptions, and more.
In the gameplay section you can talk about the controls of your game, mechanics, AI, abilities, win and loss conditions. This is also a great area to discuss your core gameplay loop.
If you need some help with identifying the mechanics of your game, consider what the core of your game is. Take a look at the game's feature list and make a list of possible actions you might want to do or could do. Then begin to decide how you are going to accomplish these actions, these "how's" are your mechanics.
The UI section contains a flow chart of menus, wireframes, and menu descriptions. The goal of this section is to show what your user interface consists of and how it's laid out.
There are several free online GDD templates you can grab from and are super helpful!
Below is my personal template I use as a base for the GDD's in my personal and work projects. Feel free to use it for yours!
My GDD template is a compilation of several ones I've found helpful throughout my courses in classes, personal work and my job. This is a great base to work on, but may have to be altered depending on your game. Don't be afraid to break the template and customize it to better fit your game!
I hope this helps! If you have any questions feel free to reach out.