Jump to content
  • Advertisement
  • 02/03/19 12:03 PM

    A Simple Format to Archive Design Decisions

    Game Design


    Before starting production on Nanotale, we took some time to prototype various typing gameplay ideas. When prototyping, you have to focus on the things you want to test, and iterate on them as fast as possible. There is no time to document everything. But the prototypes do not always speak by themselves. (Sometimes there is no playable build to keep, like the time I tested interactive dialogs by acting as the NPC and talking through Slack with a colleague. We will get back to that.) So we needed a way to archive what we learned from each iteration, in a format that would be quick to write and read.


    The Problem

    This is a common problem of design documentation. How to keep an account of the decisions that led to a design as it is? It is interesting to keep a trace of previous iterations, to look back at the evolution of a design. But more importantly, it is a waste of time if another designer (or your forgetful self) makes changes that recreate a problem that has already been solved, just because they have no knowledge of the history behind that decision.

    For all those reasons, I was looking for a practical way to link each feature to the decision path that led to it. It needed to be quick to write and to read because if we have to go back and read multiple paragraphs of history, we all know no one will do it. Surely, someone already came up with a solution, right?


    A Solution

    Sadly, I could not find anything related to game design. The results I found were tools to keep track of programming design decisions in code, as it seems programmers need a similar solution for similar reasons. Eventually, I found a research paper about an experimental tool made to present design decision-making in a simple way. It gathers “decision elements” from different sources (code annotations, designers’ UML diagrams…) and organizes them visually in a hierarchy, like bullet points. If you want to know more about the technical details of their tool, it is called “DecDoc: A Tool for Documenting Design Decisions Collaboratively and Incrementally” (Hesse, Tom-Michael & Kuehlwein, Arthur & Roehm, Tobias 30-37. 10.1109/MARCH.2016.9)

    I took inspiration from their bullet points presentation. It is brief, the icons convey a meaning that does not have to go through text. When taking notes, only a few words are necessary. It is great for what we want. Here is a made up example of what it can look like for game design:

    •  ☝️ We need X to give game experience Y
      •  ✔️ There are no other games doing X
      •  ⚠️ An aspect of X can be too costly
        • 🔑 can be limited to a few occurrences
        • 🔑 We can try the different way Z instead
        • ⇒ Give Z a test to decide
      •   How does this affect W?

    And here is a real example form the prototype of the dialogue system I was alluding to in the introduction. To give a bit of context, it was a test for a typing based branching dialog. Typing highlighted keywords would make the conversation go forward on the topic of the chosen keyword. The playtest challenged the idea of having secret keywords the player could type by himself, that they would have learned from another NPC.



    Our Version

    We took a few generic icon types from the original source and added others as they were needed. Here is the full list of the icons we have:


    ☝️ Postulate

    Let's admit that…


    👉 Assessment

    We already know that…



    Uncertainty to be resolved or define


    🛑 Problem

    This is / creates a problem / inconsistency


    ⚠️ Risk

    This seems risky and may not be fun/doable


    🚩 Flag

    This problem will probably come up later on


    ⊕ Intention

    The motive behind a decision or design



    A good thing that can be developed


    🔑 Solution

    Proposition of a solution


    💡 Idea

    Proposition of an additional feature


    ✔️ Argument for

    Argument in favor of


     Argument against

    Argument against


    ✏️ Note

    Additional information



    Final decision of what we are doing

    All the icons are basic Unicode emojis and not images to gain time and ensure full compatibility. The bullet point notes of each prototype where copy pasted into Slack for the whole studio, and you can now see an example in this article, without extra work. They can also all be drawn quickly, at least in broad strokes, to be used when taking notes with pen and paper.


    Extended Use

    When we entered into production and decided to use a wiki as our design document, we ported the icon system to it. The wiki tool that is made to convert => into ⇒ was modified to also change :idea: into 💡. Here is another example, taken from the wiki page about the consumption of “mana” to cast spells.


    We ended up using those icons to add quick “work in progress” notes in our design documents. The most common is the idea icon (💡), used whenever we want to add an idea to an existing page for later review. The couple problem (🛑) - solution (🔑 ) identifies problems and solutions to evaluate whenever we can take the time to redesign the feature. The intention icon (⊕) has been added later, specifically for the wiki, to justify the purpose of a feature.

    Game design documents are in a constant work in progress state, evolving during development. They are often out-of-date from the latest changes if you do not have someone dedicated to that (which, on our small team, we don’t). The tool and format we use to write them should support that. With our system, whenever we see a bullet point with an icon, we know that the information is still part of an ongoing discussion. Other team members can trust what is written because what is unknown or unsure is also documented. The design process is transparent in the documents.


    In the future, that system will evolve a bit like a new language. On one hand by adding the icons we need, and in the other hand by removing the ones that are not used to avoid cluttering. The list as it is now is probably a bit too long. Now that I have told you everything, I would love to know if that system can be useful to others, or if other solutions exist.

    Thank you for reading. 

      Report Article

    User Feedback

    Thanks for sharing, seems like a good approach, and very easy to work with! :)

    Have you also read Daniel Cook's description of "Game Design Logs"?

    Share this comment

    Link to comment
    Share on other sites

    I like to use Freemind for such stuff. It has the advantage that is dynamic so nodes can be folded/unfolded to keep the information clear. If something new comes around for a specific topic you can just add a child node for this specific topic node to add detail information (for example problems, thoughts, decisions and more). Detail info is then folded away to not clutter the main information. If somebody comes around he can look at the child nodes to see if there is something important. I also attach icons to the nodes if they are of specific importance. Last but not least you can link nodes. Allows to create node groups about a specific topic leading straight to the actual text nodes with the in-detail explanations. I've seen no better tool so far to organize simple to complex project information without turning into a clutter-festival.

    Share this comment

    Link to comment
    Share on other sites

    @jbadams No, I didn't. Thank you very much for sharing. 

    @RPTD That's another way to do it. Doesn't it become too messy at some point using a mindmap? 

    Share this comment

    Link to comment
    Share on other sites
    8 hours ago, FishingCactus said:

    @jbadams No, I didn't. Thank you very much for sharing. 

    @RPTD That's another way to do it. Doesn't it become too messy at some point using a mindmap? 

    Personally I don't think so. It depends on how you organize it.

    The strength of Freemind is that you can keep all the detail stuff collapsed until you really need it. So if new info comes by you can really attach it to the place where it belongs (adding detail info). It's there while not cluttering which I find a great help.

    Furthermore the linking helps a lot to keep information tidy while finding it which I find very difficult with linear design docs. It does not matter where somebody thinks a certain detail info is attached to best (often more than one place) because at the other places you can just add a link to it. In my case for example I use to have detail info on character abilities underneath the character. If there is for example a scene/task/plot-point where I want to focus on such an ability I can plop in a node pointing to the root node describing the ability in detail. So if somebody comes by this scene/task/plot-point and sees this link and wants to read the additional info (or add important info himself) he can just straight jump to it without needing to know where the info is located nor having debates about where it should be.

    I think important with Freemind and Co. is also to have a "links" node which contains child nodes linking to important places. This way you can keep the majority of nodes collapsed, keep the important parts visible, and still quickly locate and update the info you need.

    As with all tools people need to apply a certain level of discipline. For example to not make more than 10-20 child nodes and grouping them if they get too numerous. If used the right way I think it's a great help especially in contrary to linear design documents.

    Share this comment

    Link to comment
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Advertisement
  • What is your GameDev Story?

    In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

    (You must login to your GameDev.net account.)

  • Latest Featured Articles

  • Featured Blogs

  • Advertisement
  • Popular Now

  • Similar Content

    • By SephireX
      I have a few questions regarding best practice for engine design.
      1. Should smart pointers be used at a low level in the engine such as in the renderer or do they cause a significant decrease in performance?
      2. Should the physics engine be wrapped in an abstraction layer to allow for other physics engines? For example this would allow a change of physics engine later. Although the wrapper would likely have to change to facilitate the new one.
      3. The Banshee3D engine is an example of an engine that defines a common interface for physics, sound, renderer, rendering api and creates the implementations as plugins. This seems like a nice flexible approach instead of having the implementations as part of the main codebase. Are there any downsides to doing this? Of course this engine is open source and intended to be general purpose. i think the author's idea was to allow the user to more easily switch to different third party libraries.
    • By JoAndRoPo
      I hope this is the right area in the forum to post this question? 🤔 
      There are games with clear data and restore purchases in the settings page. 
      Question#1: What all does get cleared when clicking on clear data? Does this only clear player statistics & player experience? What about things that the player has purchased with in-game currencies (Can this be an option placed from the developers end? Question#2: What does get restored when clicking on restore purchases? Will it restore everything that the player has purchased with real currency?   I have a basic idea on what these 2 features do but would also like to know of all the possibilities available?
    • By VDinh
      Final Fantasy XV by Square Enix has a very immersive nature using multiple different types of immersion to keep the player entranced. Immersion is generally described as when the player gets absorbed into the game and loses some sense of reality. The different types of immersion don’t occur separately but rather simultaneously and at different times which is much more effective than applying one type of immersion alone or applying all of the types, all of the time.
      Final Fantasy XV builds up Spatial immersion from the environment of the game by making it seem possible and believable to the player. Narrative immersion comes into play as the game builds the characters’ stories and conflicts those characters are involved with. The general combat mechanics of the game give the player challenges the create strategic immersion to engross the player.  The immersion created by the game, absorbs the player and makes them put reality outside of their consciousness.
      Spatial Immersion
      Spatial immersion occurs when the player feels that they are actually present in the game environment instead of merely thinking that they are observing the game from a monitor2. Final Fantasy XV achieves this by creating environments that are believable to the player by making sure nothing is out of place in the setting like by not having lots of wild life roaming a desert3. This doesn’t mean that the environment needs to match reality but rather the environments should fit in the lore and setting of the game itself.
      Final Fantasy XV does this by making the towns and cities outside of the Crown City, Insomnia, appear almost rundown and at a lower technology level than Insomnia as it appears as a very modern city with skyscrapers, due to the fact that Insomnia became cut off from the world for decades. The environments in the game are also very detailed requiring the player to mentally comprehend the complexity which adds to the immersion1.

      Certain aspects of the environment of the game world were designed around how reality works as the Sun in Final Fantasy XV is much brighter than anything else in the game and instead of having the light be adjusted so that the player can see, the camera adjusts to the change in light much like our eyes do. The characters’ clothing and the vehicle they drive in become dirty depending on the current location, for example covered in dust when in a savanna and shiny and wet when submerged in water.
      These details add to the believability of the game environment as they try to closely resemble reality which makes the player believe that they are actually in the game world instead of in reality.
      Narrative Immersion
      Narrative immersion occurs when the player emotionally becomes involved in the game in some way rather than merely observing from a distance3. Final Fantasy XV does well to entrance players through a narrative standpoint as it creates characters with characteristics or dilemmas that the player may resonate with.
      As the player learns more about the characters and witness the characters fight through inner and outer conflicts, the player becomes emotionally attached to the narrative creating immersion. This emotionally attachment propels players to keep playing to learn more about the characters or find out if they succeed or not.
      The characters of Final Fantasy XV all have some sort of problem designed emotionally connect with the player ranging from being insecure bout one’s self, suffering painful losses, feeling powerless, and others. This emotional involvement about caring for the outcome creates a strong narrative immersion for the player3. The narrative of Final Fantasy XV also follows conventional storytelling techniques well with large plot twists, buildup of tension, large climaxes, and complete resolutions of conflict.
      Strategic Immersion
      Strategic immersion occurs as a player engages in task with a series of goals that the player focuses on2. The combat mechanics in Final Fantasy XV allow for the player to engross themselves by how to fight enemies. The player can use their intellect to solve for the best solution of how to fight particular enemies. This calculation could take into account the enemies’ weakness, the current supply of equipment the player has, and the strengths of each character currently in the party.
      Final Fantasy XV allows the player to use a wait mode in combat which freezes time when a player checks the status of enemies which lets a player to take as much time as they want to analyze an enemy and plan a strategy. This builds strategic immersion as the player becomes focused on how to defeat difficult enemies. There are also many places in Final Fantasy XV which solely contain difficult puzzles that the player must solve. These places can easily ensnare players into playing as they continue to try and solve puzzle after puzzle.

      The three types of immersion stated are not always in use during gameplay and are not always used alone. The prevalent type of immersion in Final Fantasy XV is spatial immersion as the player is always in graphically intense environments that put the player in the game. Rather the narrative and strategic types of immersion are only applicable during certain moments of gameplay.
      Narrative immersion only occurs during the main quest or side quests closely related to the main quest like detours that go more in depth into main characters. While strategic immersion only occurs during battles or puzzles however that doesn’t mean that narrative and strategic immersion cannot overlap as there are hard bosses during the main quest and character dialogue may progress during fights.
      So, a combination of different types of immersion can lead to a greater effect also having breaks from a certain type of immersion can prevent a player from getting tired or bored from being exposed to too much.
      1.     Analysis: The Psychology of Immersion in Video Games (2010) by Jamie Madigan. Retrieved at http://www.gamasutra.com/view/news/29910/Analysis_The_Psychology_of_Immersion_in_Video_Games.php
      2.     Different types of immersion and how they work (2012) by Daniel Moeller. Retrieved at https://ispr.info/2012/06/28/different-types-of-immersion-and-how-they-work/
      3.     What do we mean when we call a game 'immersive'? (2010) by Keith Stuart. Retrieved at https://www.theguardian.com/technology/gamesblog/2010/aug/10/games-science-of-immersion
    • By Javi Raijin
      Hey! I feel spam, but I'm doing a project to draw all the gods of Nordic mythology to make an app that collects all the information about them and then add creatures and heroes.  All the images and the interface will be created by me, unlike the other applications that take images of the internet.
      Any support I would appreciate
      PATREON: https://www.patreon.com/raijinsillustrations
      Odin the god of gods

    • By Bhelisarios
      I'm a former student of IT (one year) and now I study mass media. I quit because I felt not good enough to be a real programmer, but I always had a knack for mathematics and have a creative mind. IT was my dream (mainly game creating) when I was young. Now I miss it and want to go for it and do it as a non-profit hobby.
      However, it isn't easy as you all know. Always being a fan of RTS or RPG games it's hard to get involved in easier projects. Never played 2D platformers, puzzle games or FPS. I know they are the way to learn, but they are the same boring to create as to play for me. Not learning much with little progress making these genres I feel lost. 
      So, to the point of this post. How should I approach my problem to continue my hobby? I enjoy logical and algorithmic approach to problems and also creating simple pixel art is fun. Thank everyone for replies

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!