Recurse Games

The Amaranth Saga - October 2018 Update

October 28, 2018 | View Comments |

I’ve been working on The Amaranth Saga for 10 months (part-time) - I’d say I’m overdue for a development update. Also I’m doing the networking thing tonight, and it’d be unfortunate if I directed people to an out-of-date website.

So my pitch for The Amaranth Saga is a fantasy epic in which you are the main character. A simulated, procedurally generated world in which the player lives their life. The focus is the story, so it’s a sort of choose-your-own-adventure rpg/strategy.

Naturally, I’ve fallen behind, and the spreadsheet which tracks my progress is estimating an end date in 2025. But this is a passion project, and I wouldn’t want to be doing anything else. So the plan is to reflect, reduce time-wasting in future, and keep going.

I started serious development in February, with a few prototypes, designs, and Lives of the Azar to start from. Lives of the Azar was my 2017 NaNoGenMo entry, a medieval simulation which churned out random events, compiled into a collection of biographies. I spent most of February setting up Unity and adding a 3D world map.

The Amaranth Saga 3D world map

In March I switched to a 2D map and updated the UI. 3D was time-consuming and too hard to pull off with my artistic skills. By now, there was an in-game encyclopedia and you could click names and places to bring up placeholder descriptions.

The Amaranth Saga 2D world map

From April to July, I added maps of individual locations and populated the game-world with houses which the player could visit. I was going to add monsters and monster hunting next, but I suspected the gameplay would be pretty boring. Instead, I decided to work more on the life simulator side of the gameplay. But at this time, progress slowed. Development became dominated by two systems, Spiel and the Knowledge framework.

The Amaranth Saga July UI

Spiel is a open-source system for generating text. It takes abstract concepts (such as Paul married Phillip) and converts them into text based on context (e.g., “Paul married Phillip”, “He married Paul”, “Your father Paul married Phillip”, etc.). It automatically merges sentences (“Sue attacked Paul” + “Sue killed Paul” = “Sue attacked and killed Paul”) and arranges pronouns for readability. Designing it has also been exceptionally complex, and consumed about 3 months. But although the new system is more flexible and has better quality output, it’s not a substantial improvement over what I already had in Lives of the Azar in 2017. So I’m not particularly satisfied with the effort I’ve spent on it.

The Knowledge framework tracks objective and subjective reality. It tracks the game-state, but also what the player (and NPCs) know about the game-state. It performs deduction (e.g., identifying people as siblings if they share a parent) and dissemination (allowing people to tell others about things they’ve witnessed, transferring knowledge). Like Spiel, it is quite complex, but only took about 1.5 months to complete. This system is core to building a world where no-one is omniscient and misunderstandings are possible (in fact, it’s already generated accidental incest along the lines of Oedipus Rex). Combined with Spiel, it allows events (like births and deaths) to be presented through dialog with NPCs, in-game books, and notifications displayed to the player. Although I would’ve liked to complete it faster, I’m a bit more confident that my work on the Knowledge framework will pay off.

This October, I’ve adapted the generated histories from Lives of the Azar to be communicated to the player in second-person. The Unity UI hasn’t been updated yet, but the game can be played through my debugging UI. This is a first step towards the player living their character’s life, and I’m happy to have reached this milestone.

The Amaranth Saga October console UI

Right now, things just happen to the player. For the remainder of 2018, I will probably focus on giving them choice over things like what relationships they pursue, whether to reject suitors, and whether to start rebellions (all events currently in the simulation). I’ll also rethink my planned milestones and decide on the next steps to achieve the final vision.

comments powered by Disqus