OctoberPlains v1.0-pre4
Posted by Jeff Disher
OctoberPlains v1.0-pre4
After what was a very short development cycle, I posted the v1.0-pre4 release, today. This release is mostly just under-the-hood changes to the network, work on stats collection, and some stress testing.

I suspect that more work will still be needed, on the network stack, at some point in the future. As it stands, however, things are currently looking good. Going further requires a problem to solve, whereas everything is currently going very well.

Of specific note is that this release disables the "fake updates on cuboid load" since these almost never do anything and are the cause of almost all tick outliers. In the future, I plan to re-introduce this functionality with some more precise updates. This would fix the outliers while still allowing everything to look right. The main problem with disabling these is that it can lead to inconsistencies around chunk boundaries, requiring a block update. For example, things like water flowing would be updated, etc. In practice, these situations are difficult to create so disabling this is unlikely to be noticed while avoiding a huge performance penalty. Even if they do occur, they are not game-breaking issues.

Work on pre5 can now begin. This release is more about logic loop analysis and optimization, involving further use of the testing tools introduced in the previous release and much more low-level profiling.

This should be tricky but interesting. I know that areas of concern are how often creatures check if they are standing on the ground (this is currently a hot point so I need to come up with an optimized way of doing this) and lighting updates (I suspect liquid updates will be the same).

My plan is to use this to reduce the number of outlier ticks such that I can reliably reduce the tick time (currently 100 ms/tick while I would like to get maybe as low as 10 ms/tick - although that may not be feasible - for comparison, Minecraft has 50 ms/tick).

Additionally, this release will introduce periodic data write-back (not just when being unloaded) and some rate-limiting on hoppers and attack actions.

Looking at the outlook for the next few releases in OctoberPlains, I am still hopeful that I can break ground on OctoberPeaks in October (possibly slipping to November). At that point, issues of perspective will go away and this will start to "feel" more interesting.

Jeff.