abstract.cc core.wdomain - noko3/cc-core GitHub Wiki

World domains

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119].


Abstract

The large in-game world is split up into multiple smaller size regions.
The domain type SHOULD have:

  1. A local object tracker
  2. A method to check whether an object has left the domain's bounds and should be assigned to the neighbouring domain

Domains may also be used to split players between multiple physical machines while keeping them in the same virtual game space.

Trapezo-rhombic dodecahedron seems to be the good shape to split the world into as it has the following advantages over the cube:

  1. Has only 12 neighbours vs. 26 for the cube
  2. Has a shape close to a sphere: minimal overhead on resource storage Yet the disadvantages are:
  3. Not obvious way to build an octree equivalent
  4. Harder to implement