What fan-mods would you like to see?


If map notes could be saved and recalled, separate from a whole Save-Game file, that’d be a bonus. I don’t expect it, however. Always bummed me out when I had to handwrite a note outside a game in spite of an annotation option in-game, because it would cease to exist.


I thought at one point we could add dots and text, but they appeared on all maps, not just the one you added the note to. If that could be polished, and additional marker icons added, that would be excellent.


Good point. And it raises a bigger point.

Getting modstuff to save without breaking OSE’s savegames feels like something really important to get right.

If someone installs a mod, it saves something, and then they decide they dislike it and uninstall it… nothing should break.

This might well mean, just to give maximum protection against cocking things up, that mods should save to a separate file, perhaps just a simple JSON format, something like:

    "modderName": {
        "modName": {
            "anySettingName" : "any valid Json data",

So for example:

    "dewi": {
        "mapMod" : {
            "map1": {
                "name": "Marcaul",
                "annotations": [
                        "x": 10,
                        "y": 10,
                        "text": "This is the Marcaul map"
                        "pinIcon": "map.png"
                        "x": 431,
                        "y": 367,
                        "text": "Haprukala was here"
                        "x": 700,
                        "y": 732,
                        "pinIcon": "skull.png"
        "bugFixes" : {
            "LastInspectedObjectType": "BarrelSmall01",
            "SerializedObjectData": "7F1E...",
        "VR" : {
            "Separation": 20.00,
            "Convergence": 1.05,
            "Gamma": 0.93,
        "objectInspector" : {
            "LastInspectedObjectType": "BarrelSmall01",
            "SerializedObjectData": "7F1E...",

I think there would probably be two types of saved data:

  • global configuration data, which would be saved in a central file and accessed regardless of your save. Let’s refer to this as “ModConfig.json” for now.
  • per-save data, which could be named the same as the regular savegames, and put in the same folder, but with .json appended. Let’s call this “ModSave.json”, to distinguish from “the OSE savegame”.

So, to answer your point, @jtr7, if we did it this way, the map mod could perhaps allow you to save your annotations either per-save, or globally, as you preferred. This save format would also make it reasonably easy for a mod to add an “import” function to import its mod settings from an arbitrary “ModSave.json” into your current game, even if you were playing a different character or whatever.

The disadvantages I can see with this “single file for all mods” approach are:

  • if one mod saves corrupted data to our “ModSave.json”, no mods can load their saved data from that save.
    • A central library method for saving data to our savegame.json is probably the right way to handle this.
  • if a mod saves a gig of binary data to our savegame.json, then save/load will become hugely slow.
    • Code review partly fixes this: getting save/load right is something to pay attention to in code review. But even well-written code could accidentally recursively serialize a badly-formed object which, say, included a reference to the root scene.
    • In the Elder Scrolls Online, their modding system gives each mod a fixed amount of storage space, but allows it to raise that amount by prompting the user with a request. So the user has control over how much to allow each mod to save. This is the same pattern we see on mobile pphones, and in Flash games.
  • Maybe some stuff HAS to go into the OSE savegame. The game currently saves a list of all burning things, all items in your inventory, etc.
    • For these, we need a nice clean solution for when the extension gets disabled or uninstalled. What happens if that savegame then gets loaded, and the modded object is loaded in, but no longer has a valid mesh or texture or scripts?
    • I don’t really have a good suggestion here. Anyone?
    • We CAN tag all modded objects. So perhaps after game-load, we should run a cleanup pass to remove all orphaned mod-tagged objects, somehow? Or during game-load, we can filter them to just not load in the first place? Tricky!
    • Worst case, we can have a list of mods that the game was saved with, and warn if they aren’t running when the game is loaded. I’ve always despised this solution - it’s just plain user-hostile. I get why most game-modding systems do it, but it really rubs me up the wrong way. It means uninstalling a mod you dislike will corrupt your savegame: that’s not OK!
  • What happens if we change the format? What breaking changes might we add? How do we elegantly handle savegame versioning?

So, that’s another suggestion for a fan-mod: a safe and rugged centralized mod-data save/load system. I suspect this one will not be an easy project.

Edit: fun little tidbit about the OSE savegame format: there are two variables in it, called CurrentQuestNameID_JustForYouSpeedRunners_YourWelcome and CurrentSceneName_JustForYouSpeedRunners_YourWelcomeAgain

That’s kinda cool :slight_smile:
Even with the grammar wince - I think that’s a meme reference so I’ll let 'em off.


Love it! Thanks for that!


That actually reminds me of another feature: dependency checking.

Suppose you install Mod A and Mod B, and Mod B references a feature that exists only in Mod A. Then you disable or uninstall Mod A. In this case, the next time you start the game something, somewhere, should detect this condition and pop up an alert rather than letting the game crash inexplicably.

(Nexus also offers the rather nice feature of alerting you at the moment you ask to download a mod that requires some other mod(s). I rate that as a nice-to-have, though, versus the must-have of run-time dependency checking.)


“This Mod has the following prerequisites, and will not work, or work as intended, without them:”


Hmm now that you mention it, I only just now noticed that the note-taking system on maps was removed prior to launch. I suspect this was because there was a new way to track enemies and icons that ended up being in the final game, but note-taking was removed because of how clunky it was.

I miss it as well. Sometimes it’s hard to remember what kind of door needs what kind of key when I try to work my way back.


If we do make a map-marking mod, definitely the key icons will have to be available as a menu of selectable icons, like emojis. I’d ideally make the existing labels and icons show/hideable too. And the layer they’re on needs to be topmost - I think that is or was a bug, where labels are hidden. Might’ve been fixed now.

Don’t think I’d add actual emojis, though I’d permit them since they’re just another unicode character. I discovered (by typoing!) last night that the windows key plus “:” gives an emoji menu on Windows now. And apparently on OSX it’s cmd-ctrl-space. We’re living in the future now, we can :crazy_face:anywhere we like… ☥


It’s kinda sad that I’m thinking it may just be easier to have a screen-dump button, and an image file format that’ll open in MS Paint. What used to at least seem uncomplicated, is no longer under any illusion.


Now that you mention it, it was VERY satisfying to take map notes on the DS/3DS systems, like Etrian Odyssey and the handheld Zeldas (Phantom Hourglass and Spirit Tracks). Normally you could see the whole map untouched and then bring up an “Notes” option so you could scribble on top of the map with your own notes. It was super easy because of the stylus and touch screen, and very intuitive at the time. Wish there was an easier way to “write in notes” on PC. I believe this is why we added labels that could have notes typed onto them, to try and make it as easy to take notes as possible. (Plus imagine how difficult it would be for console players, even if we gave them a keyboard option…)


If they’re in online mode, maybe something could be done through that. Probably involve innovation, regardless.