Game Design, Programming and running a one-man games business…

Supporting modded content

Supporting mods is normally pretty easy, especially if you have your data left pretty open. The place it gets tricky for GSB2 is online challenges. People post their fleet to other players as a challenge, and this works great when the only content in your challenge is content you *know* the other player has on their hard drive, but the minute you allow modding it gets kinda complex.

It’s pretty late in GSB2’s development for me to realize (less than two weeks from release) that the way I was handling it was not actually working, so yesterday I had to go back to the drawing board, and I have high hopes it will be cracked by the end of the day, especially regarding the most likely form of modding, which is extra hulls, modules and ship components (visuals).

When people posted a challenge in GSB1, it was just a binary GSB file. I had a really rubbish system where the player had to tick boxes when issuing a challenge saying what extra DLC content might be included. In fairness, the game did actually check on launching a challenge and warn people if they needed extra content, but it really did kinda suck.

With GSB2 I’m improving this. I hacked the mod-content code last night so it told each piece of moddable content (module/component/hull) what mod is came with. The base game has been designated as just another mod, which makes this nice and easy. Then, when I post a challenge, the game can scan through every ships hull, module and component and make up a list of all the content packs required, which in 99% of cases will be just the base game. In then sticks that in the header file for the challenge.

Theoretically I can parse that file on the server and store it in a database, and thus show a player what content requires mods and what doesn’t. Also theoretically I can direct them to the download page for that mod. In an ideal world, I’d break mods apart automatically upon submission and handle the file delivery along with the challenge, so you would magically get any extra required content. The bandwidth requirements there might be a pain, and this is all fantasy work for after release.

But I am at least confident that I will release with a system that at least lets people put together mods, and use them within challenges without any confusion or random crashing. Worst case situation is a popup on a challenge saying “sorry, this requires the ‘l33t ship hulls mod’ and you don’t have it yet!”. That will just be phase one.

GSB2 had a superb modding scene, and I want to be supporting that in GSB2 from day one. I suspect the ship design steam workshop submission stuff will help get people interested in the mod scene better, and the integration of a mod control panel will also make mod management a lot easier.



3 thoughts on Supporting modded content

  1. Very cool, that sounds great Cliff.

    1) On a somewhat related note. I realized that upon completion of a challenge battle, looking at the statistics page (awesome btw) a user can see the enemy ships and their build and not only that, but they can save those ships to their personal collection of ships. In some ways I like this feature and yet it gives my opponent an easy way to analyze my fleet and come back and defeat me in the very next battle, maybe even using my own ships against me. That is the part I do not like. I wonder if other users feel this way. In GSB1, you had to look for beam colors and zoom in on the ships to determine what they might be using and defeating them would be more difficult.
    2.) Can we adjust the amount of $ and # of pilots for given battles? The anomaly controls picked via the planet/map is a fine way to deal with that part.

    (btw, that glitch/crash issue I had resolved itself-must have been my end)

    1. Yeah I’m undecided on the examining enemy ships thing. Savvy players could crack open the GSB file and take a look anyway, so it was never entirely hidden beyond any possibility of cheating, and I think people who are really curious as to what defeated them might enjoy it.

  2. Do you support versioning for the mods? Example:

    1) Player A creates a challenge with version 1.0 of mod X.
    2) Player B plays said challenge and downloads (or is delivered) version 1.0 of mod X for it.
    3) Mod X is updated to version 1.1 with new assets.
    4) Player A creates an updated challenge using the new assets.
    5) Player B plays the new challenge.

    At step 5, would the game see that mod X is installed and proceed (and either error out or have missing things), or is there a version check that would prompt the player to obtain the new version of the mod?

Comments are currently closed.