There are many different approaches you can use. Since the 1980s, I've been designing an MMORPG and using a hierarchial point-form layout in simple ASCII text files (which are also organized hierarchially)...
Initially, I started out with a vision of having a system with a bank of modems, which was inspired by a real-time multi-user game called Infinity Complex on a multi-line BBS which was apparently running the Galacticom BBS software. Then in the 1990s the internet swept the public by storm, and I upgraded (or scaled up) my vision to accommodate a much larger multi-player base.
To organize the data, I have a set of directories like this:
Project_name
Concepts
- Cartography (maps of the planet, continents, cities, dungeons, etc.)
- Creatures (monsters that are computer-controlled)
- Environment (plants, buildings, terrain, etc.)
- Foods (some real, some fantasy)
- Items (things the players can pick up and use like tools, art, etc.)
- Magic (spells, potions, equipment like wands, etc.)
- Quests
- Shops
- Species (the player-controlled characters, most species have multiple races)
Documents
- Background (detailed histories that are not fully explained in the story)
- Dictionary (almost exclusively for made-up words)
- Encyclopedia (almost exclusively for made-up things and places)
- Story (mine is currently larger than 65 MBs of pure ASCII text, divided up into numbered book sub-directories each containing separate files like "chapter8.txt")
Miscellaneous
- Marketing ideas
- Screen shots from other games
Source
- Database
- Prototypes
- Production (this one is currently empty as I'm currently developing prototypes)
Specifications
- Interface
- Protocol (for client-server communications)
- Size of elements (or tiles, etc.)
Within many of these directories, I have a variety of text files named simply and logically, and then in many cases I also have accompanying "Research" directories where I store more files that are the result of research that I've done over the years...
For the Orc species I have a file called "Concepts/Species/Orc.txt" which contains specifications, the various races, abilities, natural intelligence levels, and other information about Orcs. I also have a "Concepts/Species/Research/Orc/" directory which contains pictures and other information about Orcs which I have researched over the years. If I create art for Orcs some day, then I will store it in the "Concepts/Species/Art/Orc/" directory (and make any subdirectories there for the different races, or whatever, if necessary).
For other species, just change "Orc" to whatever the name of that species is. For a species I created where there is no pre-existing data anywhere to be found, if there is something similar to it then I store a copy of it in the relevant "Research" directory for that species. If I need to add a note to a .PDF file, for example, then I'll create a .txt file with the same base filename and save my notes in there.
Another example would be "Shops" which works in pretty much the same way. For the Weapons shop (which is sometimes combined with the Armoury and/or Archery shops in some towns), I have a text file called "Concepts/Shops/Weaponry.txt" which contains a list of various weapons that these shops can carry. There's also another sub-heading for "specialized weapons" in this same text file that lists certain specific weapons that are only available in a few shops throughout the world, along with a little bit of background about why (e.g., the merchant has a specialized skill that is needed to create this particular type of weapon, and there are only three characters throughout the world that have this skill). For shops that are sometimes combined with other shops, I have a special sub-heading in my text file for this too, with references to the filenames for those shops (and then I make sure those shops reference back as well). For pictures of weapons and documentation about how various weapons work (from researching the internet, scanning pages from library books, etc.), I store these files in the "Concepts/Shops/Research/Weaponry/" directory.
The key with using a hierarchy like this effectively though is to try to keep the structure deep instead of flat. In other words, don't fill up your higher (closer to the "root" or "top") in your structure with too many categories -- sub-categorize instead. (If you're so inclined, use a database to store your information; my personal preference just happens to be a deep directory structure instead, and it works quite well for my needs.) If you go flat-and-wide instead of deep, it will become a challenge to navigate and manage, and over time it will feel "disorganized" and be more of a pain to work with.
Under "Project_name" I do keep a few text files, which are:
- credits.txt (a list of people who have contributed a few ideas, support, etc.)
- description.txt (a generalized description of the project, will be useful in marketing)
- names.txt (literally thousands of names I've been dreaming up all these years)
- vision.txt (general purpose of this project, key features, benefits to users, etc.)
Under the other directories I often have a "resources.txt" file that includes links to web sites (and the dates I found them just in case I need to use a service like "archive.org" to view them in the future) with a note about why the link is relevant. These are the types of resources that I don't absolutely have to have, but would be useful in expanding on further research should I need to at some point (searching for stuff in Google is very helpful, but pre-determined resources like this can still save a lot of time).
I hope this is helpful to you, or, at the very least, interesting enough to get you started.