Happy new year! Version 18.01.07
Hi everybody! We’re back from the holiday season with a whole bunch of new bugfixes. Over the past few weeks we’ve been doing some cleanup and optimization of some of the underlying task and pathfinding systems. Unfortunately, old saves will not be compatible with the new DwarfCorp version.
List of Changes
- Task manager improvements — dwarves now pull tasks from the task queue when idle rather than getting assigned tasks on a timer. This is more efficient and less prone to errors from corner cases.
- Fixed bug in dwarf task pre-emption that caused dwarfs to try the same task over and over.
- Dwarves now wait up to 60 seconds for a plan to be available. Previously they only waited 1 second. This was causing pathfinding to almost always fail for players with lower-power machines.
- Dwarves now choose whether to use inverse or forward path planning based on the openness of the destination. Previously, they only used inverse pathfinding when forward pathfinding failed. This makes pathfinding much faster when going from above ground to underground destinations.
- Faster pathfinding in general, with quicker tests for whether a path does not exist.
- Fixed several issues with path following that was causing some paths to get cut short or get animated incorrectly.
- Fix bug in audio ambience engine that was causing audio to randomly cut out.
- Fix bug that caused trade envoys to get stuck without leaving the world.
- New dwarf unconsciousness rules. If the dwarf has less than 15 HP, he’ll look for a bed to heal in. If no bed is available and his HP falls below 5, he goes unconscious and heals slowly. If a dwarf falls to 0 HP while unconscious, he dies. Previously, if the HP fell below 15 and no bed was available, the dwarf would freeze.
- Unconscious dwarves can no longer be assigned gather tasks.
- Dwarf status displays whether or not they are unconscious.
- Fix crash while moving ladders and doors.
- Clear log file if it grows larger than 50 MB. (previously the log could grow extremely huge, especially on Linux)
- Fix LD_LIBRARY_PATH on Linux and Mac which was causing saving/loading to fail. Also possibly causing Steam Overlay crash.
- Revert dwarf multi-block building so that they only build one block at a time. This makes wall building much slower, but fixes several corner case bugs that were causing block building to fail. Will have to re-implement this in the future in a smarter way.
- Fix jump animation which was causing dwarf to get stuck in ceiling sometimes.
- Use stipple alpha on block placement designations. This makes them easier to see.
Other stuff
We’ve got some new features and optimizations under the hood that we’re still testing. These include a revamped animation system that is faster and uses less memory, and (looking more into the future), a minecart system.
FYI, I (Matt) will be unavailable from January 13th through January 27th. We’ll be back in action after that.