Modding in FTL consists of unpacking resources.dat or data.dat, altering the contents, repacking and redistributing the data file or instructions on how to install it. Tools now exist to simplify this process, but it's still not ideal and is alot of work for the end user (and indeed the modder). It's also easy to make a mistake and screw everything up. Adding new content is impossible; all you can do is modify existing graphics and add new events. Enter Overdrive.

Overdrive is a complete rewrite of the game engine with a focus on moddability. In this sense, Overdrive isn't really a mod. The goal is for it to work and play out exactly like the original (with a few extra improvements such as a resolution setting), but allow easy modding. The rewrite uses the original game assets but won't come packed with them, so you must still have bought the game in order to use Overdrive - it will automatically search for your FTL folder and mount the resources for you.

Overdrive will be moddable via Lua scripting. Lua scripts are used by hundreds of games (including World of Warcraft) and are a very popular option for modding. If you've ever played or modded Garry's Mod, you'll know what I'm talking about. Installing a mod will be as simple as dropping a folder or archive inside the "mods" folder. A (very) early version of what the script code will look like can be found at the Overdrive repository (see below).

The project is still in an early state and by no means playable, but visible progress is being made.

The project is open source and written in C# using SFML 2.0. I am looking for programmers to help me out with both the engine itself and the "Vanilla" Lua scripts. I am focusing on just Windows currently but the project will support Mono and hence will run on Linux, Mac OS and any other operating systems Mono supports.

There is no release date as of yet, you can assume the release date to be "when it's done". Check out the progress and make your own conclusions!

Since it won't be distributed with the assets and will require the base game to run (thus requiring the end user to have bought the game to use it), it should be perfectly legal. If anything, it will get the devs more money! The developers are aware of and have sanctioned the project's existance.

Last edited by thomasfn on Sat Oct 27, 2012 10:41 pm, edited 3 times in total.

Is this primarily focused on making what is currently configurable easier to implement, or does this also include permitting access to elements which are currently hardcoded in the binary?

I always thought that the latter may be frowned upon, even though the prospect excites me greatly. I think you could make some very interesting and very major changes with just a few extra lines here or there, if those elements were accessible.

Since I'm recoding the engine from scratch, it won't ever touch the base binaries at all and I can add Lua bindings to do pretty much anything you want with it. To start with you'll be able to add new ship types (including room layouts), new systems, new races, new weapons, new events and new sector types (as well as modify existing ones by editing the "Vanilla" mod) but I can expand it on request to allow you to modify other gameplay mechanics.

Modding will no longer consist of unpacking/editing/repacking/redistributing dat files but instead writing a Lua script, chucking it in a zip file and done.

I am all over this! My fingers have been itching to do some Lua scripting, and I really wanted real mod support for FTL. But since they aren't going to implement that, this will be the solution And if it's open source that's just going to be even more awesome.I might try to implement some online multiplayer at some point.

thomasfn wrote:Multiplayer is something I've been thinking about and is entirely possible, but is something I'll be ignoring until everything else is working correctly. I'm thinking multi-ship battles + coop.

Well I was meaning that since it's open source that it would be something I would put into the engine.I didn't expect you to have it in in the finished version.

thomasfn wrote:Multiplayer is something I've been thinking about and is entirely possible, but is something I'll be ignoring until everything else is working correctly. I'm thinking multi-ship battles + coop.

Well I was meaning that since it's open source that it would be something I would put into the engine.I didn't expect you to have it in in the finished version.

So I just pulled the repo to take a look and see it's in C#? How is that going to work for those of us with Mac's or with Linux?

So you are essentially going to recreate the game from scratch, but coding it the way you want to? But still require the original resources to run it? This is sounding far less like a mod and more like a rebuild.