**Requested Moddability Features Thread**

RobbieEl suggested compiling some moddability features we’d like to have, so I thought I’d get the ball rolling. I’m sure I’ve forgotten stuff, so please reply with your own suggestions!

[size=150]User friendliness[/size]

  1. Mod subdirectory. The idea is all subfolders in \Mods would be scanned names like “bitmaps” and “deployment” so that new and edited files will be loaded from one place, without mucking about or overwriting stuff in \data. Ideally, any number of mods could be enabled at once, which I’m pretty sure is already possible, with some kind of simple way to get around naming conflicts. Newest file has priority perhaps?

  2. Ability to quickly calculate battle results and save log files. Ideally, this could be done from the command line or as a .bat. Granted, it would take gratuitousness out of the battles, but would facilitate things like the “gratuitous tournament” currently going on (as of 9/19/09).

[size=150]In-game issues[/size]

  1. Support for ships with many modules. Only 30 modules fit in the box on the deployment screen, and only 20 fit if you click a ship while in a battle. A scroll bar is automatically added to the missions window once there are enough; could something similar happen with the component windows?

[size=150]Deployments[/size]

  1. Ability to save deployments as challenges locally, and un-encoded. The best way I’ve found to create challenges right now is to set up a deployment, then edit the coordinates (map size - old coord) which is a bit of a pain.

[size=150]Hulls[/size]

  1. Support for wide ships. Length seems to have no upper limit, but a few people have reported crashes if width is too high (~300)

  2. Support for custom hull types. Currently, typing something random into “classname” results in a cruiser design. Without thinking too deeply about this, the problem I see is fighter vs frigate vs cruiser is important for game balancing mechanics, so maybe leave classname as it is but add something like “displayedclass” which would then appear in the ship design window, and determine which modules actually show up?

[size=150]Modules[/size]

  1. Control over the number of decoys a missile creates.

  2. Ability to add any effect to any weapon type. For example, there isn’t a way to make an ECM laser that also does damage. An easy way to hack this might be to add a flag to make missiles unable to be shot down - then it’s just a matter of adding a custom graphic and warhead with your effect (shield disable, ecm, etc).

  3. Support for weapon salvos. After firing a set number of shots (e.g. shots_per_salvo) with the normal delay, an extra-long reload time (e.g. salvo_delay) is triggered.

  4. Additional weapon module types with special AI considerations. For example, a fixed fire arc weapon: the weapon could turn to “min_angle” and “max_angle” degrees, and after that the ship would turn to bring the weapon to bear, rather than the weapon turning.

[size=150]Scenarios[/size]

  1. A way to add a short text description of a mission. I’d suggest either having text appear over the image on the right side of the mission screen, or if that’s too cluttered/hard to read adding an “Info” button somewhere (below the title?).

  2. A way to set player as well as AI deployments in a scenario, so that there is a starting set of ships that can’t be deleted.

  3. An option in the scenarios file to play a specified video before starting a mission.

a way to add whole classes of ship - battleships/stations for example … i haven’t looked in detail yet, the modules obviously have a class attribute, but i’m not sure whether adding a “battleship” hull will get “battleship” modules … or whether that bit’s hard coded.

and (for me) number one priority on modding - a seperate directory. i really hate touching core files, as things can do wrong … and then it’s reinstall time or similar. also, xemacs leaves backup copies of files around… and those seem to be read - i editted a module, and suddenly there were two of them ;/

I definitely second the ‘MOD’ directory, preferably off the Game folder rather than the Game folder under the Users tree.

I may be wrong on this, but I think you can make ECM weapons that can do damage. If you mean making a damaging laser that also ECM’s the target, then I’m not sure if that’s possible yet.

Support for cut-scenes between a pre-set string of scenarios.

I would totally love to put together something like “Gratuitous Space Academy” with me in a silly admiral’s uniform giving instructions and tips about the scenario you are about to face.

OK, updating the first post and rearranging the sections to something more logical.

@Snowdrift: I’m adding a different hulls suggestion. Currently if you don’t put in “cruiser” “frigate” or “fighter” it defaults to cruiser.

@Snowdrift & Wraith: Heh, there’s the biggie I forgot! Mod directories.

@Hyperkultra: There’s no way to do either. Each weapon class seems to have a fixed set of variables, so adding “damage” to an ecm or “ecmshock” to a laser won’t do anything.

@Amdusias: Cut-scenes inside of the game engine? Or cut-scenes using out-of-game videos? Take a look at 2) and 3) under scenarios and tell me if I got it totally wrong.

Keep the suggestions rolling! I’m totally open for suggestions on a better title than “User Friendliness”…

An idea for the ‘cut-scene’ before a scenario that would make use of the Game Engine would be to replay a recorded battle, or portion of it, that had been previously recorded, and as a cut-scene; is now also supported by some form of explanatory text. This would allow for the ‘setting of the scene’ that the player is now entering and doing battle over.

This then requires an enhancement of the current Game/Game Engine to provide the functionality to record a battle, or a portion thereof, in addition to the current Screenshot functionality.

I was thinking external video cutscene, then a battle, with the option to string cutscenes and battles into multiple story-telling blocks.

[cut scene]
Admiral:“Greetings cadet. Pirates have been targeting the Amdusian supply convoy along the outer rim…this scenario will test your ability to effectively defend against fighters… by the way zip does this look right to you?” crackle

[scenario]
Things blow up
If you win the scenario you go to the next cutscene, which could lead to another scenario.

[cut scene]
Admiral:“Well done cadet. Your next challenge is in the Pukwudgie System. Federation splitters have setup a blockade of heavy cruisers armed to the teeth in plasma casters. Will you hit them hard with Friggity Fast Phaser II Fanfare or Bombard the Bastards with Big Burning Beams?”
Female voice from off stage: "Happy Birthday Admiral
Admiral: “What the…” crackle

[scenario]
More things blow up…

Derp, I was thinking of the ECM Missiles.

Add weapon salvos to the list please, original topic here. Thanks, and good call on making a big consolidated list.

One thing that I think could be fun is simply have the ability to launch the game on a command line interface. And have a headless mode where the game runs as fast as possible to compute the outcome. Something like “gsb.exe --fast fleet1.dat fleet2.dat > results.dat”.

Some people of the programming persuasion might see such a feature as a fun way to experiment with alternative methods for constructing fleets. :slight_smile:

@Wraith: I think the current #2 under Scenarios could handle that, by having a starting set of ships that reach the honor/pilot limit. Did you have something else in mind?

@Amdusias: :smiley: Fun ideas. An in-game player is probably very low priority, unfortunately.

@Hyperkultra: You know, if there were a flag to make missiles un-shoot-down-able it’d be possible to do pretty much what I want. Editing the first post.

@Darloth: Added under Modules #3.

@Voltaire: So basically a batch battle command, with the option to save the results as a log file? Adding to User Friendliness #2, which REALLY needs a better name…

It’s been alluded to by others on this thread, but I think adding a “scripting” ability for people to program the behavior of their ships would be Very Cool. Please!!

I understand it might be way out of scope, but I think this could take GSB from just “really, really cool” all the way to “eleven”.

What I’m thinking of is something like Lua or Python as a scripting language, and ultimately, something like Robocode in terms of programming API - http://robocode.sourceforge.net/

The first level of programmability would be to just do navigation by programming (I can imagine some ships holding back until fleet strength is below x%, then swooping in, or writing “hunter-killer” programs). More advanced stuff would be to control energy management (“all power to the shields!” or more likely “all power to the forward phaser banks!”).

I could imagine that this could be a module that you plug in to a ship. The module could be for programmability at all, or for a specific program, not sure what makes more sense.

PS: congratulations on such a great game - I bought it yesterday, and am totally hooked.

Being able to make guns that fire several bullets/lasers per shot. Like a triple-barreled cannon for example.