Announcing persistence... Dagon-style!


Greetings, People of the Forum :slight_smile:

Recently I have been developing a bit on Dagon (the open source variant), and would like to announce the main attraction of this Topic: Dagon’s newly grown persistence system. In short, it is an attempt to implement saving and loading at the engine level, to allow all games developed with Dagon to benefit from the system. All the details are available at Dagon’s GitHub Wiki, details I highly encourage you to read up on so you can unleash the system on your own spawn of Dagon (read: I would like you to test it with your games). So far it has been tested to (mostly :sweat_smile:) great success with Seclusion: Islesbury. Feature requests and, inevitably, bug reports are wholeheartedly welcome! - although I invite you to indulge in such activities either under Issues in the GitHub repo or in new topics here in this forum, for the simple reason that it is more convenient to track and reply to specifics on new features and bugs that way.

That’s all for now,


Woo! :clap: :clap: :clap:

Awesome job, Benjamin! This is looking so cool :smile:


Great job, Benjamin! It works great in Seclusion. I hope more people test it.

Also thanks for the document. Should make things easier.


Thanks Civan and Agustín, you are both too kind :blush:
A rather big change to the save files is in the works btw. I’m trying to make the save files more resistant to script changes, so Dagon developers don’t have to worry so much about updating their games after they have been released. With this change, adding new or moving existing objects around in the scripts will no longer invalidate save files. From now on, only renaming Lua variables will invalidate save files.


Ooh, that sounds even nicer. Should make things even easier.


Benjamin, I’ve been following your changes and am really impressed. Thank you for putting so much work into this. As soon as I’m able, I’ll download the new version and try it out with Adamantus.


Glorious! Do tell me if you need any help adapting Adamantus to the system.


I was building on Dagon version, which was pre-Serena so I may have some editing to do. I’ll download from the wiki and read over your document this weekend, then give it a try. Thanks,


Yeah… for one, sometime after 0.6.5a (Asylum teaser revision) the naming convention of folders changed. I.e. Resources/ became resources/ and so on. That’s a minor change though. Fingers crossed Adamantus already roughly adheres to the rules of the document. Be sure to check the document regularly! These days revisions don’t last very long.


I started to play through what I’d already assembled in Adamantus and recalled that there were other problems that I had besides having no save/load, etc. Most of these were issues due to Admantus being a more conventional adventure game — when my game mechanics differed from Asylum’s, I often had problems. I needed custom cursors for my inventory items, for instance. I relied heavily on the use of overlays and if two overlays were open on the screen at the same time, one “stuck” there and could not be closed. I wanted to be able to drag patches around the screen with the mouse for puzzle pieces, but drag was not initiated. Etc.

I did do a little test area, though, and perhaps I’ll drag that out to test the new features. :smile:


Yes, please do put that test area to use :slight_smile:

Dragging around certain objects like images doesn’t sound like too specific a use case, so feel free to “formally” make a feature request for it here in the Dagon category, perhaps describing the feature in greater detail - depending on what you have in mind.