Update 0.26.0 - New AI Diplomacy Support & Real Time UI Updates


Much like the previous update this one unfortunately also didn’t get a month of devtime dedicated to it. Though on a more positive note and as a result of the shorter devtime, that means it’s out, today!

What’s New?

As I mentioned in the previous devlog the main aim for this update was to make some improvements to the AI on the campaign map and with the update now complete, I can say that to a certain extent this aim has been achieved. For one said AI can now make use of the diplomacy system to declare war on or make an alliance with other AI controlled factions. Additionally the AI can now also make trade agreements as well as grant military access to other factions depending on a number of different factors such as their current diplomatic status and their overall opinion of the faction.

In order to achieve the above functionality a small rewrite of the diplomacy system was also needed and I’m happy to say that thanks to this work the code controlling the diplomacy system is now a less spread out and haphazard solution. The main result of this other than the above functionality for the AI is that it will now be easier to add more nuance and complexity to said system in the future. Beyond just improving practical ease of use the new system now also has support for tracking how long specific diplomatic states, such as being at war or in an alliance have been the case. Something which the AI can also take into account when deciding what diplomatic actions to take with a particular faction and something I hope to work into faction opinions more tightly in the future.

In keeping with the theme of rewrites the code behind the faction managers on the campaign map was also reworked so that factions which are player controlled and those which are AI controlled can now be used and switched interchangeably. While this won’t have any direct effects from a gameplay standpoint it will ensure smoother work when adding new functionality to faction managers on the campaign map as well as a path for supporting more than one player controlled faction. Other than changes to the AI and the campaign manager rework the popup UI’s of the campaign map also got changed so that they now update in real time. Allowing you to see which research is currently being conducted, the current diplomatic status between different factions and which factions own which locations in the search GUI even as they change on the campaign map itself.

Last but not least the notification system on the campaign map was also expanded to support more types of notifications, such as the multitude of different possible diplomatic states. Additionally support was also added to display more information so you can see at a glance which factions have declared war on each other or which factions have formed an alliance with one another. Something which I hope to make more complex in the future by tying it into the intel system so that the information you get regarding diplomatic actions depends on your level of intel for a specific faction.

Update 0.27.0

Much like 0.25.0 and 0.26.0 the 0.27.0 update will continue the trend of polishing existing features over adding much in the way of new content. For this reason the first target for 0.27.0 will be for a rewrite of the trade system to more closely resemble the rewritten diplomacy system in the back end. Following this rewrite I should be able to add more complexity to said system by increasing a specific trade route's income based on how long it has existed and enabling the AI to take existing trade routes into account when deciding if it should propose a new one.

Leading on from the above trade route rewrite and continuing my work from 0.26.0 the campaign map AI will also be updated to perform diplomacy with the player. Something which I hoped to have done for 0.26.0 but was unable to complete in time and something which will also require the implementation of a new, or expanded notification system which would support taking input from the player. A system which could in theory lead to the implementation of some kind of story and or random events system whereby you as the player have to make a choice in return for some kind of positive or negative reward.

In addition to the updates to the AI and the expanded notifications system 0.27.0 will also finally include some of the shader work I’ve been talking about for the past couple of updates. As a result of the kind of work shaders require (that being of the creative and artistic kind) I can’t promise much in terms of revolutionary results but it should at the very least look better than before the update. As promised previously this will most likely mean improved looks for units warping into the map, a more visually appealing look for the laser beam ammo type and the shields surrounding units on the battle map reacting to any shots they block.

Last but not least 0.27.0 will also include a rewrite of the faction managers used for the battle maps. Currently both the AI and player controlled managers are handled using separate and distinct classes much like how the managers on the campaign map were prior to this update. For 0.27.0 though this will be changed to allow them to be used interchangeably, the benefits of which should more directly reveal themselves in a future update. As a more direct and current benefit though, if I am going to be rewriting much of the code used for the battle map AI anyway I should be able to also put some time towards finding and resolving some of the long standing issues I’m aware of which have caused some rather large performance issues on battlemaps where more than 4 players are present.

Closing Thoughts

As you could probably tell from both the short time frame and the smaller changelog, this update was somewhat rushed in hopes of keeping up with my update schedule. As it happens next month will mark the 2 year anniversary of the public release of Stelestial Contact: Solar Storm and as a result I’d like to release an update to commemorate the day; as I did for last year. This of course meant that unfortunately I had to cut the dev cycle for this update by a week and for that, I apologise.

As a result of this choice though you can be sure that 0.27.0 will at least be a little bit more substantial when it comes to the changes and updates that it contains when it releases on the 18th. In addition should everything go as I have planned then beyond the release of 0.27.0 next month should also see the release of update 0.4.0 for my other game, Rise. A rather large update with a mixture of new content and improvements that I’ve been tinkering away at for sometime now and one I’m looking forward to finally being able to release for people to test and play around with.

Now then, as time is clearly not on my side for the next month, as it most definitely hasn’t been for this month. I’ll end this devlog here and get to work on the aforementioned updates.

As always if you have any questions or queries then don’t hesitate to ask and similarly if you have any feedback for existing systems. Or indeed if you have any ideas, features or changes you would like to see implemented then also don’t hesitate to let me know.

As with all of my updates a full list of the changes made can be found in game, with the changes and additions pertaining to this update listed below:

  • Added a new debug option to the campaign map to disable diplomacy requirements
  • Updated the volume sliders in the settings menu to display the volumes current percentage
  • Updated the campaign search box GUI to update in real time
  • Updated the diplomacy GUI to update in real time
  • Updated the research GUI to update in real time
  • Updated the research GUI to display currently researching research in the colour orange
  • Updated the research GUI list view to include research progress for research that is currently researching
  • Updated the research GUI to display a confirmation popup before cancelling the selected research
  • Updated the campaign map GUI current research label to mark when all available research has been completed
  • Updated the campaign map GUI current research list and income list to have a black background
  • Updated the campaign map GUI to display a notification when any faction diplomacy has taken place, not just those involving the player
  • Updated the campaign map notification system to support displaying more information, such as when two factions have concluded something diplomatically
  • Updated the campaign map faction manager code to be more centralised, allowing for player and AI controlled managers to be used interchangeably
  • Updated the campaign map diplomacy system code to be more centralised, allowing for more complex diplomatic information to be tracked and stored
  • Updated the campaign map diplomacy system to support tracking how long a faction has had a given diplomatic status
  • Updated the campaign map diplomacy system to only generate faction opinion modifiers for factions which have diplomacy enabled
  • Updated the campaign map AI to support declaring war and making peace with other AI factions
  • Updated the campaign map AI to support making and breaking an alliance with other AI factions
  • Updated the campaign map AI to support making and breaking a military access agreement with other AI factions
  • Updated the campaign map AI to support making and breaking a trade agreement with other AI factions
  • Updated save files to support the new format for diplomatic information
  • Fixed a bug where changes to volume levels didn't register as changes in the settings menu
  • Fixed a bug where the reinforcement container displayed a vertical scroll bar despite not needing one
  • Fixed a bug where the battle results screen displayed after a custom battle didn't display the losses for the enemy team
  • Fixed a bug where the info container didn't display the available unit abilities when the mouse was placed over a unit on the campaign map post battle GUI
  • Fixed a bug where the research options in the research list view did not get locked while the research was being conducted
  • Fixed a bug where the research options in the tree view didn't correctly display tooltips explaining their status
  • Fixed a bug where the campaign map diplomacy GUI displayed the amount of time remaining even for non timed diplomacy opinions
  • Fixed a bug where the setup for the campaign map had to declare war on factions twice to ensure the correct faction opinion modifiers were added
  • Fixed a bug where the diplomacy option modifiers popup displayed when the mouse is placed over the option chance label was cut off
  • Fixed a bug where battles triggered on the campaign map could not be loaded if they included any squad based units
  • Fixed a bug where AI factions opinions of the player were not updated when two factions made peace or declared war on one another

Files

Stelestial Contact Solar Storm 0.26.0 - Debug.zip 92 MB
Nov 17, 2023

Get Stellar Odyssey: Galaxy at War

Leave a comment

Log in with itch.io to leave a comment.