Major Font Rendering Improvements
I spent a lot of time on improving the font render quality and also switched to a new font (Roboto Mono).
Below a before and after picture (
OLD | NEW):
Belts are now rendered as corners if they are placed in such a way. This looks way nicer than before and also makes it easier to understand the factory’s layout.
Below an image comparing the new and old belt rendering (
OLD | NEW):
It’s now possible to drag place
Structures by holding the right mouse button.
This is incredibly useful especially when placing lines of
This version contains several, major performance improvements.
No More Duplicate Simulation
Up until now there was an ‘offline server’ running when playing
Combine And Conquer.
This server was also running the full simulation, doubling the CPU usage of the simulation.
Now there’s still some ‘server like’ logic running, but it doesn’t have to simulate the entire game anymore, removing the overhead.
Improved Add/Remove/Rotate Performance
I spent a lot of time on improving the performance of user interactions.
Structures all user interactions are now pretty much instant for me, while some of them were unusable with
Seperate Render & Simulation Threads
Both the simulation and rendering now run on seperate threads.
I also greatly improved the logic regarding how the seperate threads interact.
The general user interaction (zooming, moving the view, …) is now performing even better.
Dynamic Simulation Speed
Up until now the simulation was running at a fixed speed.
This was problematic if your computer wasn’t able to achieve this speed anymore, causing no frames to be rendered, essentially freezing the game.
This is now all fixed by having the simulation speed dynamically adjust in case your machine can’t keep up.
Tech Tree Improvements
There have been multiple UI improvements to the tech tree:
- When hovering a technology, others related to it are now also highlighted, making it easier to see dependencies
- The Infobox will now also list the dependencies of the hovered technology
There have also been improvements to technologies and dependencies in general:
- The tech tree is now way ‘deeper’, having more levels of unlocks
- There are more and more granular technologies now
- There are now technologies that require titanium
Colonizationtechnology were merged into one
Below an image showing the new, more complex tech tree including the dependency highlight and Infobox improvements:
(The last technology is being hovered in this image)
Improvements to Modules
There have been several,
Module related improvements.
- The logic generating
Modules was changed to generally produce
Modules that tick faster.
They’ll e.g. tick 4 times faster but also only produce 1/4th.
Module’s duration is now also displayed in the InfoBox.
Moduleicons have been updated
- There’s now also a notification when starting to generate a
Sinks are now allowed to change their
Itemwithout requiring the user to replace the
- Ensure no duplicate modules are allowed even if their names differ
There have been multiple improvements to both the UI and logic in general:
- It is now possible to delete the selected game
- Autosaves are now ordered from recent to old, avoiding unnecessary scrolling
- All actions with confirmation dialog now have the savegame name attached to them instead of being applied to the currently selected game. This prevents issues when a player would select another game while the confirmation dialog was open.
- The names of games are now rendered left-aligned
- There’s now no autosaving if nothing has been placed yet
- A rendering issue was fixed where game names could overlap UI elements such as the Hotbar
- Improved error reporting on load failure
Below an image showing some of the improvements:
Persisted User Settings
Combine And Conquer now stores all ‘user’ settings in a file.
combine_and_conquer_user_cfg.toml will be written on shutdown and read on game start.
It persists the sound volume and all render settings.
Clickable Confirmation Dialog
Up until now the confirmation dialog required keyboard interaction. I reworked it to be a clickable dialog.
Linux Build Changes
I updated some dependencies that required me to now build the Linux version on Ubuntu 18.04 instead of 16.04.
Please let me know if you run into any issues because of that.
Dynamic Hotbar Size
The Hotbar now dynamically resizes to ensure that all its buttons fit into the window.
Chest New Texture
I updated the texture of the
Other, Minor Improvements
There have been several, minor improvements:
- The way
Labs accept research tokens has been improved. This prevents
Labs from being ‘blocked’.
Presenceis now rendered with transparency. Its color was also changed.
Assembleris now correctly rendered with the expected, high resolution
- When out of power, there’s now a frequently logged warning
Icetiles are now less bright
- The cursor behavior on
Structuredelete has been improved, making it easier to delete multiple
Structures in a row
- There’s now a notification if a landing zone was removed while a ship was flying to it
- Notification errors are now used less often (migrated to warnings)
- Both the initial game volume and the
Assembler’s volume have been reduced
- The InfoBox now shows information when hovering the power UI or current technology UI
- Arms are now cheaper to craft
There have been several bugfixes:
- In some cases recipes weren’t rendered with the expected transparency. This is now fixed.
- Fix a render issue where
Items held in
Arms would be rendered below other
- Fix a render issue with the cursor text where it might be displayed below other elements
- Fix the wording of the ‘Nothing placed yet’ message