1. Ostranauts
  2. News
  3. AI Fixes, Performance Optimizations, and Modding Updates

AI Fixes, Performance Optimizations, and Modding Updates

Hey Folks!

We have a new update (v0.14.3.15) available on Steam, and your clients should be updating shortly.

This is a hotfix to our "Across the System" update, which addresses performance, AI issues, and modding issues, and other reported bugs.

Saves from v0.14.0.0 and later should work. Note that if you were experiencing issues in the older save, this patch may fix some, but others may persist depending on the cause.

  • Added the ability to train Business Admin skill using training manuals.
  • Construction Engineering skill training now displays correctly in the MTT.
  • AIs sitting in chairs should no longer forget to breathe.
  • Non-crew NPCs should no longer attempt to do tasks assigned by the player.
  • Captain should no longer get stuck clearing inventory space.
  • AI-pilots should stop maneuvering now when players dock to them, avoiding catastrophic damage.
  • Hauler ships should not loiter around station docking zones as much anymore.
  • Police shouldn't bother with unmanned player ships anymore, and cause them to fall into gravity wells.
  • Police should no longer abduct players on undocking if the player waits until the last minute before boarding police ship.
  • Super fast-forward should no longer teleport player crew on other ships to stations when used.
  • The save/load UI should now load faster when there are a large amount of save files.
  • Performance optimization to remove redundant animator calls per-frame.
  • Sensor lights should now turn off when they lose power.
  • Ships can orbit planets clockwise now(!)
  • Paperdoll helmet now hides hair, beard, and glasses that used to stick out.
  • Modding: moved Installables (and other derived types) to be generated after all mods load, instead of after each mod.
  • Modding: JsonPersonSpec replaced the aInteractions list with a single strLootIAAdds string.
  • Modding: Added new console commands for summoning NPCs, teleporting, changing relationships, and advancing plots.
  • Fixed several more situations that could result in null exceptions.


This update largely focuses on some AI fixes, performance and modding improvements, and some bug fixes. But first, a new training option.

Characters can now train Business Admin using manuals found/purchased in the game. This skill is used to identify item values in the MegaTooltip (MTT). Previously, this skill was only obtainable in character creation, or through hiring crew, and some players requested ways to learn it like other skills. (Also, the Construction Engineering skill should display correctly now in the MTT.)

With the help of players on our forums, Reddit, and Discord, we were able to find and fix a number of AI issues.

Some players astutely noticed many NPCs were suffocating around chairs, and some even caught them in the act. This turned out to be a timer bug that prevented the AI from renewing their pledge to refresh helmets if needed while in long-duration tasks (like sitting).

NPCs were also spotted doing player's crew tasks in some cases. And this turned out to be an incorrect filter on the task-claiming code, combined with incorrect work shift scheduling on off-duty NPCs. Both should be fixed now.

And some players noticed their captain would get stuck in a task, usually when their hands were full. (Possibly sometimes involving log messages about inability to access cigarette stubs or other junk.) This turned out to be a bug in our trigger for clearing up inventory space, which forbade players from using the final step.

Moving on to AI pilots, we've adjusted our hauler pilots' behavior to account for being too close to dock. Previously, they could get stuck loitering just outside dock for this reason, but should now dock normally.

AI pilots would also ignore when a player had docked with them, and the continued maneuvers would (in short order) destroy both ships. They should now have better self-preservation in such cases.

Police were absconding with some players when they undocked, and it turned out that this was a special case our last fix didn't cover. Namely, if the police got back to their ship, and the player was still on their own ship, the police would begin the undocking process. If the player then crossed over ships before undocking finished, both would disappear. The police will now do a final check right before undocking.

And in a related fix, AI police should no longer dock with unmanned player ships, which could cause them to get stuck and fall into planets.

Super fast-forward was causing some player-owned ship crews to disappear mid-trip, and end up teleported onto stations. This turned out to be the region clean-up code incorrectly targeting non-visible player ships when the trip crossed regions, and is now guarded against.

Turning to performance, some players with 100s(!) of save files reported that the save/load UI took ages to load, and general loading performance suffered. We've rewritten that UI to gradually load the save file list, instead of doing it all at once. And this way, the UI appears instantly, and fills over time. As a bonus, game loading times are slightly improved!

Another performance improvement involved animated characters getting reset every frame. It turns out that character animation states were being reset over and over to the same value, wasting cpu and memory each time. Fixing this has caused a slight, general in-game performance improvement.

Three other bug fixes of note involved sensors and orbits. Many sensors were apparently not turning off when power was cut, and this was due to a missing variable on them. Orbiting craft would not display orbit tracks when orbiting clockwise. This was due to a sign error that failed to detect orbits in any direction besides counter-clockwise. And the paper doll hair/beard/glasses could clip through the helmet, so that mask was adjusted to avoid this glitch.

Finally, we have a few changes that may interest modders.

First (and most significantly), our mod-loading order was adjusted to make all derived types (most notably, installables) generate after all mods are loaded, instead of after each mod. This should allow modders to make changes to installables without losing Quick Action Button options on them.

We also changed the JsonPersonSpec type's aInteractions list with a single strLootIAAdds string. This new field is looking for a single loots.json name, and that Loot is now how the list is generated. This allows randomized loot, or shared loot types between PSpecs, for easier maintenance. Also notable is that the list of interactions will now execute immediately after the character is spawned, instead of waiting for their first chance to act.

We also added a few new console commands, which you can learn about via the "help" command

As always, there's plenty more for us to fix, change, and add! And we'll be continuing in roughly that order. In the meantime, let us know how things are working for you in the new patch

Best,
Daniel Fedor
Founder, Blue Bottle Games, LLC