This weekly update is being combined with next week's because I am losing some time to travel (visiting family tomorrow). I will be posting the update video next week, but for now though I will give a textual overview of some of the things I am currently working on:
- Getting characters moving around the world semi-intelligently (preferring roads and houses, not walking into the ocean, etc).
- Building an object/container system, which is basically like a big tree but hashed locally to the nearest world unit/chunk. Any object can be a container (if specified to be so), and objects all fall into the generic entity category, so NPCs can act as containers too. So you could have a bag of items in the world and an NPC could pick up that bag, and then you could kill that NPC and pick up his/her body, and all of that fits neatly into the container system. It also tracks ownership (for as much history as you want to specify), so you can know who took objects from who, which is useful in determining who an object was stolen from and when, or whatever. So the basic actions are:
* Picking up and putting down containers/items (it groups items into single containers (i.e. a temporary bag or something) when you drop them, to make rendering performance better and allow for better network performance if/when someone implements that).
* Transferring objects between containers (i.e. moving stuff into your inventory, or bartering with an NPC, or stealing from an NPC) - also equipping/unequipping; all of this is done in the UI of course.
* Possibly moving containers without picking them up (i.e. pushing a barrel or chest).
I also fixed a major bug with the voxel rendering where voxels would begin flittering as camera moved from the origin (was not a precision issue, as I first thought).