Finally managed to make saving and loading work, which involved doing a big refactor on the data that was being kept on each entity. I’m using my own circular-functions library and even had to push a small bugfix after about 4 years. See it working in the video below.
This will require some more testing, some bugs likely managed to slip in since it’s a big change.
Also, since the last update, the changes done by Jucarave for door handling were merged in, as well as the popups with item descriptions.
Next up to finish milestone is:
- Line of Sight, still thinking of how to do it, considering the following options:
- True LOS using raycasting or shadowcasting like a traditional roguelike, might be a bit heavy in the processing and might look a bit weird with the scrolling, but would be more accurate and apply to a lot of different situations without special casing. Just need to define whether a particular cell type is opaque or not.
- Ultima 7-like, using different “zones of sight”, so if you are inside a building you can only see inside the building (but you can also see other nearby building through the walls!), and if you are outside the buildings you can only see the wilderness (but you can see through buildings!).
- Ultima 6-like, with more elaborate areas of sight, so once you open a door you “unveil” the room, but then would have to keep track of these areas, and model them as part of the maps. Also you can see other unveiled rooms thru the walls.
- Reading Books, which should be simple enough.