I am basically (shamelessly) copying a question that has appeared on SO few years ago. The answers are good, but I would like to get more on this topic, so I'm trying a more specialized subreddit substackexchange. What I'm secretly hoping for is an answer from Byte56, I wonder if he has wrote a spec for AoG? :)
I'm trying to write a functional spec for a game according to Joel's article series (who wouldn't love anything this genius guy writes) and I'm not happy with my current approach. It's much easier to write a functional spec for a web application, or a website (my full-time job is still web app development) where I can describe every possible screen in a separate chapter, and also scenarios are easier to come up with.
The game is a turn-based logic/puzzle game, but it's fast and fun enough to play for many audiences, so:
- Should I write scenarios based on various gamer types (e.g. nervous FPS players, macro-obsessed strategy guys, solitaire loving housewives, etc.) and try to describe what will they expect from the game and how will they use it?
- What should represent "screens" in the spec; the game screens (e.g. menu, loading screen, main game screen, etc.) or should I rather describe all different possible in-game situations as screens (e.g. my turn, waiting for opponent's turn, possible turns, what happens if I make a invalid move, etc.)?
Just writing this question helped me to settle my thoughts about the spec, but I'm submitting it to see if I can get any good answers from this great community.