Why not combine these? “Love in the Age of Dual-Wielding Rocket Launchers”
I understand that adding simple (non-interactive) objects is easier than building new areas. Maybe not coincidentally, new areas to explore would be more interesting. That is, I’d be more interested in more audacious fan-projects. That doesn’t mean I’d be unhappy to see someone import a new lore-friendly dining set; I’d just rather see what someone could do to build a whole new area, even if it takes longer to get that more complex mod.
@FlatFingers: Yeah, more complex stuff might be more fun, though I think adding some life into the existing areas would be nice to see as well as adding more areas.
For the moment at least, changing code is the easiest; changing existing resources (textures, meshes, strings, etc) looks like it might be almost as easy.
Changing maps, item placement, etc looks a fair bit harder, but looks like it might become possible with some work.
I don’t think at this point I’d say there’s anything impossible to mod. Only lots that I just don’t know how, at least not yet.
Once patch 4 is out, I hope to release a tutorial at least for modding the bits that I understand how to mod :) Not much point modding before P4, since everything might change.
Immediately after P4, I’ll also start a thread to try to get a list of all remaining bugs, so we can get to work on a bugfix mod. Might make a github to manage the bug list, so we can categorize them (item placement, text/translation error, etc).
One of the bigger challenges will be figuring out how to make non-conflicting mods that don’t need to be four gigs to download. I’m hoping the existing DLC infrastructure will help there, but haven’t looked into it.
Mod = Modification and that’s != Mission building.
modifying seems so “simple”. I would like to be able to challenge myself with new tasks and goals.
give me a “mod” that complicates completion. let me choose to “eliminate all enemies” or “break every breakable”. better yet, let me use the existing level/world to layout my own quest by placing NPCs, enemies, traps, resources, loot, and whatever while also defining my objectives and winning conditions.
VR mod would be fascinating. I know we did some early VR tests but investors didn’t seem interested in it at the time, and we didn’t have enough VR-experience inhouse to work with it on our own. It seemed promising, from what Will told me.
A shame too; I could definitely see myself playing UA at home with VR. Would definitely follow progress on that.
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.
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
Even with the grammar wince - I think that’s a meme reference so I’ll let 'em off.
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.)
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.