World Building with Fantasia Archive

World Building with Fantasia Archive

Fantasia Archive is a young but promising application that helps you keep track of all the things and relations between them in your imaginary world and is a great tool for worldbuilding your novel’s reality.

Recently, I've been doing some worldbuilding in preparation for my debut novel next year. As I’m imaging planets, maps, cultures, nations, organisations, histories, characters, ecologies, technologies and everything else that goes into a world, I’ve been keeping tabs on my ideas in a LibreOffice Writer document (if you don’t know LibreOffice, it’s like MS Office but free and open source).

But these things don’t stand on their own, they all relate to each other. For example, a language originates in a country and is spoken by a group of people. The countries themselves may be defined geographically, but a nation may encompass many such countries, perhaps because of one nation conquering a country and add it to their territory. There’s backstory there, that is linked to the nation and the individual countries. Each character may be tied to a country, specific cultures or groups, etcetera.

Capturing those relations is hard in a text document. If you use sub-headings, you can only put each tidbit under one such subheading. You can create links from one section to another, but that becomes unwieldy quite quickly. Wouldn't it be great to have a tool that would allow you to create those relations and manage them effectively? I already started planning such a tool (as if I don't have enough hobbies already), but then came across Fantasia Archive.

Over the past week I’ve given it a try, transferring content from my worldbuilding document into Fantasia Archive, and what follows is an overview of my experience so far.

The Good

When you start the program (versions are available for Linux, MacOS and Windows) you’ll be greeted by a friendly welcome screen. The program has an appealing visual design, and is intuitive to work with. The little dragon is the program’s mascot, but if you’re not into fluffy dragons you can hide it from the settings. If, like me, you prefer to reduce the strain on your eyes from bright white light, there is a beautiful dark theme as well. By default, all fields are shown when viewing a document, which clutters the display a lot. Fortunately, there is an option to hide empty fields, which makes for quite a clear presentation.

Project opening screen with bar graph showing world progress

In essence, Fantasia Archive is a hierarchical document database. At the top is the project. You can only have one project active at a time, but you can export the current project and import another project (much like saving and loading a document in a word processor).

In each project, the top of the hierarchy consists of the document types, for example: ‘Characters’, ‘Locations/Geography’ and ‘Events’. The top level categories are hard-coded, but are fairly comprehensive and should be enough to accommodate even the more complex projects. Documents are created within these top-level categories. Documents themselves can contain other documents, which allows you to create a hierarchy of sub-categories. For example, you could create a location document for each planet in your solar system, and then under each of those planets create the countries or other locations of interest for each of the planets. Then you could add cities to each of the countries to further drill down. There is no limit (well, no practical limit anyway). You could drill down even further to city districts or even individual buildings, rooms or street corners if your story requires it.

A document consists of free text with basic formatting abilities, annotated with a number of properties such as the name, its categorization in the document hierarchy and a number of properties specific to the document type. On the left, the hierarchy of documents is shown.

Properties that can be attached to documents are two-fold. First we can assign simple descriptive properties such as a character’s physical properties (sex, age, length, ...) or a location’s basic information (size, population, ...). You can query the document database based on these properties with a powerful search engine.

The second kind of properties are the relations between documents. For example, a character can be linked to a location (actually, there are multiple location links possible: place of birth, place of residence and place of demise), or a location can be linked to religions and languages. This let’s you make powerful connections between all the details of your world and really helps organise the facts of the world. And they are searchable too.

Document view

As an example of in-world relations, I can link my protagonist’s character to a specific event. Let’s say, for example, there was a convention on a space station where our protagonist held a presentation. If later in my story I decide another character would have met the protagonist at that convention, I could go into my worldbuilding database, pull up the event, see if the character was there and if not add her to the convention. At the same time, I can check the secondary character’s record to see if she wasn’t already present at some other event, and thus can avoid contradictions and inconsistencies in the story.

The system of documents and relations is well thought through and quite intuitive to work with. The powerful search is a bit more complicated to wrap your head around, but once you have that mastered it will be a great tool while writing your novel. You can quite easily pull up the data that’s relevant for the particular scene you are working on.

The Bad

This section is titled ‘The Bad’, but that is a bit of an exaggeration. The project hasn’t been around for long. In fact, the first commit in the source code repository dates from 30 January of this year (with the first directory on the developer’s machine created on Christmas day 2020). The progress so far is impressive. It would be unfair to expect a polished and perfect application in just four months.

There are some bugs, for example when creating a new document sometimes you will end up on an existing document and you need to click the icon a second time. But those are all fairly benign and once you are aware of them they are easy to work around.

It also lacks some elementary features. There is no support (yet, see below) for including images in your documents nor are tables supported in the editor either. The documents are stored as html though, so if you’re nerdy enough, you can just go to the html source code and add image tags or html tables. But that’s far from ideal, not in the least because the images will not be part of the project but will reside somewhere on your local disk. Remove or move the image, and your project will show a broken image.

You can add ‘Chapters’ to the database, which suggests you could use it to write your novel. However, I think I will stick to LibreOffice Writer for that for the time being. Especially when you write to be published, you are going to have to interact with your editors at some point. And those editors will work in MS Word, using track changes to communicate back and forth about their edits. This is not possible in Fantasia Archive, and you can’t export the chapters to a LibreOffice or Word document either (although export support for other formats is planned).

Also be aware that this is an electron app. On the one hand, that is a good thing, because it means it is cross-platform by default. Basically, an electron app is a web browser running a web app disguised as a desktop application. But on the other hand, this entails that it is quite hungry for resources such as CPU and memory, and performance is a bit of an issue (although there are already improvements in the pipeline there as well).

Working with projects is a bit clunky at the moment. The projects are stored in a database that is not intended to be user accessible. You can export a project, which will create a single directory with a bunch of files in it (which contains a json representation of all information in the project, which is nice). You can also import these files back into the application. This works, but it takes some getting used to if you’re accustomed to other desktop applications that work with single-file documents that you open and save. There are plans to improve this in future versions though.


For a project that is as young as Fantasia Archive, this is quite a mature application. Sure, there are bugs and features that should be there but are not. However, it is open source, which means that if you feel so inclined you can contribute with bug-fixes and features. There is an open and welcoming community (on the proprietary walled garden social network Discord) and the developer is very approachable.

In addition, there is a detailed roadmap for the project that includes most (if not all) of the features that I mentioned under ‘The Bad’, and more, as well as a dump of more detailed ideas. There’s a clear vision of where the project is going.

The application also has a bunch of features geared towards the RPG community, but it’s easy to ignore those that only make sense in that context.

I’m quite excited about this project, and will keep using it. Hopefully I’ll be able to contribute with some code as well. It will be fun to see this grow. There is good momentum behind it, with an active core developer and a lively community. If you are in search for a worldbuilding tool, you should really give this a go! Now is the right time to get in if you want to be able to say, ‘I was using Fantasia Archive before everyone started using it!’

Update: This review is based on release 0.1.5. A new version, 0.1.6, is out and improves the performance. The pace of development is fast, so by the time you read this article there will likely have been many more releases addressing some of the issues mentioned.