Posted November 17, 2023 by Ryu1284
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!
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.
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.
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: