Skip to content

Fast game state management #38

@oubiwann

Description

@oubiwann

Scenario: many players are logged onto the game, interacting with each other, with NPCs, with the world, and making changes that impact all of the above and thus the overall game state.

Tasks:

  • First of all, is PostgreSQL not fast enough? Test it!
  • If the answer to that is "yes" then delete the hxgm30.world release app (will just use hxgm30.store instead)
  • Can all of the game state reside in memory?
  • What efficient data structures might be applied here? (e.g., RoaringBitmap?) What are the concurrency stories around those?
  • Is the best answer to simply use Redis?
  • If an in-memory state manager is needed, state changes will need to be pushed to the store eventually
    • we've been exploring WAL updates as an event stream (see Add support for streaming event data for DB changes #39) which push DB messages to the app -- we'll need to explore app messaging pushed into the DB for queued DB updates ...
    • would be nice to do this in-app, in-node and not have to add a full messaging system to the stack ...

(Additional tasks to be defined once the above questions are answered.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions