Mission jobs

  • Convert commands to use ids instead of instances

  • Dump factors (missions) and attributes (assets) in favour of key/value pairs

    This one needs a bit more thought. Problems include:

    • Are keys registered somewhere, or are they just convention? Convention is easier to program, keys are strings and I'm careful when I type them. Registration is safer (typo proof) but needs a registry (that, ideally, JavaScript has access to)
    • Are values typed? String/Number/Boolean opens up options, and something like units (gold, kg, hp) opens up more. Cost is that strings are easier to deal with.
    • Scope creep. If these pairs get complex enough, I can redefine missions/players as collections of pairs (instead of having some actual native properties). It's that a bad thing?
  • Start thinking about authorization/roles, splitting out admin functions on the front end, and authentication, mapping users to players


  • Do something about persistence

The caches can be updated to be async, with a fallback to something more permanent.

Should get the event storage stuff working, then can do event replay at app start time, and maybe start using event source's last id.


To remember your current position in the blog, this page must store some data in this browser.

Are you OK with that?