It has become my turn to speak my mind again. This time I will talk about the importance of documentation in game design, and how we use (and will use) documentation while developing Tale of Omni.
I will start out by addressing the tools we use. We have changed our toolset a couple of times throughout development in terms of documentary tools, but I think we are somewhat settled by now. This will not be to say, that these tools are better than other tools, but the tools we have chosen is forming the way we work, which is why I believe they should be addressed.
Secondly I will be laying out a series of problems, which we have had. Problems I would say mainly existed because of a lack or misuse of documentation. This is not to say we started out completely without any use of documentation! From the very beginning we have been very throughout when it came to document our meetings, and writing down our thoughts. But it has been a continuously revisited area, and we have been through a lot of trouble because of it.
Lastly I will address the problems, and describe how things are done on the team currently to avoid said problems. I will however be truthful: Our approach has not magically removed all the problems. It has, however, decrease the amount quite a bit. Anyway - let us start at...
Since I am the originator of the project, it should be stated, that for the longest of time - and still quite a bit currently - the documentation was me. I have been pretty good at remembering decisions made during the project, and especially because the project started out somewhat smaller in scope, I could quite easily remember the broad strokes (I did write notes down for myself sometimes). As the team became a thing, I was still the main documentation, which opened up for some of the problems, I will address later in the post. But we did begin to write down a lot of things.
We started out using Google Drive and Docs to collaborate on documents, and we began having meetings (meetings being a great tool for discussing progress and problems), which we also documented.
We also from very early on began to use Trello for our graphics pipeline (see below). Well, it started out being for general planning, then developed to be graphics only. Now we have multiple Trello boards to cover both graphics, programming and quality assurance.
We did use scrumy for a while too, but that did not work out for us, as we never fully implemented the scrum method, and often forgot about it.
Docs worked great in terms of sharing the documentation and being able to work on it together, but after a while we moved on to Dropbox Paper for our document writing purposes (we still use Drive for other files). As with Drive, Paper allows us to share files and work on them together, but it also allows for easy implementation of resources (videos, pictures, and lots more), tagging, easy cross-document referencing, and is not very cluttered to look at. It is almost the perfect tool for us. You can see in the image below as an example, how we use Paper for gathering inspiration for different areas in the game.
We have also recently adopted Slack into the tool family. While we do not use it for documentation per se, I think it is worth mentioning. We started out just communicating through Facebook chat, but we wanted to move away from Facebook, as we do not feel comfortable sharing important stuff and imagery in the chat. Also, by using Slack instead, we could divide the chat into multiple areas of discussion, thus making it easier to re-find information at a later date (ie. it is sort of used as documentation). Slack can integrate both Paper, Drive and Trello, which is perfect, and also Bitbucket, which I use to keep track of my code. This allows the other team members to follow my progress easily, which is nice.
tl;dr: The main tools currently in use are:
As I described in the previous segment, a lot of the project have been happening inside my head. Since the project has been ever changing, I started out quite reluctant at writing too much down. We had our meetings, we wrote a lot down, but we did not really differentiate a lot between ideas and solid "this is how it will be"s.
As I were sitting with the code and am the most experienced one of us when it comes to making games, I had a clear image and vision in my head, and it felt quite obvious to me what could and could not be done, what was solid, and what was not. However, as time passed, I had to re-explain a lot of elements again and again for the team, and it felt like a lot of discussions resurfaced continuously. Further more ideas where often suggested which would change the course of the game dramatically.
To summarize this as problem #1: People are not mind readers, and while a forum open to suggestions are good, ideas need to be solidified at some point. We cannot keep on changing direction. We were too stuck in ideation.
Problem #2: While we did write down a lot of notes, especially during our meetings, they were rarely visited or revisited. I believe this problem roots in missing accessibility and order of importance. We have a lot of documents, but that also means there is a lot to read, and...
In short, while documentation is good, it needs to be a feasible amount, and you need to be able to find what you need - easily.
But this is not the only roots of this problem: While using scrumy this was apparent. It was one page in the browser you had to go update whenever you had a new assignment, progressed on one, or solved one. Pretty easy. Still, I found that I was the only one actually doing it, which ruined the purpose of it. I stressed again and again that it was important to do this, but it never came to be...
...problem 3: Motivation. This is independent of whatever system is in use. The team needs to use it, else it is of no use. Honestly I believe this is an everlasting issue, especially when the project is not funded in any way or form. Everyone have their own lives to live besides the project, which makes it a constant battle for me to figure out how much I can push the rest of the team. On one hand I demand that they prioritize the project a great deal, else nothing will get done. On the other hand, I cannot force them to prioritize it as highly as I do.
Anyway: Motivation is a tricky thing, but I am trying to keep it in mind, as it is a very important factor.
These three problems are by no means the only problems we have run into during our process, but I think more problems will make this blog post way too long. Let us get to...
The problems laid out above have greatly been shaping how we work on Tale of Omni on the team, but I must disclaim: Some of the solutions to the problems, I will tell you about just now, are pretty newly implemented (some of them not fully), so exactly how well they will work, I cannot surely know. But game development is a process, and this is where we currently stand:
Externalization, a solution to problem #1: While externalizing our ideas and thoughts are generally great, this one is (at least for now) very much a task for me. I have spend a lot of time recently to externalize the project and make it readily available to the team. I developed a vision for the project, which we refined at a meeting, to grant us a general sense of direction, as well as a design document to make it clear what the game will feature, how exactly mechanics will function, etc. (Yes, truly, we had no game design document before this - the information were spread across my head and a multitude of different documents). More recently I have begun work on three "super users" - the target group for the game. These will still need further development, and especially the Oracle will play a huge part in refining them.
Accessibility, a solution to problem #2: Using Paper gives us a lot of niceties, as I described much earlier in the post. First as foremost, the overview is pretty clear! But what I believe, will become really useful for us, is the #tagging. We have not widely adapted it yet, but the Bard and I have begun development on some tags to use to mark ideas, so that we can easily find, return to them, and discuss them, without needing to search through 4-5 old meeting documents.
In a similar vain the integration of Paper into Slack makes it easier than ever to share meeting notes and other documents with the rest of the team, and summarize what happened on the meeting (in case some team members were not there). I think these improvements of accessibility have been much needed.
For problem #3... I honestly have no generic solution. What we can do, is motivate each other, but it is a tough chore shared by us all. Hopefully the added accessibility of documentation and externalization of the game design will aid to the documentation. Hopefully being able to read a clear vision will do good. We will see. I think, I need to eat something now.
Kind regards,
The Architect