I keep talking about how important it is to create a project of your game and plan its elements. However, there is still a catch. You can overdo it. Specifying all game details does not always make sense. You may find that certain systems that accurately define the paper make sense. However, during the creation of the game, there are problems and it turns out that you have to throw the whole system. What happened? You have lost time to create accurate documentation.
This I tried to avoid when I created (I still create) GDD for best Hacking Software. More precisely, I describe only those things that I am sure of, and the more distant I just mention that I do not escape from my head. I did not specify there exactly all the variables, which I will use to tweak the movement of the characters, because still at the stage of creating a character controller, which will suit me.
So you can expect that as the game progresses, GDD will be replenished with new details. Unfortunately, these works go quite slowly:(