Posted on 9 Comments

Updated development video now out! Check it out here!

Hey everyone!

As promised, the new video is out, and while it’s a bit longer than usual (almost 50 minutes!) it’s chock full of content and showing some of the new graphics, UI, and systems we’ve been working on. We are targeting more frequent updates – every two weeks or so, just to keep ourselves honest if nothing else. There should also be 2 blog posts a week ideally, but at least one no matter what. We’re working on cleaning up the forums – we had an attack of spammers a month or so ago, and we’re just about done cleaning up all that nonsense. We hope to have a tentative early access release date pretty soon, where you’ll be able to buy in on the ground floor and be eligible for all future updates. We’re getting closer, as you can hopefully see from this video. I’m personally excited to be working on the game actively again and I think you’ll be impressed with the strides we’ll be taking over the next several weeks!

Anyway, the link is here:https://youtu.be/0u1D2FvLHig

Don’t forget that we have our own channel that you can subscribe to for updates in real-time. Hundreds have signed up, why don’t YOU?? 🙂

Until soon,

Steve

 
Posted on 9 Comments

The Aitvaras AI System: A Day in the Life of a Character in ‘Alliance of the Sacred Suns’

Hi all, Oliver here! Today I’m going to be talking in a little more detail about how our AI system will work.

Because Alliance of the Sacred Suns is a turn-based game, the AI isn’t constantly calculating what to do. Instead, each character, including the player, takes a turn, and over the course of that turn, the (other) AIs mostly just react to the active AI’s actions. (We may do some clever things with AI decision-making in the background of other characters’ turns, in order to shorten the turn calculation time, but the basic principle is IGOUGO.) The active character, in contrast, will be running quite a sophisticated algorithm to decide what exactly they’re going to do with their time.

First of all, they have to take stock of their situation. At the start of each character’s turn, they check their Attention Bidding System. This is a function that chooses between different possible goals for the character to work towards, based on weights assigned to those goals. For some goals, such as getting rich, these weights are pretty constant, only varying with the character’s fundamental personality and Ultimate Goal (their overall desire in life). For others, the weight will depend on their circumstances – ‘Survival’, for example, takes a weight determined by the highest Threat Level of any character to the active character. (Threat Level is a figure set by a combination of a character’s Power with modifiers for other factors, such as threats they’ve made and Secrets the active character knows about them.) The goal they’re currently working towards also has a bonus to its weight, to make sure characters stay plausibly focussed.

Once the Attention Bidding System’s check has been made, the character then starts moving on the Strategy Tree. This is a branching tree of hand-written decision nodes, designed to try and emulate real human reasoning by proceeding from ultimate motives, through general strategies, to specific actions. But rather than starting from the top of the tree each time, unless they’ve changed their end goal, the character will pick up wherever they left off at the end of their last turn. (Again, this is to make sure they maintain coherent courses of action over time.) The character will then proceed through the tree according to the rules on each node they come to, until they come to a node telling them to perform an action of some kind. When they come to a node of this sort, they will spend an Action Point, perform the action, and then check their Attention Bidding System again, to make sure circumstances haven’t changed what they ought to be doing – for example, if they’ve Challenged a character more powerful than they are, they may suddenly need to move to the Survival branch of the tree! Then, if they have Action Points left, they will start moving through the tree again, repeating the process until they run out of APs.

So that’s the overview of the system. Let’s have a look at an example, to see how this’ll work in practice.

Mancy Ononoke is the young viceroy of the planet Lucidia. Her Ultimate Goal in life is Wealth, which means that’s one of the goals she has under consideration, and since she’s a very Driven young woman, its weighting is quite high, outbidding the moderate threat from the popular Gaius Locke, also resident on Lucidia, for her attention. Now since she was busy on a pilgrimage until last turn, she starts from the top of the Wealth branch of the strategy tree. First, she decides what broad strategy she will pursue to make her money: since she’s a Viceroy, she makes the easy choice to Develop her Territory (a node directly under ‘Ultimate Goal: Wealth’). Now, how to do that? ‘Develop Territory’ has three child nodes, but two of them are available only to senior clergy and province governors, respectively. So she opts for the third, ‘Improve Economic Sector’.

‘Improve Economic Sector’ is a node that can be accessed from a number of different places, so it has options for which planet and sector of the economy to improve. Choosing which planet to improve is easy when there’s only one option, but selecting which sector to improve is more complex. Mancy considers unemployment, production capacity, and the skill of her workers in order to pick the Energy sector. She then, following the node’s script, determines that the best way to improve that sector is by building more power plants. Therefore, she moves down to Adjust Build Plan, and spends an Action Point to alter her planet’s build plan to favour building them. The instructions then tell her to wait to see how effective it is, so she discards the rest of her Action Points, and the turn ends.

Mancy doesn’t have to just sit around waiting, of course. Many goals can be pursued as ‘break activities’, meaning they can interrupt other activities without disrupting them completely – once the break activity is finished, the character goes right back to what they were doing. ‘Survival’ – in this case, tackling the threat of Mr. Locke – is such an activity, and, since she’s waiting, she gives break activities a higher weighting in the bidding for her attention. So, next turn, she might decide to deal with Locke once and for all! But she might also choose to start building a family, spend time with her friends, do something for the Church, or any one of a number of different things. There are over 500 nodes on the strategy tree, with twelve different goals bidding for characters’ attention, and many different ways to achieve those goals, creating a dynamic, storytelling system in which characters act plausibly in pursuit of believable motivations.

Not only that, but since the system is completely modular, modders will be able to add new nodes and modify existing ones. Different branches can cross-reference one another (with a customisable limit on absolute tree depth, to prevent infinite loops) meaning that some nodes added to one branch can be used intelligently by characters pursuing other goals. (Assuming, that is, the nodes are well-written!)

Now some of you will be reading this and thinking, ‘That’s all well and good, but how many hours am I going to have to sit and wait for each turn to resolve?’ We’re very aware of the potential performance issues involved in such a procedure, so we also plan to iteratively develop an ‘AI director’ system to switch characters between this process and a much simpler, more efficient one, in order to provide the player with a better experience. This other system will be much lower-fidelity and have many fewer options, making the decision process much faster, but crucially, you won’t know which character is running what at any given time – a character who doesn’t seem to be doing much proactively might not be, but on the other hand, they might be busy plotting behind your back…

It’s a very exciting time for me right now, because having worked on the detailed design of this system for almost a year, we’re on the point of beginning to implement it! Keep your eye on the blog – we’re going to have a lot to show off in the coming weeks and months.

Ave Imperator!

Oliver

Posted on 2 Comments

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!

Oliver

Posted on 1 Comment

Status Report! .2 Alpha To Release Next Week!

Hey everyone!
So we’ve been pretty quiet for the last month or so. What we’ve been working on doesn’t lend itself to pretty screen shots or 3D wonder. No, we’ve been working on the baseline game features, the AI, and the player experience. It’s all pretty gnarly as far as something to post, and honestly I’ll let Oliver, our AI guy, talk about it in more detail, but basically it’s going to be as close to a living world with full characters in a 4X as has ever been seen. Your emperor will walk amongst fully-realized personalities, each with their own traits, abilities, goals, and morality. We have revamped the character attributes to be more in line with the new ‘Aitvaras’ AI system we have been working on. Characters will be able to determine their relationships with each other, determine their short and long-term strategies depending on those relationships, their ambitions, and the ambitions of their House and/or their civilization.
It does sound like CK in space, to a point. There are some similarities, to be sure. But we want each experience with talking to a character to feel like you’re talking to a real person. Where you might have 5-6 real options and no real feedback in CK, in Imperia you might have dozens of actions, many of which could lead to other actions, depending on what you say and how the character responds. We want these characters to feel real, and you should be able to understand what they want to do and be able to influence those actions if they are not in your best interests.
That’s the real heart and soul of Imperia, something we’ve talked about since the very beginning. You are not the absolute master of your domain. Things are happening all around you, all the time. You can choose to do nothing, and the Empire will still run. Planets will get developed, the budget will be passed, and characters will seek to achieve their personal ambitions with or without your stamp. You must use the tools of Empire to shape your civilization. Every month, what you do has an impact. You have the power to destroy planets, to colonize and shape constellations, to go to war with every other civ in the galaxy – but at what cost to your rule and your people? You can rule as the most feared tyrant in the quadrant, but if people start to leave your Empire, you have no one to blame but yourself. You can have people assassinated who displease you, but remember that people have friends… and long memories. Each action you take WILL have a reaction – but that reaction is not always immediate, just as in real life.
So we’re finalizing that AI plan. We already have some of the data programming in place. Next week will mark the release of .2 – with character Actions and the new speech system, you will be able to commuicate with your people and your characters, and start to shape your Empire. The economy is already pretty much done, though we’re still tweaking the trade system. We’re also updating the AI – adding constellations as provinces will change the game play significantly. There’s a lot to talk about next week, and we’ll have some new screen shots soon!
Also, look for a new video update next week and perhaps some podcast appearances! We’ll post the time and date on the site as we confirm them.
And…. looking towards next month, we are starting to design the new web site! We will have our own web site that is dedicated to Imperia, as part of a larger company site (KatHawk Games) so be looking for that as well.
Lot happening! Stay tuned!
-Steve