Transitioning to ECS In the end it was as easy as replacing `type` with `cls`.
And automatically broke the unit into an inner join of database tables.
It will still need to make use of the new feature though.
I.e. I want each entity having two faces:
1. High level one, used on world map.
2. Detailed, used on world map site (or sector).
The detailed face will include the physics forces acting on the entity and excreted by it, as well as its AI state.
The world map entity will have general information about that unit. That way I can have all units from all sectors and times to be referenciable at any time, but only load the sector data when units inside of it are being processed. Otherwise I can offload them on disk.
Since I want to make the game revolve around time travel and controllable nondeterminism, I need to save world saves every few time quants so that any time quant can be recovered. I.e. I want to allow for a quest revolving around traveling back in time and saving some character from death, and then returning back with that character. That obviously should allow to reference entities in the past, as well as moving them between saved states.
Still unsure how different different entities affect states at different time can be merged. Obvious solution is to make them override or destroy past, akin to The Langoliers movie monsters. I.e. what should happen to the states between current time and the jump back time? Will they go out of the existence? Or branch into alternate time-line?
Originally the idea was to break 4th wall by legitimizing the save scumming as an limited game mechanics thing. And at the same time making it harder to do for cheating. But then I began my transitioning and decided to make the game more intricate covering all range of themes and maybe embedding LLM AI to drive characters and be DM.
Current Mood:
amused