Posted on 8 Comments

When designers turn human: An introspective look into crafting a dream

Hello everyone; long time no see! It’s been a little while since I’ve written a blog, and this blog is going to be a little different. It’s not going to have any new features about AotSS, nor will it have a timetable or cool screenshots. We’ll have those shortly. No, I wanted to take a bit of soapbox time to talk about where I’ve been and why.

So, the first thing people need to remember about programming: it’s hard. Even for people who have degrees in this sort of thing, it’s hard. And I don’t have any kind of programming certificate, degree, or even a course. Everything I’ve learned has come from teaching myself, except for one computer science class in high school. I was very, very good at programming – was nationally ranked, in fact (yes, they have contests for programming in high school!) – but I didn’t think I could pursue it as a career since I didn’t much care for the math part of things. So I went to college, and put aside my programming.

Throughout the years, I kept coming back to programming for fun. I taught myself C++ with an Ivor Horton book that must have weighed 10 pounds. But I loved to learn, and slowly I put myself through pointers, address memory, OOP, classes, structures, and advanced topics like recursion and data structures. I had some knowledge at this point, but no game. So I started to imagine a world where humanity was hanging on by a thread, having been invaded by aliens that came through a stargate that humans built themselves – the ultimate Trojan horse. You were the supreme human commander, responsible for fighting the aliens (even then, called the Xyl) on Earth and holding them off long enough to accomplish your other objective: to assist the surgical team that went through the stargate using coordinates discovered during recovery of the plans to build the gate, only to discover that they were part of a galactic competition to determine the next master race of the universe for the next 100,000 years. That game design was called Perihelion, and I designed it almost 20 years ago. It seems quaint now, but back then I was roaring with excitement to program it and show it to the world.

Only one problem: I had no idea how to start a project of this magnitude! I was 22, and the Build engine was still being used. Programming games was still something of a black box process – there was no Unity, no DarkBASIC, no YouTube tutorials to walk you through creating levels, and certainly no iPads to download manuals and upload code – no, you had paper books and phones to call friends for help. So after a few false starts, I gave up on that for the time being.

Years passed – I grew my management career, got married, settled down, and looked at what life would be past 35, then 40, and wondered if I had truly given things a fair shot with game design. So I went back to the drawing board about 6 years ago, taught myself Visual Basic, and designed a strategic space combat program based on the Honorverse. You could command ships of different sizes and in the prototype, you had to detect and engage the enemy using gravity signatures generated from impeller wedges. It was surprisingly fun, and I did end up posting it in a few places, but obviously I couldn’t do anything real with it because a) Honorverse and licensed properties and stuff and b) it was still very rough, and I wasn’t comfortable with showing it off. However, for the purposes of this blog, for the first time in almost half a decade, I’m showing off screenshots of my first ‘real’ game project:

As you can see, even though it was Visual Basic and the graphics were basically one step above spreadsheets, it was a really fun game. The ships had very intelligent AI – they had numerous tactics that they could use, and their captains had a fear/bravery rating as well as an intelligence rating that would determine which tactics they would use, what range they would fire at, etc. Not bad for a first project, but I wasn’t happy with it, so I stopped working on it, and another few years went by.

About 5 years ago, I designed a solo board game called Star Requiem: Humanity’s Last Stand (https://www.boardgamegeek.com/boardgame/122248/star-requiem-humanitys-last-stand) that was based on a continuation of the history that I had started with the Perihelion design. I actually finished that game, and was working on a computer version when I had the idea to design a new game around what happened after humanity fought the Xyl to a standstill. What would their culture look like? How would the remnants of the human race spread? How far would society slide backwards? What would happen to technology? What would losing 70% of your entire species in another war do to a species? That’s what I set out to answer, and I knew from the very beginning that the game would be based on the last emperor – a child, with very little power, destined to bring humanity back from the brink of the final Xyl assault to destroy humans once and for all. And I knew at the core of the game would be the Action Point system: as Emperor, you would only be able to do certain things depending on where you were, and only so many actions per month – you were not omniscient and not a being with unlimited time and energy. I was so excited about the premise that I couldn’t wait to start! I taught myself yet another engine (Windows XNA) and set to work on what was to become Imperia.

So about 6 months into that project, I started posting pictures and almost immediately, people were interested in the concept. Very interested. I got offers to help and eventually took one from an artist named Pavlos who helped me refine the ‘hard’ science and the look and feel of the game. We reached a point where I had enough of a game and there was enough interest that there was one question: did I want to create a studio and actually sell this thing?

Well, the old self-doubt crept in, and I hemmed and hawed for months, until finally I decided to take the plunge. I made the agonizing decision to basically scrap what was complete with Imperia (basically it was about 60% done) and convert to a totally new engine and language. After some research, I settled on C# and Unity. After learning yet ANOTHER new language and engine, I was ready to work (Note to prospective indie programmers: Pick a popular language and stick with it. I wish I had!).

So it’s been a little over a year since that decision was made. I took out a loan, hired another artist (Ogi Schneider), and partnered with an amazingly intelligent and creative man named Oliver Milne who really helped flesh out the backstory and universe of Imperia, eventually to become Alliance of the Sacred Suns. And even working part-time, even having a baby and all that brings, even with challenges from my primary job, we kept chugging along. We were slow to milestones, but we were learning, and understanding what we could do and how much we could do in a given month.

And then January 2017 hit, and that old feeling came back that I’ve fought for almost 20 years:

Fear.

Fear that my best wasn’t going to be good enough, that this project was an immense undertaking for one person to program, that the concept of AotSS was so ludicrous because it’s not quite a 4X, not quite a TBS, not quite a political game, but parts of all 3. It’s certainly unique, but would people actually like it? I started to doubt my abilities to finish this game, doubt the premise, doubt the 4+ years I have spent getting to this point, doubt all the time and energy invested in programming, testing, designing, fixing, bug-chasing, and still feeling like there was so far to go. It was like that dream you have where you’re trapped in a room, and the door keeps moving farther and farther away from you, no matter how fast you run towards it. and you can’t go backward. What do you do?

I stopped. I was paralyzed, feeling despondent that I couldn’t reach that door, like it was taunting me. It was depressing me, literally. I couldn’t face programming. I’d code for about 20 minutes, then it felt like the screen was laughing at me, daring me to attempt to add a new feature, whispering ‘What’s the point? Nobody’s going to play your stupid game anyway…’ and I would give in to the voices and break off. It felt like an overwhelming task – like eating the elephant, except my elephant regenerated every morning, even bigger than before, but all I had was the same damn spoon to work with.

And that fear started affecting other parts of my life – it affected my confidence, my focus, and it impacted almost every part of my life. I could almost hear the little voice inside me every day: ‘So you’re going to give up on this one too, just like you’ve always done. All. Your. Life.’

No.

The line in the sand will be drawn here. And now.

I’ve decided that I don’t give a damn what the voices say, or what other people think, or how crazy our game design is. I’m very proud of what we’re trying to do, the design we’ve worked on for years, and the story we have written (well, Oliver mainly) for AotSS is amazing, and it deserves to come out. And I can’t let my doubts and fears override that need. It’s hard sometimes, especially when it’s not your main source of income, but I have made a vow to myself and the team that I WILL finish this game. I WILL see it through to the end, and I’ve written this very long post because I need to share this vow with the public and put out there my feelings and emotions to how I got to this point.

It’s been hard to type this blog, and it’s pretty personal for a game diary, but that’s the most honest explanation for why there hasn’t been a lot of progress over the last several weeks. I promise there will be a new video up in the next day or two. I keep putting it off because honestly, I never feel like what we have so far is good enough to show – the old self-doubt creeps in and I think ‘just one more feature and I can show it’ or ‘let’s stomp one more bug and then people won’t laugh’.

Enough. Enough. It is what it is, a work in progress by a small indie studio, not EA’s latest AAA title. I know I’m not as talented as some other developers, but I was once the 17th best programmer in the United States in high school, and by God I can finish this game.

And that’s just what I intend to do. I love all of your support and those who read these blogs and follow along and have done so for the last 3 years. Your patience will pay off. I swear it.

Now back to work on 4.7.0a!

-Steve

 

 

Posted on Leave a comment

An intriguing prospect…

Hi all, Oliver here! Today we’re showing off our first mockups of the Intrigue view. In this mode, you encounter the seedy underbelly of your court – the plots, the schemes, the secrets and lies! And this isn’t just a spy-assignment minigame, oh no. The idea is to collect parts of secrets (for example, ‘Baron Nogood is plotting something with Count Crapula’ ‘Count Crapula is plotting an assassination against somebody‘ ‘Baron Nogood is plotting something against you’) and try to match them together into accusations that your Inquisitors can use to take out the culprits (such as ‘Baron Nogood and Count Crapula are plotting to assassinate you’). But how, I hear you ask, do you actually do this?

intrigue mockup clean.png

The way we have it working is very simple. On each planet, system, and star (on which more later) you have a list of Clues – incomplete pieces of information, displayed like sentences with character portraits in place of names and so on – and at the bottom of the screen, in the selection area, you have the cases you’re currently working on. Clues are supplied by your Inquisitors’ diligent monitoring work, gossip you hear or overhear at court, and characters you charm or coerce into revealing them. Each clue also has one or two leads – characters who are listed as potentially knowing other, connected clues. You just click-and-drag the clues you think belong together into the selection area to put together your accusation, and when you’re confident you’re right, you can click ‘ACCUSE’ and fire it off! You’ll choose which of your limited number of Inquisitors to send it with, and shortly (or immediately if they’re in the same place) you’ll hear the outcome…

Now the Imperial Inquisition is a unique and frightening institution. They will never convict an innocent man – this is the reason the Great Houses allowed the institution to continue – but the experience is nightmarish for the accused. If found innocent, they and their family will despise you not only for the insult, but for the accused’s having to endure the mind-bending horrors of the Inquisitorial process. So beware!

One thing you might still be wondering is: ‘Why have separate lists of clues on each system and planet? Surely it would be less of a pain in the ass to just have one big list?’ While we do indeed have one big list available in the summary screen (accessible from a button in the top left of the screen), the point of dividing up clues this way is to prioritise them. At the start of the game, when you’re mostly dealing with individual planets, the doings of individual characters on those planets will be of paramount interest. But as your empire grows, you’re going to be moving up through the levels of control, simply because you only have so many Action Points in the turn. By hooking the clues to game locations, putting clues to bigger and more important plots at higher levels, we can make the same process of moving up through the levels that you’re engaged in with regard to the other facets of gameplay work here, too.

Anyway, I hope you enjoy playing with the Intrigue system! Ave Imperator!

Oliver

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

Developer Diary: Houses, Holdings, And You, Part I: How do they affect you?

Hey everyone! Steve here, with yet another new blog. We’re back to active development, so we look to have some screenshots soon but for now I wanted to talk about Houses: what they are, why we have them in the game, and how you can interact with them (and what can happen when things go bad).

So the entire structure of civilizations (including your Empire) are simply the sum of which Houses swear fealty to that particular civilization. What’s really happening is that there is always a ruling House (in the Empire, this is your House, with you as the head of House) and other Houses choose to swear fealty to that House, similar to the feudal system of yesteryear. All Houses have a head of House, their own treasury, their own crest and colors, and many Great and Minor Houses have a bespoke history as part of the Imperiaverse. Houses also have bonuses and specialties, and belong to a specific Culture group (which we will cover soon).

Holdings are simply what a House owns as part of the stellar landscape. Usually this means a planet, but if they have Holdings on a majority of the planets in a system, they are considered to Hold the system as well. This has implications for security in the system, as well as trade.

There are 3 broad sizes of Houses in Imperia. The largest and most impressive are Great Houses – they may have hand-crafted histories and special rules, they sometimes have Holdings of system size or larger, they may have their own military capability, and their leaders are often the most influential people in the game. There are 10 bespoke Great Houses that may appear in your Empire, though only around 5 are active at game start (selected randomly) while Great Houses in other civilizations are procedurally generated.

The second tier are Minor Houses. Within the Empire, these Houses are still bespoke, with a history and a base of operations, but do not have Holdings of any great size, usually no more than a single planet. Their leaders yearn for their House to rise to Great House status. There are 10 custom-made Minor Houses in the game, of which around 5 will be active in your Empire at game start, along with other, procedurally-generated Minor Houses.

The lowest and most common tier are Common Houses. These Houses are basically the ‘normal’ Houses of no great note, representing average families and House groups. There may be dozens of these Houses in the game. They do not have Holdings or military.

Houses are the entities that you are in conflict with throughout the game. As Emperor, you must work with the Great Houses to ensure that they support your Projects and Actions, and keep a close watch that they do not ally with each other in order to overthrow your House (and thus you). Your Inquisitors will be vital to stand watch over less-loyal Houses. It is important that you cultivate solid alliances with the Houses that you feel will benefit you the most. Due to ideology, it is impossible for you to ‘ally’ with all Houses – the other Houses are natural rivals, and acting in the best interests of one House will make other Houses jealous. Balancing your relations with the Houses is a critical part of your rule: do you more or less try to keep them neutral (‘a quiet dog is a safe dog’) or do you try to boost one or two Houses above the rest to gain their loyalty, but anger the rest of the Houses, especially those Houses’ sworn enemies? It’s up to you. You can also stop supporting Houses, but you might up angering everyone along the way.

To quickly pacify Houses, you have four powerful tools in your arsenal. The first is Projects. Proposing Projects that benefit a certain House will usually bump their Loyalty towards you and your House, depending on the benefit they will get.

The second is your administrative positions. You can assign a Character from a specific House to a viceroy position of a planet, a system or provincial governor, or even a Prime on your Council. The more power you give a character from a House, the happier and more loyal they will be, but obviously this will anger other Houses.

The third is more drastic, but has a huge impact – you can give a House a Holding of a planet, a system, or even a province (if it is yours to give). While this will delight Houses to no end, there are a few drawbacks. First of all, you no longer ‘own’ the Holding, so you can’t tax it or get supply from it as you did before. Second, you can’t get the Holding back by any means except force. In other words, if you decide you made a mistake in giving that system to a House that was threatening war, too bad – unless you decide to go to war yourself.

Which brings us to the fourth and final option: troops and guns. You can always use your military to destroy a House if you feel the need to do so. Keep in mind that this will raise your Fear rating to dizzying heights, and other Houses that are not cowed will actively plot to curb your power (unless the House that you took down was hated by all else, but even then self-preservation takes over). Repression – from military occupation to targeted kinetic strikes against their home planet – can keep your nobles in line, but such extreme measures will have repercussions…

Part II tomorrow!!

-Steve

 

Posted on Leave a comment

Territory in the 31st Century: Houses, Holdings, and How Empires Work

Hi all, Oliver here! This week I’ll be talking about how territorial ownership and soverignty work in Imperia.

One of the problems we came across designing Imperia was the seemingly simple question: who owns what? We knew we were going to have chains of command involving characters from different Houses, but how, precisely, would that work? How were Houses to relate to the game’s civilisations? How would a House declaring independence work?

What we came up with is (we think) quite an elegant solution. Each House in Imperia has Holdings – planets over which they’re sovereign – and may or may not swear fealty to another House. But a House’s holdings need not be administered by House members. The House Head can bring in characters from other Houses within their jurisdiction to administer their territories, meaning that each character is simultaneously a member of two different power structures. So there’s always a potential conflict of interest going on. The elegant part is that this structure means there’s nothing more to civilisations than independent Houses – even your Empire. Your Imperial worlds are simply the Holdings of your House.

This opens up multiple ways to expand your empire. Do you try to build a loose federation of powerful vassals, or claw fresh Holdings for yourself out of the carcasses of enemy Houses? Do you tempt sovereign Houses to join your growing domain with their territories intact, or help their treacherous inferiors overthrow them to become a puppet government, in hock to you? Do you trade away your existing Holdings in return for the loyalty of your vassals, or does that risk making them to powerful? You can promise a share of the spoils to House Heads who send Forces to aid you – but are you planting the seeds of your own overthrow? What if, instead, you empowered smaller Houses, presently without territory, by giving them Holdings of their own – along with the obligation to raise a Force and fight for you when the time comes? The conflicting imperatives of feudalism will (we hope!) create all sorts of fascinating gameplay opportunities in the universe of Imperia.

Next week, Steve’ll be blogging again, and over the coming weeks we’ll also be starting to show off some sections of our Game Design Document on the forum. Now that the design is mostly in place, we’re going to be getting back into the cycle of producing regular alphas, which I’m really excited for. Watch this space!

Oliver

Posted on 3 Comments

Developer Diary: Trade and Trade Fleets

Hey everyone! Steve here with yet another new diary – now that we’ve wrapped up the large-scale system design, we can talk more about what we’re putting in! Let’s talk about trade today, because even though it’s not the most exciting part of a 4X type strategy game it can have long-term effects on how you play.

The first thing to understand is that there are 2 types of trade hubs that generate trade in a given area: province trade hubs and system trade hubs. (The Empire’s province hub is also considered the Empire trade hub, with a slightly larger radius of effect) Every province in the Empire at the start of the game will have at a province trade hub. Any system that is covered by the province trade hub range may trade with any other system or planet that is also within range. Province trade hubs have a large radius of effect. Province trade hubs can also trade with other province trade hubs, which will allow goods to move between provinces, and from there to the systems in the province.

System trade hubs are smaller, and not built at the start of the game, but can be used to expand your reach if you expand a province to the far corners of a given constellation. To build a trade hub, you must have a trade station built first. Any planet may import goods, but you must have a trade station to export goods to other planets for money.

There are 2 types of trade agreements – Supply and Economic. Supply trade agreements are created by the Empire to move goods from outposts to the Empire trade hub, and to the province and system trade hubs as well. Outposts are created to generate a certain type of good – food, energy, materials, etc. – and are not considered settled colonies. They can only export resources and do not generate income by doing so. Economic trade agreements are generated when a planet has a need for a certain resource and another planet has a supply of that resource that they have earmarked for trade. When that happens, a trade request is made to a certain planet, and that planet may choose to accept it or allow the planet to bid more to accept it.

Often, many planets will have a need for a resource, determined by the Viceroy through a stat called Importance, and if there is not enough resources set aside for all the trade bids, the price of a resource will go up. Trade bids also take into account distance and security between the systems, so if there are a lot of pirates or there is a war going on in the destination system, the price will be much higher to take the bid. Merchants are used to administer trade fleets, so a planet can only have as many active trade fleets as they have merchants allocated for them – merchants can either be allocated for exports or retail on a planet.

Once a trade agreement has been set, a trade fleet is created. This is a real object in the game world that can be examined and even attacked by pirates, other Houses, or other civs, or it can simply have a mechanical failure out in the depths of space. Once a fleet has made its journey and dropped off its goods, it becomes available again to fulfil a new trade agreement.

Here’s a game example of a viceroy from the planet Heaven trying to create a trade agreement for food, since they are a desert planet and cannot generate enough to feed all their Pops.

Example:  Since the viceroy of Heaven has determined that the Importance of Food is high enough to make a trade request, Heaven has made a trade request for 10 food units. Melanon is the only planet in the radius of the Province Trade Hub that is currently trading food and has trade fleets available. 
Since there are 5 Merchant Pops on Melanon dedicated to exports, they may only have 5 trades active at any one time. Right now, there are only 2 Trade Fleets available, as 3 Trade Fleets are out in space (Supply Trade Fleets do not count against the merchant total). Melanon has 4 trade offers outstanding from within the province for food, and Heaven’s bid is 3rd lowest (the higher 2 planets have a higher Importance on Food, and so have bid more). When considering trades, the distance and security risk is also taken into account, so planets that are farther from the trade hub may have to pay more because the trip is less profitable (energy to power the fleets is paid by the exporting planet as part of the costs of maintaining trade fleets)
For this province, even though the base price of food is ¢0.5m (that’s 500 000 Crowns, the basic unit of currency for 31st-century humanity) per unit, heavy demand has increased it to a new base of ¢1.8m per unit. In addition, the cost per unit for a trade between Heaven and Melanon is ¢4.1m due to distance and low security in the system where Heaven is located. The two planets higher on the list have offered ¢2.2m and ¢2.4m per unit of food, and their cost per unit is only ¢3.3m and ¢2.9m, respectively since they are closer, so their total bids are ¢5.5m and ¢5.3m per unit of food.
So essentially, because of the shipping costs, the viceroy of Heaven has to increase his bid to at least ¢5.4m per unit (¢2.9m cost per unit + ¢2.4m bid per unit + ¢100k to increase the total bid from the lowest-eligible planet on the list)
As the ‘bumped’ offer, the Heaven Viceroy may choose to increase their bid to make this trade happen. As his people are starting to show high unrest as their food stocks plummet, he decides to increase his bid to ¢5.45m. The planet who is offering ¢5.3m declines to adjust their price, and the lowest bidding planet does not do so either, so the Melanon trade request moves to the 2nd slot. No further bids take place, so as there are 2 fleets available, the Heaven request is filled and the trade price is calculated at the ¢5.45m base. These crowns come from Heaven’s Gross Planetary Product (GPP) budget that has been devoted to imports, and are removed from that budget immediately.
Once the trade is completed, if Heaven wants to trade again with Melanon, they must put in a new trade request, and the cycle begins again.

So as the Emperor, there will be plenty of ways to manipulate this system. One easy way is to flood a province with additional resources when prices are high, or perhaps to create a temporary bubble of need with a Project request. Let’s say that you have a Character who is a new Viceroy of the planet Tableau, and belongs to House Hawken. You want Hawken to be on your good side, and you feel that this Viceroy has the skills and loyalty to be a tremendous asset to your rule in the future (perhaps being given a Governorship down the line if all goes well). But for now, his planet is struggling, which is hurting his overall Power. What can you do?

Here’s a long-game option: You know that you are going to be building more military fleets in the next 2-3 years. Now, you could give those shipyards (which are built through a Project) to your putative friend, which would be a heavy industry and would bring wealth to the planet, but you have a longer-range plan. No, you know that Tableau has a very high concentration of rare minerals on the planet, and you also know that there is another viceroy of the planet Remola from House Ilioaia, who specialize in trade and mining, that you would like to improve your relations with since they are opposed to House Van Rigel, who most hate you and your ruling House. So what can you do?

Why, give the shipyards to Remola, which will initially make that viceroy (and House) happy, who will then need a tremendous amount of rare materials to build and power those fancy shipyards once they’re built, which will only come from the rare mineral mines that have been thoughtfully built by your order on… Tableau. And Remola’s viceroy will pay out the nose for the privilege, while your viceroy on Tableau’s GPP skyrockets from exports, and his Power increases, all while your ships of war get built by your loyal and greedy subjects.

Now that’s Imperia.

-Steve

 

Posted on 2 Comments

The Inquisition (and how to make sure nobody expects them)

Hi everyone, Oliver here. Today’s blog is about the design – and the design challenges – of one crucial part of your Imperial intelligence network: the Imperial Inquisition.

The Inquisition are an elite group of highly-trained characters, able and licensed to arrest and prosecute the highest-ranking aristocrats in the Empire. They are your most precise and deadly weapon against treacherous underlings. But with great power comes great responsibility – responsibility even the Sun Emperor cannot override. The Inquisition, when they interrogate a suspect, will find the truth – even if that truth is not what you thought or hoped it would be. And, if the suspect is innocent, they will be free – and extremely angry.

The first design problem, building the Inquisition, is to make sure they don’t step on the corruption- and secret-hunting gameplay I described in my last post on the Intrigue system. They provide the payoff – they’re how you find out whether or not your reasoning (or guesswork) was correct – but you mustn’t simply be able to sic them on every character who looks at you funny. Thus, they always find the truth, but setting them on an innocent character will turn that character implacably against you. If that isn’t enough to stop Inquisitor-spam displacing interesting detective work, we might make you pay compensation to innocent victims of Inquisitorial investigation.

The second problem is how ‘human’ to make them. Can any character become an Inquisitor? If they’re simply ciphers who do your bidding, there’s not much point having them at all. The solution we’ve settled on for the first iteration is that any character can, with your permission and years of training, become an Inquisitor – and that their relationships with characters will affect how likely they are to catch them if assigned to interrogate them. An Inquisitor would never come up with false results in an interrogation, but the target might suddenly take a long holiday on a fast ship just before their friend the Inquisitor arrives. So your assignment of Inquisitors will depend on how much you trust them to get the job done.

One of the problems the Inquisitor system solves is the question of how to give you control over your information and intelligence flow. By assigning Inquisitors to monitor particular territories, you can receive more information than you otherwise would about that planet, system, or province – the smaller the territory, the better the information you’ll get on it. This also helps make the Inquisitor-assignment gameplay interesting: where will it be useful for this particular Inquisitor to be? Where do you need good information? Who do you want them to be near to, just in case? One thing we might do is increase Inquisitors’ flow of Secrets from characters they’ve got good relations with, making placing Inquisitors in their friends’ territories a double-edged sword – more likely to produce information, but less likely to catch wrongdoers if you ask them to.

Two options for Inquisitorial work is not quite enough to make the choice of assignment interesting, however. The final piece of the puzzle (at least in the design for the first full alpha) is military commissar duty. By assigning an Inquisitor as a military commissar, you can reduce that Force’s chance of rebelling – but at the price of slowly degrading it, as officers get Inquisited and troops desert to escape the suddenly hostile work environment. Can you afford that cost, for loyalty? Can you afford not to pay it? The commissar system adds another interesting aspect to your military decision-making.

The key thing to understand about all this, though, is that it’s provisional. This is what we’re going to implement for the first alpha – after we (and our testers) have tried it, and seen how well it works, we might well find it’s either too much, or not enough. Perhaps we’ll need to give Inquisitors another function; perhaps they ought to be able to investigate corruption on their own; or perhaps they’ll turn out to be a layer of mechanics we don’t need at all. I hope we’ve got it right first time round, but the proof of the pudding’s in the eating.

I hope this post has let you see a little bit of the sort of thought processes we go through as we’re designing Imperia. In the next post, Steve will be talking about UI design, and how we’re reworking it from the bottom up.

Ave Imperator!

Oliver

Posted on Leave a comment

Imperia Concepts – Pressure/Persuasion

So as an Emperor, you will have numerous ways to influence your leaders under your rule, ranging from benevolent to merciless. An important lever you will have is using your sector governors (and to a lesser extent, your system governors) to actually enact and guide your policies. The end goal of Imperia is that your sector governors should be both your potential largest levers to run your empire, as well as your greatest threat should they turn against you. The military system, both in the ground and in space, will start to show this in .410 with the addition of ground forces, armies, and fleets that can potentially be controlled by sector governors.

Another concept that will be present in .410 is the idea of using leverage from your sector and system governors to run your planets. Characters can exert pressure or persuasion on characters that are subordinate to them. Persuasion is less effective but is not considered tyrannical. Pressure is considered tyrannical and only allied leaders with tyrannical leanings will do this. Pressure/persuasion is ‘pooled’ for each character who is being influenced and can be used as ‘currency’ to improve the odds something will be done or used to speed up an Edict. Characters that are pressured are unhappy and will generally like you less, as well as their superiors. Points in these pools raise the chance of success for one point per persuasion point, and 3 points per pressure point. Characters will remember being pressured. Points will decay by 25% per month if not used.The idea is essentially that you are approaching your most powerful governors to give their support for key requests in the near future, without having to be immediately specific, but seeing the effects of their promise fade over time. That way, you have some ability to deal with events as they occur and this should result in less micromanagement overall.

This system will give the player more flexibility to set up situations with a better chance of success, at the risk of an unstable leadership structure in any given sector. A military army on the ground can also create pressure (but this is mighty Tyrannical) equal to the army’s suppression rating and must be in a Suppression stance.

On another note, I have been working quite a bit on the game over the last week or so and there are a lot of new additions big and small. I will be putting out a revised changelog tomorrow!

-Steve

Posted on Leave a comment

IMPERIA CONCEPTS – COMPONENTS

Component System – Notes

This is a small overview of the component system. More to come soon.

The component system is already programmed and in the game. The components are procedurally generated each time you start the game, although you will be able to influence them somewhat when you set up your empire. There are several tech levels that your Empire is fluent in, such as missile tech, laser tech, Gauss cannon tech, shield tech, armor tech, etc. It is possible for your Empire to have a tech level of ‘0’ in a category (not basics like armor or engines) which means that your Empire can not add a certain component.

When an empire is generated, a component list is created. First the program looks to add weapon components. If an empire has at least a level 1 in a certain category, a chance for a weapon series to be created is checked. Next, the series is checked for how many size iterations are available for that component, always starting at Size 0. Finally, stats are created based on tech levels, miniaturization technology, and a random factor. The component is named with an official name, given a ‘colloquial’ design name based on type, given a manufacturer name, and placed into the list!

The advantage of this from a gameplay standpoint is that you will be able to set your empire tech preferences when you set up your Empire in the new game screen (coming). That way, if you want ships with super powerful missile tech, you can have it, but you will have to have it at the expense of another type of tech. This system also allows a ‘hands-off’ way to gradually improve your ships and technology without knowing ‘exactly’ what is coming. It’s a tradeoff between fixed components and designing your own (ala Aurora). As an emperor, you would not be involved in that process, but would have a say about what is being developed!

So here’s an example, using one that was just generated with a test:

General Dynamics ‘Hawk’ Type II Laser Mount

This is a laser system that is available for ships that are at least size II, meaning cruisers and up. It does 122 damage close range, 85 damage medium range, 40 damage long range, and 0 damage extreme range (larger lasers may have that capability). It has an close range attack value (AV) of 155, a medium range AV of 110, a long range AV of 60, and an extreme range AV of 0. Obviously, it is less likely to hit at longer ranges, though it does have decent long range AV. It is size 120 and has 155 hit points. So this would be a pretty strong short-range weapon, with above-average medium range capability for a smaller laser mount.

Ship hull designs have a base component size value that they can fit. A typical light cruiser would probably have around 1000-1500 size points available for weapons, 500 or so for defensive, 1000 for subsystems, etc. This is why miniaturization tech is important – it allows you to fit more weapons (think ‘hardpoints’) on the same cost hull with the same efficiency as a larger weapon.

You will have access to all components available in your Empire. You can ask that component designs be scrapped, ask that a new design be created within a certain type/subtype (i.e. weapons/missiles) but you will not have precise control of what is actually developed! Usually it will not be worse than a previous design (there is a ‘version’ stat that increments with each component subtype built, representing experience with what works and doesn’t work, making it better) but it just might be!

-Steve