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