TL;DR

A changelog is out after a 3 week hiatus. Character controller improvements, first elements of freerunning movement mode, massive world generator speed and quality improvements, beginning navmesh generation.

This (3) week(s)…

Weekly changelog is back after an unplanned break!

Watch The Video!

  • Character Controller Improvements
  • Freerunning movement
  • Tighter integration of animation and player input
  • World chunking/streaming rewrite
  • Massive world generation speed improvements
  • Investigating navmesh generation
  • Using Recast

Under The Hood

World Chunking

The speed improvements came from two different places in the world generator. Firstly I did a complete rewrite of the “chunking” system - this is the service which divides the world up into (cubic) chunks and does things like splitting up modification commands from world generation scripts into the appropriate pieces to apply to chunks. The new system is much better engineered and does much more efficient (and multithreaded) bookkeeping of what chunks are loaded, this means much less time is wasted organising the data.

Secondly, I modified how chunks work internally. The way chunks are used is that when a modification (any modification) is made the mesh for the entire chunk is regenerated - so if there is a tiny little edit to one cubic meter of a vastly complicated chunk containing an entire building you generate a new mesh for the whole building! The new system has each chunk as an octree - as the chunk gets more detailed it will eventually split up into 8 smaller sub chunks and the sub chunks can split up further too if there is enough detail in them. This means that if an edit is made to that one cubic meter of a complicated chunk you will only regenerate the meshes for a much smaller area.