The future of modding

Airships: Conquer the Skies
2 Mar 2015, 9:12 p.m.

JavaProphet's Bread & Games Mod for v4

Modding came to Airships: Conquer the Skies kind of organically. People started reverse-engineering the game and adding stuff on their own, a development I was quite happy with. So I did some things to make modders' lives easier: released the source code to people who asked for it, added a system for loading in alternate classes and overriding the defaults, writing some tutorials.

And it was good. But now, things are a bit more complicated.

Leading up to version 6, I wanted to make the game more reliable, and started packaging a Java Virtual Machine along with the game. This is useful in that everyone now uses the same JVM, and people no longer have to install Java. But the simple system for loading in mods no longer works with this.

The bigger issue, though, is safety. A mod that directly modifies the game's code could do anything, including containing nasty malware. As long as I could count the modders on the fingers of one hand and practically knew where they lived, this wasn't so bad. But let's say the game becomes (as it should) vastly successful. Sooner or later, someone unpleasant is going to seize this opportunity for malware.

So where do we go from here with mods? There are basically two options:

There's a fair amount of stuff in the game that can be shifted into data files. This would allow people to easily and safely create mods that add and tweak modules, armours, monsters and translations. But that's a big step back from the kind of major earlier mods that added whole game mechanics like diplomacy and build queues, or shifted the whole game into space.

The other option is to create a far more rigorous system of modder accreditation, wherein if you want to publish a source-modifying mod, it has to be vetted by me literally reading through all the new code and trying to make sure it doesn't do anything nasty. This would work, but it would be very slow, and I'm not sure the accreditation would even be enforceable.

You might ask yourself why this is so hard. After all, there are plenty of games where you can do a huge amount with modding. There's someone in the news just now who created a whole new landmass as a Skyrim mod, with people and quests and creatures and everything.

Airships is a small game with complex mechanics made by a single person. Large games built by huge teams are often structured into several layers, with a robust scripting system that implements the actual game built on top of the game's engine. Because the scripts are run by the engine, they can be limited in what they can do - no file system or network access, and so on. Airships has no such layers. There is only data and executable code. The former is limited, the latter is not limited enough.

Thoughts? Suggestions one way or another?

For now, I'm going to read up on Steam Workshop, so I can soon blog about concrete plans to get that enabled.