The most visible item in this update are space shockwaves (tm). This is only visual screen distortion
to make explosions look more epic, but has no gameplay impact. And you can turn it off in options.
Another "major" item is improved performance of gas rendering, which got reduced to half the time it took before.
In addition to that, better shadows are also available for gas, at the slightly decreased performance compared to
existing method. This new method replaced the previous high quality shadow option, which just used more samples.
Speaking of gas - for quite some time there was an issue with determinism test, and thus multiplayer sync. I have been able to reproduce it on my home computers, and found out that individual gas parts could be processed in different order, which would lead to slightly different values and desync the gam. With any luck, this will fix at least some part of multiplayer again... Press that determinism test in options to find out!
This update also has several small UI improvements. You can now enable additional icons next to ships that display
damage of ship. There are three icons: first shows if engine is disabled, second and third are colored based on maximum
damage of most damaged subsystem and hardpoint. So e.g. if there is an orange square icon, it means that ship has at least
one subsystem damaged down to critical level.
Another small improvement is that hovering mouse over ship card in bottom selection panel will draw a line that connects it
to ship in space, so you can more easily find the individual ship.
Selection panel can now also change sorting to display enemy or your ships first, and option to put combat ships first.
I also plan some filters (e.g. remove non-combat from selection, select damaged) and quick selections (e.g. all on screen, all army) for future.
Another thing I added is a slight distinction between mission critical and optional objectives in campaign.
In objective list they are differenced by slightly different color and optional objectives don't start with "-" but "+".
There are also other small improvements, like ability to bind mouse buttons (for now, excluding left/right buttons),
and with it key bindings for camera pan and rotation. So if you want, you can rotate your camera with mouse when
holding ctrl+alt+shift+F9 if that is what you desire (or just bind it to some mouse button without needing to hold alt, like a normal person).
Another added binding is for quick save/load, which nobody asked for, but I thought could be useful.
Last but not least, game should now automatically run on dedicated GPU if you have system with another GPU on CPU.
This is usually the case with notebooks as far as I know, and trying it on two, it seems to work.
There is one last change that should be invisible for now, and that is that game should now be able to properly render unicode characters (provided the font has them). Previously I only used ASCII, which would be a bit limiting for localizations. Which leads me to another invisible change, and that is localization. For now it only works for UI and whatever is hardcoded in a game, should now be read from "language/english.language" file. I still have to decide how to best handle language in mission files, as some of it may affect game itself (e.g. timing some event based on how long a text is).
You can grab the current release here
The highlight of this update campaign is difficulty setting. I've did some balancing for "medium" difficulty, which is default, and eyeballed other difficulties. If you hit any weird difficulty spikes or bugs on very easy/easy/hard/very hard, please let me know. Difficulty adds/removes enemy starting ships, uses different coefficients when making dynamic scaling for enemies, changes mission timers, enemy doesn't harass your miners at easy, and stuff like this. You don't take extra damage, enemy doesn't get unlimited money, or anything of that sort.
Another bigger change for this update are "order groups". When dragging over multiple targets, instead of adding them to
order list in order, they are added as a single group. The ship then picks the best target from this group, in some cases
can also switch between them. This includes e.g. repair - ships picks nearest target, attack - ship picks most suitable and near
target (e.g. destroyer prefer frigate targets to battleship targets), ability transfer energy - ship cycles between targets to keep
them all from falling between some threshold.
Some of these were already working before in some half-assed way, but this should make it easier to implement more behaviors,
or change existing ones (and it also creates less of a nightmare of icons in some cases when ordering a lot of ships)
Last but not least, there was a visual update for selected ships, which now have silhouettes instead of old health bars, and when single object is selected, UI gives you more information with icons instead of text labels. (and everything should have tooltip of course)
There isn't much else unless I didn't document some changes. There are of course some bug fixes here and there, and I've added automatic crash reporting, previously crash reports were only saved locally (no idea how often does that happen, but I guess I'll find out!). I also changed determinism test format to something where I can easily see differences, so please hit that determinism test and send results if that fails. I somehow broke multiplayer again, so it would be nice to fix it again.
You can grab the current release here
This update introduces gas. This is another layer of "debris" that damaged/destroyed ships leave behind. The initial motivation for adding this was to provide motivation for player to not harvest one group of asteroids only, and instead spread their harvesters to multiple locations, which would create motivation to fight in multiple locations. As such, the first effect of gas is that any resource asteroid inside a gas gets reduced mining rate. This will go up to 95%, but that only really happens if multiple resourcers mine the same asteroid. I've also changed harvester AI to spread out between nearby asteroids, so you don't have to micromanage them.
There are also other gas effects, such as slightly lowered armor efficiency, repair beam rate reduction, so ship getting pummeled cannot be kept alive by repair beams indefinitely. Ships inside gas also get reduced damage they take from using abilities, so you can use gas cloud to get more juice out of that reactor overload or weapon overcharge.
Gas is created when some object takes damage, and then spread to nearby area, and eventually completely disappears (this can take several minutes). Damage to asteroids caused by mining creates more gas than by regular damage. Gas is additionally created whenever resources are "lost", such as when destroyed cargo hold is losing resources, ship is destroyed with not enough storage left in jettisoned containers, cargo transport (fighter type) is destroyed, or when resource asteroid is damaged and mineable resources are lowered.
The performance of rendering of gas is right now not very good. You might want to lower the details on it, and if you're using high resolution monitor, perhaps lowering gas resolution to quarter will still look acceptable.
This update also brings a slight visual improvement to UI. This includes changed UI textures and colors (still not final), basic animations, and UI sounds. There is still a problem that UI is updated in a thread that runs at 20 FPS, so animations won't look very smooth (this also makes their speed dependent on game speed, which is less than ideal). I'll hopefully fix this in next update.
Lastly, you can now financially support development of Soil on Ko-fi (in page navigation, or link at the bottom of page) if you wish so, and have nothing better to waste your money on.
You can of course still download and play the game for free, and you will get nothing in return for your money,
except for a big thank you and a "supporter" role on discord if you wish so, which also won't give you any benefit.
(you can probably guess I don't work in sales or marketing)
You can grab the current release here
This update took a bit longer to put out and is not largest of updates, so let's look at what's in it. There are some small fixes and improvements, like camera movement with keys being dependent on game speed, option to issue move command with two clicks (first is for XY plane, second for Z, instead of using ctrl key to adjust height), option to click on mission objective to further highlight it, red cross flashing on minimap if ship is under attack, and fighters and interceptor now also attack ships if there are no fighters to be attacked, instead of just sitting there. There are also some small improvements in campaign so certain missions are more manageable (looking at you escort mission 07), and some missions are harder to be broken.
There are also some minor improvements to multiplayer, namely auto-refresh in lobby, message sounds, map preview, and ability to save and load replays. For now you don't have option to rewind replays, only fast forward. I've tried to implement rewind points you can instantly jump to, but I've ran into some issues with saving, and given up when I came to the conclusion I would need to save physics state, which is 3rd party library, so I was not so keen on diving into that.
I've also added secondary build queue, so your shipyard now has regular build queue, and "priority". This new "priority" queue will be preferred by first
shipyard on station, so you can e.g. if you have 10 frigates queued and you really need to build another resourcer, you add it here. You can also use it
to e.g. build frigates in regular queue, and resourcers in priority queue. In this way when your base has still two shipyards, each has its own queue.
You add ships to priority queue by right clicking on build UI (there is tooltip for that).
Related to shipyards, I've added shipyard "types" (regular, small, support). Xanthous has now in new mission such small shipyard which can build only
certain ships.
Xanthous also now has "resourcer station" instead of large number of small resourcers. This station moves rather slowly, mines a lot, and cargo ships
transfer resources to main base. This updated station (previously seen in some missions) can also build these cargo ships and also weapon platforms.
AI now also uses this station instead of old resourcers.
Speaking of resources, I've also added new ability to "spawn cargopods", that will create fighter sized cargoships that will head to random base (you usually have one). This is currently only present on Viridian fleet carrier, but is meant to be primarily used in future by Viridian station where resourcers can unload their cargo, and this station will keep sending cargopods to station.
On the campaign front, I've finished briefings for all the missions, attempted to rebalance some missions, and added one new mission. In this mission you fight against two AIs with small shipyards, and early on must repel new Xanthous siege cruisers (WIP model, same as shipyards) that slowly fire inaccurate bombs at you from far away.
You can grab the current release here (.zip 457 MB).
You can load provided saves to jump into any campaign mission in case there are any balancing problems or bugs.
The most notable feature of this release is fixed multiplayer, which should now work on all computers. Please run "Determinism test" in options to verify that it is fixed. This also helps me to make sure it is really fixed for all CPUs. So far it has been tested on just a few CPUs, including over 12 year old notebook when running on linux through wine, but the fix looks promising.
The other notable update is introduction of updater. Running it will update your copy of Soil to current version.
If new version is available, you will get notified in the main menu with an "Update" button as well. Updating will preserve your settings,
and also save files, but it is not guaranteed these will work properly (e.g. if ship has changed number of turrets, etc.)
If you experience any problems with updater, please let me know. Occasionally it would happen that it would get stuck, though I hope I fixed it.
If that happens, restarting it should help.
Moving on to smaller things, "turn" order can now accept object as a target instead of position only. This can help to keep your repair ship pointing its repair beams on specific target. There is now also option to display ranges of certain orders (attack, repair) as well as ranged abilities. You can now also move your selected ships into formations by dragging with "move" command. These formations are line, wall, sphere, half-sphere. You can cycle through these formations by pressing move command again. Their order can be changed in options. These can be used e.g. to order your frigates to surround battleship, or just to get your ships in line. Formation will sort ships by size/function, so e.g. in "line" battleship will be in center, while smaller ships will be on sides, while in "sphere" battleship will be in back, while frigates will be in front. Last addition to features is "pause" game speed. In addition to pausing by pressing ESC, you can choose this game speed to pause game, while not obstructed by menu. During pause, you can still order your ships, but orders will only show in ships' queue once you un-pause. Since this is implemented as game speed, it also works in multiplayer.
The least exciting new feature is mission briefings... these don't do much except to throw some text at you and show you animated map of what is going on. I've only added it for first few missions. Nothing particularly impressive, but it is meant to give some more overview about campaign story. There were also few fixes for a few missions, but that is still ongoing work.
I also fixed some UI issues, added double clicks on various buttons (and ships, if you have that in settings), added tooltips on most GUI elements, fixed issues with transparency on debris if anti-aliasing was disabled (please let me know if your debris still render as squares). I've also fixed tow ability to respect maximum velocity of target, since it could be abused to e.g. tow stations at breakneck speed.
I've thought I barely did anything since last update, but look at that, it is slightly more than that! Come join discord if you want to play some multiplayer, that will be the easiest way to get into some. I've also added discord integration, so Soil will show up there if you're playing it, and it will show what map you're playing, or in what room are you waiting.
You can grab the current release here (.zip 427 MB).
You can load provided saves to jump into most campaign missions in case there are any balancing problems or bugs.