Persistent vs. session-based entities

When we connect to a Game World with a Game Client, the traditional approach is that all Entities originating on our Client are session-based. This means that when the Client disconnects, they will disappear from the network World for all players.

A persistent object, however, will remain on the Replication Server even when the Client or Simulator that created or last simulated it, is gone.

This allows us to create a living world where player actions leave lasting effects.

In a virtual world, examples of persistent objects are:

  • A door anyone can open, close or lock

  • User-generated or user-configured objects left in the world to be found by others

  • Game progress objects (e.g. in PvE games)

  • Voice or video messages left by users

  • NPC's wandering around the world using an AI logic

  • Player characters on "auto pilot" that continue affecting the world when the player is offline

  • And many, many more

A persistent object with no Simulator is called an orphan. Orphans can be configured to be auto-adopted by Clients or Simulators on a FCFS basis.

Last updated