Modding Skyrim: understanding what modders want

This is an interview with the anonymous modder Vorians, who’s worked on the Unique Landscapes and Better Cities mods for The Elder Scrolls IV Oblivion. I was interviewing him to talk about Skyrim for this piece on What Modder’s Want for Gamespy, but he didn’t reply in time, so I’ve posted it here.


This is an interview with the anonymous modder Vorians, who’s worked on the Unique Landscapes and Better Cities mods for The Elder Scrolls IV Oblivion. I was interviewing him to talk about Skyrim for this piece on What Modder’s Want for Gamespy, but he didn’t reply in time, so I’ve posted it here.

One of the Oblivion Unique Landscapes

A lot of modders asked for a new region generator tool – what is this?  
Not something I know too much about, but I’ll try to describe what this is. Modders can create content outside the intended playable borders of Oblivion, and also create entirely new worldspaces (a worldspace is an exterior location, such as Cyrodiil or one of the cities in Oblivion). Worldspaces are made up of land height, which can be auto-generated using existing tools, and regions which contain certain types of plants, rocks, creatures etc. A region generator tool would automatically add plants, rocks, creatures across a designated region of the land, saving modders a great deal of time as otherwise everything would need to be hand-placed. Once the region has been generated with generic content, the modders can then add the more unique details such as settlements, cave entries, ruins.

What are OBSE and Wryre Bash? Why are they useful?
OBSE is the Oblivion Script Extender. It was created and is still being improved upon by modders, and adds hundreds of new scripting abilities for mods to use, allowing things to be done in mods which would never have been possible with just the scripting from the original game. Really this isn’t something one can hope to be provided by the game developers, as they could never anticipate every possible scripting command modders may want – but the more there is available from the beginning, the less need there would be for a Skyrim Script Extender (SKSE I guess would be its name).

Wrye Bash is mainly for gamers rather than modders, it allows control of the order mods are read by the game (since mod content can overlap, the last-loaded mod wins and overwrites any previously loaded mod trying to edit the same things). Wrye Bash allows the player to choose which mod will overwrite others. Wrye Bash also includes the ability to control how mods get installed, by creating BAIN packages from the downloaded mods. I’ve never really used BAIN installations myself, so can’t describe its benefits, but the Wrye Bash thread here on the Beth forums ought to provide some details. The biggest benefit from Wrye Bash is the “bash patch”, which each player generates for their own game. It takes conflicting edits (where more than one mod edits the same thing, only the last-loaded mod’s edits appear in-game normally), and combines them so that you can benefit from the changes made by both mods (see my comment on the “rule of one” lower down).

What does it mean to say that content in Oblivion was hard-coded?
There’s a lot in Oblivion which a modder simply cannot edit; the developers did not design it to be editable. Magic effects are hard-coded if I remember correctly, new ones cannot be created so modders are limited to using only those which came with the game. There’s other content which is also hard-coded. OBSE scripting provides some means to work around hard-coding, but it would be much better if there simply wasn’t any hard-coded content (or at least as little as possible) to increase what modders can do.

Skyrim - Solitude Marsh

A lot of complaints were about bugs – are they really still not fixed?
Oblivion’s Construction Set is full of bugs which were never fixed. ShadeMe is working on and has released the CSE, Construction Set Extender, which fixes various bugs and adds enhancements to the CS. Sure would be nice if modders like ShadeMe didn’t have to fix the bugs, they ought to be fixed by the developers!

Arthmoor wanted “the creation kit to be on par with the CS extender.” What does he mean?
The Creation Kit will be Skyrim’s official modding tool created and released by the developers. CS stands for Construction Set, which is the official modding tool created and released by the developers for Oblivion (and Morrowind before it). Construction Set Extender is ShadeMe’s update to the CS, fixing bugs and adding new functionality. Arthmoor would like Skyrim’s Creation Kit to have more features and abilities than the Construction Set had.

Why are the current land-editing tools so bad?
Land editing could certainly be improved. It’s difficult to adjust the land height accurately, what tends to happen is a much larger area of land gets affected than you want, even with the radius (area to be affected) at its smallest setting. Also, after making adjustments to make the land height in one place exactly as you want tends to leave the area around that place a little messy, needing smoothing over. But trying to smooth that area over tends to undo your changes in the place you had just finished adjusting. And then changing the textures on the land (so that it looks like grass, or sand, or rocky, or snow, or mud, or road etc.) there’s a limit on how many textures can be in each quarter of a cell (and a bug in the CS means that it displays one less than the actual limit, so it doesn’t look right even though it is right).

Wrinklyninja wanted a change to the rule of one. What is that?
The “rule of one” is what someone once made up to summarise how when more than one ESP edits the same record from the game, only the last-loaded ESP’s edits will appear in-game: just that one. For example, an NPC is one record – this record stores the information about the NPC’s face, hair, eyes, race, gender, class, all stats, their name, everything they carry/wear, what factions they’re in, what spells they can cast, what AI packages they can use… and more. All in one single record, so if one mod edits an NPC’s inventory, while another mod edits that same NPC’s list of AI packages, only the last-loaded mod’s edits will appear in-game.

Wrye Bash actually is a great help here, as it can take the changes made by both those two mods and combine them so that both the inventory edits and the list of AI packages can appear in-game, but it would be so much better if the game were capable of combining these edits from multiple mods together itself. It would also be good if Skyrim split some of the records which contain a large amount of related information into separate records (which would help reduce the chance of two mods overlapping in this way).

Skryim - Standing Stone

Bg2408 complained about the dialogue system. What problems are there?
In the Construction Set for Oblivion, it is not easy to trace the lines of dialogue for a single conversation, due to the layout. Having the dialogue display in branching trees so you can see how each line links to the next line(s) would make it easier to ensure that when you create dialogue, it makes sense and all the connections are correctly placed (otherwise lines get missed in-game and the conversations don’t make sense!).

Silent dialogue… in Oblivion, all dialogue from the original game is voice-acted, so every line of dialogue has a matching MP3 file for the voice. Mods which add dialogue typically are not voice-acted, so the dialogue is silent in-game. However the game still expects an MP3 file for every line of dialogue, the time required to play the MP3 file determines the time the text remains visible on-screen before moving onto the next line of dialogue. With no MP3 file, the dialogue then zips along too fast to read, so modders are forced to provide silent MP3 files just to slow the text down. So the desire here is for Skyrim to keep unvoiced dialogue text on-screen for a reasonable length of time, either by not timing based on the length of an MP3 file, or else by being able to generate silent MP3 files itself (presently modders have to use TES4Gecko to generate silent MP3 files for their dialogue, though a modder named Elys did release the Universal Silent Voice mod for gamers to install, which requires OBSE, and enables any dialogue lacking a silent MP3 file to keep the text on-screen for a reasonable length of time).

Ethatron asked for a script debugger.
Speaks for itself really. When writing scripts for Skyrim, sure would be nice if the Creation Kit could test a new script and show the results without having to save & compile the script, save the mod, launch the game, get to the point in the game where your script would run, see its results, then quit the game and return to the Creation Kit again to continue modding.

Marshmallow asked for a much better collision system – is it particularly crap now?
Yes, it is. The collision system is highly inaccurate, especially when it comes to furniture (shelves, tables, desks), and havoked objects touching that furniture (havok is the physics in the game, controls what happens when a moveable object is pushed/pulled/thrown/shot/hit/knocked over). Objects placed on tables/shelves such as books, plates, fruit, tend not to actually be touching the table/shelves, they tend to float just above it. When such objects actually are touching the table/shelves, simply nudging any one object tends to cause that object and several others close-by to rise up slightly above the table/shelf surface. And when there is a bookshelf with several books on it, the collision for the books is larger than it should be, so nudging a book can often cause the entire shelf of books to suddenly push against each other so that they move up and away from the books beside them – often resulting in some books shooting off the shelf and flying across the room.
To continue, collision is not always quite right for static objects when the player tries to walk over/around them, sometimes the collision sticks out too far or it dips in, so the player can partially walk into an object. Shooting arrows through supposed gaps in a mesh doesn’t work as the mesh collision doesn’t account for the gap (e.g. bars for a prison gate), and when shooting past something such as a tree, it’s not unusual for your arrow to hit the tree even though the arrow didn’t actually touch it. And similar issues like that.

Someone asked for multicore support as well.
Multi-core support is very simple: Oblivion was released at a time when multi-core CPUs were fairly new on the market, and the developers did not take the time to ensure the game made proper use of them – typically Oblivion will only use a single core from a multi-core processor, thus wasting a lot of potential processing power. I think it extremely unlikely that Skyrim will also fail to benefit from multi-core processors.