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

Hey everyone!

This is a work in progress changelog for the .410 version of Imperia. Obviously there are a lot of graphics changes but there’s other stuff too! Check it out…

Imperia V.410a Change Log/Readme (WIP)

11.28.14

Notes

* Please uninstall any previous version of Imperia before installing a new version. I have not yet added patch ability. The good news is that the install is relatively quick.

* I am updating the WikiDot Imperia wiki periodically and this will be the best document for questions and how to play Imperia. Please refer back to it frequently.

Fixes

* Fixed some issues with lower resolutions

* Fixed obscure crash when colonizing certain planets

* Generally improved scaling at lower resolutions as a result of the graphic overhaul

Changes/Additions

* Complete graphics overhaul; moving towards the new consistent UI design. This includes:

* fonts

* all-new screens

* redesigned button bar

* redesigned main status bar

* popups

* The System view has been rebuilt from the ground up. Now, planets can be clicked on to show a persistent info box from which the planetary nexus can be activated, or the viceroy can be called. Additional information that is more relevant to what you want to know at that level

* The Quadrant view alert system has been moved to the top-center, which shows a number of all alerts in the Empire. Clicking on the counter will open the Alert Panel, showing a summarized list of alerts/requests. Right-clicking on an alert will take you to the location; left-clicking will open the alert/event, with potentially more options available and a picture representing the event

* Slide-out panels on the System and Planet screens that allow you to show/hide only what you need to see, making the game less overwhelming visually

* Redesigned Intel screen, featuring clickable columns

* Redesigned Edict screen, which is clearer and easier to use

* Lotsa tooltips, integrated help system finally added so that help tags can be added to any XML object – for now this means tooltips on Edicts and key UI elements; more to follow

* Military: Fleets/ships/ground battalions are now in the game. Can’t do much with them (yet) but stay tuned.

* Military: Introduction of the Military tab showing planetary garrisons, fleets in orbit, stance of that fleet (protection, garrision, subjugation, etc) and military power on the planet

* Fleet tooltips showing which ships are in fleets, along with ship information

* Redesigned Emperor screen, showing history, advisors (still working on this), and granting ability to train statistics. It also shows… you!

* Changed game scale; now each pop is 1,000,000 people so that planets have more realistic populations; also changed budget scale to trillions

* Added new launcher/installer. Now you will be able to designate where you want Imperia to be installed. The OneClick solution will also be available for those who wish to use it.

Balance

* Changed the way ADL is calculated. Previously, it would be simply all the sectors divided by 3 (ag/man/sci). Now, the sectors are weighted .5 for ag, 1 for man, and 2 for sci, representing the level of technology, retail, and general infrastructure needed to maintain the relative level of a sector – in other words, a level 10 Ag sector has far fewer demands than a level 10 Science sector, as would be realistic

* Made numerous balance changes in correlation with the new money and population scale changes

* Lowered some costs for terrestrial Edicts, while increasing cost/Admin for exploration stations

* All Edicts will get a balance pass before .410 is released

Unresolved Issues

* When loading a game, sometimes the alerts are in the wrong category. This only happens for the current turn and is more annoying than anything. Investigating.

* If you use the mousewheel to scroll up and down intel lists, it also effects the zoom level of the quadrant map. I can fix this, but it will require a rewrite of the zoom function and is not a huge priority at this time.

-Steve

After just over a month, version .3 has been released, now supporting full save/load capability! This works as a ‘hotsave’ for now, eventually I will expand to a proper save game/load game screen where you can have multiple saves, but the heavy lifting has already been done.

To save a game, you can hit ‘F1’ at any time. I am working on putting in some sort of message box that will alert you to various things in Imperia, which will include a ‘SAVE SUCCESSFUL’ message. For now, take it on faith that the game saved. 🙂

To load, you can either load from the title screen or hit ‘F2’ at any time. There is a load screen, so you at least have that feedback…

Here are the updated .300 release notes. I would really, really appreciate feedback on any crashes, particularly the one where when you mouse over a system you get  a crash. I have a workaround by hitting ‘I’ which will disable the info bar, but obviously that is not a long-term solution!

Imperia V.300 Change Log/Readme

7.1.14

 

Notes

* Please uninstall any previous version of Imperia before installing a new version. I have not yet added patch ability. The good news is that the install is relatively quick.

* I am updating the Sourceforge Imperia wiki periodically and this will be the best document for questions and how to play Imperia. Please refer back to it frequently.

 

Fixes

* Fixed numerous issues related to the save/load system

* Fixed an issue where the emperor power was not calculating correctly

* Fixed the ADM increase chance for the emperor – was almost impossible previously

* Fixed some logic bugs with calculating edict time variances when structures were present in a system/sector (i.e. starbases)

* Fixed the effect of an exploration base – now shows effective range on quadrant map

 

Changes/Additions

* Added hotkey save/load system. F1 will hot save your current game and F2 will hot load from any point in the game. If there is a game version mismatch, the game will not load.

* Added system information display bar functionality hotkey ‘I’ to toggle between the system info bar displaying in the quadrant display as a player option while I chase down an annoying crash bug that results as a result of the SID bar displaying.

* Due to player request, pressing the ESC key in a screen other than the quadrant screen will act as a right click, i.e. take you one screen out. The ESC key on the quadrant screen will eventually bring up a popup menu that will allow you to exit, load, save, and return to the start menu; for this build, it will exit.

* When an unexpected crash occurs, a log folder is created under your C: directory, called ‘ImperiaLogs’. In addition, a popup window will appear explaining the specific exception and trace for the crash. This information will help immensely in tracking down some remaining bugs.

* Added loading and new game start screens

* Added launch buttons on the title screen (new game, etc.)

* Significant ‘under the hood’ revisions to error checking and data structure that will enable much faster updating and debugging

* Added game credits button (credit page forthcoming)

* Fixed annoying screen whitespace on title screen and a few other screens

* Updated the planet info screen on the system display

* Finally flipped the colors for pragmatic and nationalist on the status bar

 

Balance

* None for this build

 

Unresolved Issues

* For a very small # of people (that I know of) mousing over certain systems causes a CTD. I am still investigating.

 

Thanks and enjoy! Expect more regular updates from this point!

-Steve

Hey all!

Hope you’re having a great weekend.  I’ve been listening to your feedback and knocking out what I hope is a robust .226 version that should be available in a day or two. I think those of you with smaller resolutions should be much happier!! I will update this post when .226 is live.

Imperia V.226 Change Log

5.15.14

 

Fixes

* Fixed bug where deleting a system edict caused crash

* Fixed ‘rounding’ bug when adding Influence to an Edict

 

Additions

* Added full resolution support across all screens, including the planet screen

* Improved look of most resolutions by scaling all viewports and graphics more precisely – continued work on this will be ongoing

* Added some of Nadia’s awesome planets, especially gas giants

* Dimmed out buttons on button bar that don’t function yet to minimize confusion

* Added assigning system to new sector edict, and added UI functionality to allow other edicts with secondary choices (such as designations)

* Added new planetary edict – change primary designation

* Added 2 new designations – government nexus and material production world

* Added more system and planet names, and eliminated duplicate planet/system names – may have fixed a bug related to duplicate names

* Added basic designation effects – i.e. heavy production worlds now have negative terraforming modifiers, but greater wages, etc.

* Added attempt to assassinate character action – must have informer network and costs 5 Tyrannical influence

* Some small efficiency gains, especially between turns

* Added check to potentially add ADM for emperor every year

 

Balance

* Some cost/edict balances; some items cost less ADM, some more (a few were 1 ADM for testing, those have been changed)

* Material production is now considerably more profitable per mTon (to counterbalance increased costs for setting up and maintaining manufacturing) ($10 vs. $4)

* Science production is more costly due to impending Science system addition, prepare for costs!

* Planet ADM has been tweaked upward for sectors and the Imperial capital

* ADM efficiency has been increased from 6:1 to 5:1 for Empire ADM used for planetary Edicts

The good news: I am releasing Imperia on sourceforge.net!!! The bad news: Sourceforge seems to be having some issues with uploading files over the last day or so. I am trying everything, even using  FileZilla to upload wih SFTP protocol, but the uploads keep timing out. I hope to have the upload take one of these times, however, before I go to work, so we’ll see. If the file is not in the Imperia V.225 Setup Files folder, please be patient – the uploader is being nasty!  No more bad news… file is now LIVE!!! ENJOY!!!

Anyway, the project page is at http://sourceforge.net/projects/imperia/ which will have the latest screenshots and readme’s.

IMPORTANT NOTE: I am still working on converting the resolutions, and everything is done except for the planet screen. This means that people with anything lower than 1920 X 1080 can launch and see most of the screens, but depending on their screen size it may be unplayable due to not accessing the edict panel on the far right. I am still working on it, but everything else is done that I wanted to get in for this first release so I wanted to have it out there for the people who can play fully.

I will also add a quick documentation guide this evening. For now, here are the basics:

  • ESC – exits the game
  • SPACE – starts new game on title screen
  • M – enables mission range overlay on quadrant screen
  • C – enables colonize range overlay on quadrant screen
  • T – enables trade node overlay on quadrant screen (red = system trade hub, yellow = sector trade hub, green = empire trade hub)
  • N – disables all overlays
  • For quadrant map – hold down the right mouse button and pan in the direction you want the map to go. Zoom in/out using the mouse wheel. (Zoom to cursor is something I will put in eventually, but its not a priority). Hover over a system to view side-bar details (depending on what you know,  of course!) Left-click to enter the system screen. Left-click the ASTROGRAPHY button in the bottom button bar to return to the quadrant screen at any time.
  • For system view – right click on a planet to go directly to the planet screen. Left click to open the planet summary. From there, you can enter the planet screen by clicking on the button on the panel. Hover over a character name in yellow to get a tooltip with basic information; left-click to open the character interaction window. Right click on any non-planet space to return to the quadrant screen.
  • For planet view- right-click anywhere on screen to return to system view. Click on the tabs to the left of the planet information display to open up a submode. The modes from top to bottom are:
  • DEMOGRAPHIC – Shows population migration, unrest and population trends, and desirability factors. Informational only.
  • ECONOMIC – 2 sub modes: cash flow shows projected cash flow for the next turn, sector info shows output, profit/loss per item, and total profit/loss. Also shows subsidys for government and unemployment.
  • PRODUCTION – 2 sub modes: primary display on right shows manufacturing and agriculture sectors, with output, employment, sector level, wages being paid, and the ‘desirability rating’ to the right of the slash following the wages. The higher this number, the more desirable in absolute terms this sector is to pops. The secondary display shows the government sector, science sector, service sector, and unemployment rate. The right side shows designation information, trade info, and stockpiles for food and materials.
  • INTEL – 2 buttons here – you can set up an intel network and stop adding to it with the toggle button here. You will also be able to connect directly to your Intel Prime (not enabled yet). When you have available informers, you will recieve an alert on the Alert Bar in the quadrant view. To assign informers, start a conversation with a character on that planet and click ‘Assign Intel Assets’. Your Intel Prime will actually assign assets based on what they think is best for that level of character; you do not have direct control. If your informers discover something, you will see that information on this panel. You can then blackmail a character by going to their screen and selecting the new ‘Blackmail’ option. All intel choices are in black.
  • You also set planet-level edicts here. To set up an edict, simply click on the edict. It costs 5 ADM to execute an edict, but you can right-click out of the screen at any time without losing the ADM. From here, the edict screen shows up, with the basic information on the top, the edict ADM chain in the middle, and your influence pools on the bottom. To create a valid edict, you must assign enough ADM among your planet, system, sector, and empire levels, along with sufficient materials if needed. Once you have done this, a green checkmark will show on the upper-right corner that you can then click to enact the edict. You may also add one type of influence from your influence pools by clicking on the arrows. The results of your proposed edict will show as as estimated amount for each ‘part’ of the edict that different administrative groups are shouldering. Please note that it costs 1.5 ADM for each system ADM used, 3 ADM for each sector ADM used, and 6 ADM for each Imperial ADM used. It gets very expensive to have your empire capital shoulder the load! There is also some inefficiency with materials should you require their use as well. To cancel an Edict, click on the pending Edict in the Planetary Edicts Pending panel below the available Edicts. It costs 3 ADM to cancel an Edict. If needed, arrows will appear for you to page up/down to show additional Edicts. This system works identically for System Edicts.
  • You may interact with a character by left-clicking on their name if it is in yellow. It costs 1 ADM to interact with a character (0 ADM if they are on New Terra, your capital) regardless of any action you take with them!
  • The Intel screen can be accessed by clicking on the ‘Intel Ministry’ button in the lower button bar. To scroll between pages, press  PAGE UP and PAGE DOWN. There are 2 pages of planet information in this release. To jump to the planet screen, left-click on any planet line.
  • Right now, you ‘win’ if you can attain 90% empire-wise Popular Support, or if you survive 60 years. You may lose to a coup anytime your PoSup drops below 30% – a check is made each turn, with the percentages increasing as your PoSup drops. At 5%, you automatically lose!
  • There is currently no save feature. Iron man only. 🙂

That should be enough to at least get you around the interface. Have fun, and much more to come! (And lower-resolution fans, don’t worry – the next release will have full resolution support on all screens!)

I’m hoping there aren’t many crash bugs, but if there are, could you please add a comment with the error message on this post? I will add more bug tracking functionality on SourceForge later but this will do for now. Please do not send logic-bugs, just crash bugs for now. Thanks!

-Steve

 

 

First of all, I can’t express enough how incredible this – I guess I can call it the Imperia community – has been! This blog is now getting hundreds of visits a day from all over the world, and I’ve gotten some amazing feedback from people both in forums and in private messages. Rest assured that while I have a clear vision of what I want Imperia to be, it is clear that a lot of you out there want a game like Imperia – just like I have for many years! So if you know anyone who you think would be interested in playing Imperia, let ’em know! You may absolutely share this blog’s link or any individual posts!

As far as the alpha, I have been working like mad on converting the resolutions and I’m done with everything but the planet screen. It won’t be perfect but it will certainly be playable. Beyond that, I’ve upgraded the systems and sector summary panels and I am hooking up the system and sector level edicts (this will allow exploring!) I think I have all the crash bugs out so barring something unusual the alpha will be released on Friday, 5/9.

In the meantime, I would appreciate it if anyone could point me to an image (with appropriate license) for a gas giant. I have not been able to find one that I like that I can use legally so if anyone has that and would like to contribute some art, I’d be very grateful!

Thanks again, and can’t wait to get Imperia out there (for you to pick apart, of course… All for love. 😉

-Steve