Devlog: User Interface and Faction AI

Snap665Hey, here’s another weekly devlog !

This week some progress has been made regarding the user interface as I went around and redesigned most of the “lists” you can see in the various windows. And while at it, I also implemented a fleet manager (still a work in progress) and the fullscreen option. Not all changes were cosmetic, though. I also made some good progress regarding the diplomatic system and how wars are handled by the game.

As usual the full article will explain things into more details.
Enjoy 🙂

User Interface

As said, I made another pass at the user interface. This is not done yet, but there’s a few notable improvements. Fonts are usually bigger (I will still probably need to scale them according to the resolution, that will need some testing) and most menus and list are in general more informative / nicer to look at. A fine example would be the diplomatic screen, here’s 2 shots before and after the change:

There’s duplicate data on the second screen that still need to be removed, but you get the general idea. The trade menus got the same treatment, and I will do the shipyard, loot, hangar, and others following the same principle.

Snap664Also, but it’s still very much a work in progress, I added a small “window” to the main screen, the fleet manager. It will list the ships/fleets you have hot-keyed to the 0-9 keys, their location and what they are currently doing. Right now it’s not possible to give them orders through this menu but that will come later on. Double clicking a fleet will center your camera over its leader, though.

I am also happy with the way I handle this menu. If the check box in the top is checked it stays open all the time. However when it’s not (by default) the menu will only show when you put your mouse over it, and close automatically when you move it away.

Shiny Graphics

Unending Galaxy now support fullscreen, and in theory any resolution / refresh rate that your monitor and card can handle. Speaking of refresh rate, the FPS cap now uses your refresh rate instead of being hard-coded at 60 frames per second.

We also have a new set of planets, here’s a few of them:

Faction AI

And, last but not least, as the game in running more or less fine now (it’s not as bug ridden as before), I am putting a stop to the constant wars and massive warship production. What I mean is that factions now actually take their relation toward one another into account before declaring war. Factions that are ‘BFF’ won’t declare war on each other for an empty sector anymore, instead it will have a negative impact on their diplomatic relation that will worsen over time. Tools will be given (selling sectors, giving gifts) to the AI so it can alleviate the issue if it wants too.

In addition to this, a War Weariness variable has been added. A faction that is at war will see this value increase over time slowly and also (more abruptly) when it loose sectors or military ships. The strength ratio between the two warring factions will also have an influence. And, of course, it decreases during peace time. This variable has multiple usages:

  • A faction that has a war weariness over a given threshold won’t declare war against another one until it it goes back under the said limit.
  • The higher the value, the less a faction is able to collect taxes or produce warships. Later on in the development process, it may be one of the factors that could cause ships or inhabited worlds to defect from a faction.
  • It is also used to give a limit to how long wars can last, and to be one of the balancing factors that should prevent a faction from rolling over the others too quickly.

Of course, a faction that’s always at war with everyone else (like the AI Core) doesn’t care about this setting.

Those changes with the addition of various minor tweaks make wars more credible. Factions won’t necessarily fight for a single sector, and they don’t last forever anymore if the attacker is constantly unable to take over the said sector. Later on, it will also make for more diverse and interesting galactic news (slow build up toward a war). Of course, there’s still much more to implement like alliances, peace treaties, backstabbing and so on.


That’s mostly all for this week, apart from the usual bug-fixes and code improvements I won’t bother you with. I am not going to try to guess what will be written next week, because if my post history has told me anything, it’s that I am very bad at it 🙂