Posted on

Secrets and Lies – The Intrigue System

No game about Machiavellian scheming, least of all one modelled on the Byzantine empire, would be complete without a fully-fleshed-out intrigue and espionage system! In Imperia, we aim to go beyond the usual ‘stick a spy in a place and wait to know things/do stuff’ routine that usually makes up espionage systems in 4X games. Those systems have very simple, rather boring feedback loops: you pays your money and you takes your chances, maybe with a simple upgrade-your-spooks mechanism tacked on. Our system, on the other hand, is built right into the fabric of the game.

The Imperia intrigue system has two main ‘legs’: the way Edicts work (Edicts being the way you build fleets, develop your worlds, and generally do things that fall under ‘exploit’ in the 5X quinity) and the Secrets system. Now your Empire is crumbling, corrupt, and under the sway of numberless light-fingered lordlings, and the Edict system reflects that. Rather than simply paying for, say, a new planetary mining network yourself, you assign a number of characters to carry out the construction. These characters contribute resources, administrative clout, and money to a central ‘pool’; once the requisite amounts have been amassed, the mining network is established! So far, so good – BUT. The characters aren’t restricted to adding to the pool – they can steal from it, too, and contribute ADM (administrative power) to hold the project back, rather than advance it. And contributions to the pool are anonymous. You can see what has been stolen, but a canny corrupt character will be careful only to steal from Edicts with many characters assigned to them.

What this means is that, in order to catch out your corrupt officials, you must set up Edicts to trap them and flush them out. Put your suspects in an Edict with a set of squeaky-clean characters, and see what they do – but perhaps they’ll catch on. Check out their Edict history – is it full of corruption? Is there anyone else it could be? You are building up partial information to try and infer who’s really guilty, in the spirit of a whodunnit, in order to avoid arresting the wrong man – your vassals will really not appreciate an undeserved evening with the Inquisition.

The other ‘leg’ of the intrigue system is the Secret system. Characters can engage in all manner of plots and sinister dealings, and have a number of secret attitudes to one another and to you. And, as you might expect, this creates the problem: who knows what? Our solution is to have every plot and secret attitude generate Secret tokens, which can be copied from character to character. (When you play the game itself, there will be no mention of ‘tokens’ – it’s just a board game metaphor to make it easier to visualise from our perspective as designers.) Each Secret has a list of characters it Incriminates and characters that Must Not Know that secret, such as the authorities, the targets of a plot, the cuckolded spouse of a lover, and so on. If one of the latter gains the Secret Token, there will be consequences for the former – the secret may be made public, revealing it to all other Must Not Know characters, firing all of their consequence triggers (eg. changing their public stance, making the Incriminated valid targets of Inquisitorial Purging, etc) and then deleting the Secret Tokens as there is no more use for them; or the MNK character may do something private, such as gain a Grudge secret attitude against the Incriminated. Secrets, when gained, can be used to blackmail their Incriminated; they can reveal their secret attitudes towards the MNKs, revealing whether they had a motive for their assassination, for example; or they can simply reveal that a character is not as trustworthy as you thought.

A single Plot may generate a whole pile of different Secrets. One might say that Character X and Character Y are conspiring together, without revealing their aim, whilst another might simply state that there is a plot to assassinate Character Z involving at least three conspirators. A third might name Character W as a conspirator, and link the other two Secrets together. Each of these Secrets is kept in your Intrigue window, and can be searched, filtered, and juxtaposed in order to work out what piece of information you need next – who to spy upon and who to squeeze for their Secrets. This in turn links back in to the rest of the game – can you afford to antagonise that character? Is there something they want? What will it cost you to find the answer – or is it worth the risk to leave the conspirators at large?

Finally, one of the most important considerations with a system like this is to make sure there aren’t too few or too many plots and secrets going on, so there are enough to keep things interesting without swamping you with conspiracies. That’s why one of the functions of the Aitvaras AI is to regulate the amount of plotting going on – behind the scenes, it will permit or forbid characters to engage in plots. The limits it places on them will be loose, however – you ought never to be in a situation where you can say something like ‘aha, there will be no more plots for a while, because I know about these five’.

Ave Imperator!


Posted on

The Character AI: An Overview

Hi everybody, Oliver here! Today I’m going to talk about how our characters’ AI works. Our design for the AI has three main layers. Each has a different role, and together they’ll produce a rich and believable Empire for you to grapple with!

The first layer is bottom-up and pro-active: a decision-tree-cum-state-machine for each character, which selects their approach to each of their goals, down to the individual action – there are more than 200 nodes planned currently, with more likely to come as we develop new AI strategies. The innermost nodes on the tree are ultimate goals – to survive, to get rich, to destroy an enemy, and so forth – and, as the character progresses down the branches, the goals get more specific, until finally the character is issued a specific action to perform. However, the tree differs from a conventional decision tree in that, once the action is complete, the character doesn’t return to the trunk to decide afresh; instead, they back up one level, and check whether that sub-(sub-sub-…)-goal is complete. If it is, they back up another level and check again; if not, the node selects another action or sub-goal for them to complete in pursuit of that node’s completion conditions. So as well as being a decision tree, it’s a sort of state machine, too.

The second layer is also centred on individual characters, but is reactive: it looks at the threats and opportunities available to the character, and moves them from one branch of the decision-tree-machine to another in response to those changing circumstances. This layer maps the whole political landscape: it works out who’s powerful and who’s not according to the size, assets, influence, and integrity of their network of allies. It then works out where each character’s attention is pointed: different potential goals bid for their attention (with their current activity having a significant advantage in the bidding process, to maintain stability) and successful bids cause the character to stop what they’re doing and go engage in the successful activity instead. They can also pause what they’re doing to take ‘breaks’ – address minor crises, go on holiday, that sort of thing – and then return to the task in hand!

The third layer is focussed not on the characters but the player. This controls just how much plotting and scheming, how many invasions, and so forth can go on at any one time, to make sure there’s always something going on, but not so much you get flattened with information overload – as well as spotting your go-to strategies and throwing a spanner or two in the works! It will also maintain game performance by controlling whether characters use the full power of the other AI systems, or whether they’re out of sight enough to use lower-fidelity, lower-effort behaviour models instead.

So that’s the plan – I’m super psyched to get this system up and running! Don’t forget to join us next week, when Steve will be talking about character depth. Ave Imperator!