Modules Stats Beta 1.10 current. Updated: 9/16/09 Ver: 1.15

I’ve been putting together a excel file to play/compare around with the info. Figured I’d share my efforts with others so that the time I’ve put into it helps more than just myself. I’ve been taking all the info from in game, ie directly from looking at the info presented in the ship designer. Yes there is probably a quick way to load the info from the files directly but by the time I figured out how to do that I could just copy it all by hand :slight_smile:

So far I’ve verified all the weapon modules, for the federation race only so far, info current as of 1.07. I will get the other modules…when I get time. No promises. :slight_smile:

Any feedback on ways to improve what I have are always welcome.
The modules are sorted by ship type, by weapon type, alphabetically.

And yes I know plasma weapons are technically indirect fire but they have such a high speed that they might as well be direct.

As always, if anyone finds a error or has a suggestions feel free to let me know either on here or nacnudcs@gmail.com.

Updated version posted 9/16/09
*Version 1.05: Rechecked and found errors in cruisers weapons.
Fusion beam now Federation & Rebel only.
Added Alliance Beam Laser & Imperial Beam Laser. Thanks to MindSnap for pointing out I missed this difference.
Added Version number to file to keep track.
Added Change Log to file.
*Version 1.10: Noticed that the Federation Fusion Beam and the Rebel Fusion Beam are actually different weapons.
*Version 1.15: Verified all data points for Beta 1.10.
Cruiser Armor damage absorable updated/fixed to 64.
Advanced Armour Repair cost updated/fixed to 162.
Frigate SmallBeam Laser min range 125.
Frigate Armour II cost updated/fixed to 63.

BSG Module Stats Excel file
On Google Docs as requested
Google docs BSG Module Stats Excel file

Got bored so took some time to finish off the modules stats info. I’ve collected all the info for all the modules for all ship types and all races. From what I can tell all four races use the exact same modules, although honestly I only 100% checked about 60% of the modules, with the sole exception of two Alliance only weapons. I also cleaned up the look of the file to attempt to make it easier to read.

I’ve updated the above post with the new file.

As always feedback is welcome.

Thanks for doing this. How long did it take??
I am temped to write something to scrape all the data from the files so that no one ever has to go through what you did when 1.08 is released…

I don’t want to be negative of what you have done, but in its current format its not very usefull as you can’t sort any of the columns. If I get around to it I may post an updated version.

The Empire also has a slightly different beam laser, aptly named “Imperial Beam Laser”. It has a slightly longer range, and is yellow.

Not sure what you mean by not sortable, as I’ve sorted the data several different times on my own, just ended with alphabetically before I released it. In Excel you can select a block of cells, say all beam weapons then go to the data tab → sort. you can then select what you want to sort it by. If you meant something else let me know and i’ll see if I can fix it or any suggestions on how to make it more sortable, I just did what made sense to me at the time. I’m happy for any input.

Also I was gonna look into pulling the data straight from the files today if I get time. Also if you do come up with something else if you don’t have access to hosting space I can put it up on my web space, just send it to nacnudcs@gmail.com and I’ll upload it.

I’ll go back and recheck all of imperial cruisers weapons. I didn’t see anything under Frigates. Thanks for the catch.

Was looking through the actual module files trying to figure out a way of pulling the information directly…I found the import file command in excel but after playing with it a bit I think it would be easier to do by hand than deal with that mess. lol.

I was thinking of digging out my Access book, if I recall correctly it can do that type of thing but it’s been years since I’ve played with it. Anyone know of a better program I should look into?

On the plus side I found that rebel fusion beam and the federation fusion beam are actually different weapons, so fixed the info and uploaded new version.

perl would do that trivially. it’s what it’s designed for

a excel can damage a computer, can you upload it to a google docs?

I’ve never heard of a xls file damaging a computer before but whatever floats your boat so to speak. :slight_smile:

spreadsheets.google.com/ccc?key= … XX3c&hl=en

Been a busy few days due to work, but was able to recheck every data point today for beta patch 1.10.

Found a few differences either updates or I had them incorrect originally, either way updated to the current values.

Uploaded new version of file to my web server and Google docs.

As always, if anyone finds a error or has a suggestions feel free to let me know either on here or nacnudcs@gmail.com.

silly question here… Where do I get the patches?

The game auto-updates on startup. If it doesn’t do that, a quick re-install will work. You won’t lose any of your ship designs.

it autoupdates only if you have your registration number entered and confirmed in the online menu

This is awesome. Thanks for the hard work in putting it together. Hopefully some programmer can help do this automatically at some point in the future.

Huge kudo’s!!

Speak and I answer. :slight_smile:

I’ve written a Python script that parses the module files and dumps all of their data into a tab-delimited file that I can import into a spreadsheet. I’ve posted it up on Google docs at this address: http://spreadsheets.google.com/ccc?key=0AhKA2D8hkS2adDJ3RVdzcFpBZTZrTmk1MFVtV0VZZkE&hl=en .

I’ve put a few obviously interesting columns near to the start, but after “optimum range” the rest are in random order. Suggestions on ordering (or omitting) the rest are welcome.

If anyone’s curious, the (rather crude) script I used to read module files is:

[code]import os
from cStringIO import StringIO

GSB_FOLDER = r’D:\Games\Gratuitous Space Battles Beta’

def parse_file(filename):
f = file(filename)
lines = f.readlines()

data = {"filename" : filename}
for l in lines:
    try:
        d = l.split(" = ")
        data[d[0]] = d[1].strip()
    except IndexError:
        pass
return data

def get_module_data():
module_folder = os.path.join(GSB_FOLDER, ‘data’, ‘modules’)

filenames = [os.path.join(module_folder, f) for f in
              os.listdir(module_folder)]

data = [parse_file(f) for f in filenames]

return data

def make_tsv(first_fields = None, exclude_fields = None):
if first_fields is None:
first_fields =
if exclude_fields is None:
exclude_fields =

data = get_module_data()

fields = set()
for d in data:
    fields.update(d.keys())
fields = first_fields + list(fields - set(first_fields)
                             - set(exclude_fields))

tsv = StringIO()
for f in fields:
    tsv.write(f + "\t")
tsv.write("\n")
for d in data:
    for f in fields:
        try:
            s = str(d[f])
            tsv.write(s + "\t")
        except KeyError:
            tsv.write("\t")
    tsv.write("\n")

return tsv.getvalue()

if name == “main”:
tsv = make_tsv([“guiname”, “category”, “classname”, “size”,
“cost”, “powerconsumed”, “crew_required”, “weight”,
“damage”, “fire_interval”, “armour_penetration”,
“shield_penetration”, “tracking_speed”, “max_range”,
“min_range”, “optimum_range”],
[str(n) for n in range(20)])

f = file("module_data.tsv", "w")
f.write(tsv)
f.close()

[/code]

If you want to run the script, you’ll need to edit the line with “GSB_FOLDER” near the top to point at the location you have installed GSB. You’ll also need a Python interpreter, which you can get at http://www.python.org (I used version 2.6.2 and the script may need some small tweaks to work with a 3.x interpreter). The output file will be created in the folder you run the script from.

Humm, looks interesting BlckKnght. Sadly my programing skills are several years rusty/out of date which is why I just did it by hand.

If you don’t mind odds are I’ll use the script and try to find a way to work it into the file.

Thanks very much for the excel.

I suddenly had a strange need for this as soon as monday morning came. :wink:

I’ll study it carefully at workpl… home.

Please feel free to use the script in any way you want. If you just want the raw data, you should be able to save from the Google spreadsheet I linked earlier into a variety of formats (including Excel’s).

lol, that’s what I get for not searching the forums first. I was just about to start on making this exact same thing, also in Python (I’m a Python programmer by day). I guess great minds thing alike. :smiley:

I’ve updated my google spreadsheet with the module data from version 1.12. It is located at: spreadsheets.google.com/ccc?key= … ZZkE&hl=en