The Amaranth Saga Development - February 2017

March 1, 2017 | Posted in Development | View comments

Handwritten design notes A tiny fraction of Saga's design notes

These past few weeks have been extremely busy. Most of this time has been spent setting up this website and related social media accounts. One of those unfortunate indie development overheads. Still, it's never to early to start marketing, so I'm told.

All of this follows a couple months of work finalising The Amaranth Saga' design. As a complete simulation of medieval society, there's a lot of work involved in putting it together. The scope is being carefully controlled to make sure the game actually gets finished. This is really a topic for another blog post but, in short, Saga will simulate a world where:

  • Generations of people live and die
  • Peasants toil for subsistence and trade
  • Bands of warriors are gathered for war and raiding
  • Lords and their vassals vie for power

Low level designs (class diagrams and technical user stories, for you IT nerds out there), and in some cases coding, have been completed for the following systems:

Events
Tracks all events which occur in the game-world, through which the simulation changes over time.
Dependencies
Maintains relationships between things like time, hunger, and a character's motivation to eat.
Knowledge
Allows characters to have incomplete knowledge of the world around them.
Space
Tracks the locations of people and other entities, as well as what is visible to whom.
Statuses
Supports character states like disease, age, and pregnancy.
Acting
Tracks what actions characters are doing at any given time, what they're capable of and how they influence the world.
Alerts
Allows characters to have conversations and respond to events like combat and interruptions to their normal activity.
Behaviours
The basis for character AI, this system maintains a hierarchy of behaviours which determine character's actions and allow creative planning.
Tasking
Used by the AI to gather and command followers to complete tasks, be commanded in this way, and to handle reallocation and delegation.
Offence
Allows characters to respond to disobedience, theft and betrayal.

It should be stressed that, while this looks like a lot of up-front design, not all of it will be developed immediately. However, the design work is essential to ensure the finished product can actually work, as well as to inform how the player and AI alike will interact with the game-world.

Several systems still remain to be investigated. The main ones are:

Relationships
Partially complete. Records the relationships between characters (who is subservient to whom, friendships and romance) and how one-sided these are.
Messaging
Partially complete. Used by characters to deliver orders, information, requests and announcements. Must handle delegation (messaged may be delivered on another person's behalf) failure (sometimes messengers won't arrive).
Logistics
Partially complete. Used by the AI to ensure followers and dependants are supplied with food and lodgings. Requires rough estimation of supply availabilities, surpluses and shortages. Also handles rationing and debt.
Language
Partially complete. Used to construct natural language descriptions of characters, messages, places and organisations.
Hierarchy of Needs
Not started. The set of all behaviours which motivate characters, from hunger and gossip to ambition and hate.

I'm working on logistics now. Like previous design work, there are two parts to it. Understanding its complexity, and then making it simple. Once this and the remaining systems have been figured out, I can move onto creating a wireframe which shows how those systems will be presented.

That's about it for this blog entry. Next week will be occupied by the 7DRL competition, and then work on Saga can resume properly.