Upgrading GSB1's Hull Editor for GSB2 use

In response to a recent question from Cliff in the Gratuitous Modding forum,
I brought up the point that GSB2 does not yet have its Hull Editor in service
despite the game being in a post-release state.

( NOTE TO NEW PLAYERS: This is not the kind of editor which could actually create 3D hull sprites! )

This topic is more intricate than it may seem at first,
so I’ll provide careful details about “what” and “why”…

[size=150]1)[/size] Some people – especially folks who are totally new to GSB2 and never played the original game – might make the mistake of thinking that maybe I’m referring to the Ship Customizer that is so prominently featured in this game. Not so, my friends.

I do mean the GSB1 Hull Editor – the only GUI-based utility for modders to change hulls’ module slots and weapon slots. Formerly accessible as part of the game program itself, it is something indispensable when you need to move hull slots to other locations on a ship…as well as accomplish other valuable modding goals, too.

For those newer players that are unfamiliar with it, here is some old (from 2010!) discussion about it when it was new. Instructions on how to use it can be seen here – it was rather a limited utility.
Again, please note that despite its name, this Hull Editor IS NOT for making an entire hull sprite out of thin air. You still need to know (or be able to learn how to use) 3D modelling programs to make your own new ship graphics for GSB2, in order to have them make full use of the new shaders and other optional graphics features of the sequel game.

[size=150]2)[/size] There are multiple, [size=110]game-functional[/size] things that the existing Ship Customizer simply [size=110]does not do:[/size]

[size=120]I)[/size] Change the blink interval of ships’ hull/running lights;
[size=120]II)[/size] Add/remove/alter damage emitters, sparks and smoke;
[size=120]III)[/size] Deal with explosion graphics and destroyed-ship hulks;
[size=120]IV)[/size] Move any slot to a different location on the hull;
[size=120]V)[/size] Add module slots to hulls;
[size=120]VI)[/size] Remove module slots from hulls;
[size=120]VII)[/size] Add weapon slots to hulls;
[size=120]VIII)[/size] Remove weapon slots from hulls;
[size=120]IX)[/size] Convert a module slot to being a weapon slot;
[size=120]X)[/size] Convert a weapon slot to being a module slot;
[size=120]XI)[/size] Change the arc width of a weapon-slot firing arc;
[size=120]XII)[/size] Rotate a firing arc to face in a different direction.

A very slightly improved version of the GSB1 Hull Editor was present in several of the closed-alpha playtest builds for GSB2.

[size=115]It is now time to create a fully-overhauled version of that legacy utility,
make certain that (at a bare minimum!) it can do all 12 of the above functions,
and put it into the sequel game.[/size]

[size=150]3)[/size] “Fully-overhauled” also includes making it much more reliable than the GSB1 version was. Longest-term veterans like me do remember when Cliff first told us that the original game’s Hull Editor was strictly a private, back-end development tool of his that was never created with future release to the playing public in mind. We modders were grateful that Cliff agreed to share it with us, and we tried as best as we could to tolerate its incomplete nature.

But now that GSB2 is starting all over with a clean sheet of paper, that unfortunate buggy & half-implemented state of the old Hull Editor can and should be improved upon for reliability, ease of use and full-featured appeal. Necessary improvements include the following:

[size=120]I)[/size] Eliminate the legacy causes of Hull Editor’s crash-prone behavior;

[size=120]II)[/size] Eliminate having part of the editor interface screen always being (weirdly) pasted onto game’s Main Menu screen when exiting editor;

[size=120]III)[/size] Eliminate the Hull Editor’s inability to alter more than one hull file per editing session. In the current state of the editor, after saving changes made to A SINGLE HULL, users are still forced to always quit the Editor, then quit the game, and then re-boot back into both before they can work with a second hull. This needless limitation is a maddening waste of the player’s time and must be corrected;

[size=120]IV)[/size] Allow the display size of the hull sprite to be zoomable across a wide range of pixel dimensions, as well as having a default size that’s much larger than it ever could have been in the GSB1 Hull Editor. Zoom magnification factor should be user-controlled via mouse-scroll wheel, as well as Up/Down Arrows. To make the zoom feature successful, it may be necessary to scale the hull coordinates to several more decimal places in order to avoid introducing inaccuracy into hull slot locations;

[size=120]V)[/size] Replace legacy, “closed-alpha GSB2 playtesting”-era controls for editing firing arc size and orientation with better controls;

[size=120]VI)[/size] Streamline and improve the process of creating and changing specs of “gratuitous” multi-turret weapon slots. It is still too clunky and imprecise for consistently accurate placement on the ship sprite. Mistakes when using this are almost guaranteed at present, and they make ship sprites needlessly unattractive when in-game;

[size=120]VII)[/size] Please add a new “horizontal mirror” button which, when toggled, allows the user to create two identical instances of a ship light or a slot. The mirrored item should appear exactly opposite where the mouse-click event places the first item… but duplicated on the opposite side of the hull sprite;

[size=120]VIII)[/size] As with the GSB1 version of the Hull Editor, set up the GSB2 Hull Editor such that it cannot be accessed from any part of the game except for the Main Menu/startup screen. This will prevent it from being used in the heat of the moment within the Ship Design screen as a crude “I Win!” button. :stuck_out_tongue: The main purpose of the Hull Editor should remain as before: a tool for creation of entirely different slot quantities, slot types & layouts, firing arc angles and hull functionality for entirely new, modder-made races.

[size=150]4)[/size] [size=125]Item V immediately above is especially important --[/size]

Now that GSB2 has limited firing arcs, it is vital that modders be given the maximum possible amount of control and precision over them. With respect, that has still not yet been implemented and I am requesting that access to such moddability be quickened wherever possible.

For unknown reasons, firing arcs during closed-alpha playtesting were only editable in increments of approximately 22.5 degrees. While being able to subdivide a possible 360-degree firing arc by increments of 1/16 may have seemed sufficient to the developer at that time, it is not enough granularity for serious modding.

Instead, we need to be able to cleanly, efficiently, directly input ANY integer value between 1 and 360 that we wish. There is no valid reason why the modder should not have complete freedom of action here. That’s also true when considering how modder-designed Spinal-Mounted Guns are going to need something like 15-degree , 9-degree , 5-degree and even only 2-degree firing arcs! Yes, we will need this much fineness of choice with firing arcs, and not just for the sake of Spinal-Mounted Guns.

Likewise during the closed-alpha playtesting period, the control which governed the default direction in which any given weapon turret faced was very frustrating to use. It operated according to a “no helpful label or tooltip”, counter-intuitive method which was totally opaque to the user. This frequently wasted up to several minutes per turret of the playtester’s time in getting the dodgy thing where the playtester needed it to be. Yes, I know it was not a complete feature, but it was still actively user-hostile to a high level.

Instead, it should have been possible to simply, quickly choose the number of the heading (in degrees) that the gun’s default position would be pointing. Calibrate this such that all orientation angles are ABSOLUTE, not relative. Measure them starting from zero degrees at the ship’s front, and then proceed clockwise:

90 degrees at the right;
180 degrees at the ship’s rear;
270 degrees at the left.

No more guesswork needed. :slight_smile:
For example —

[size=120]I)[/size] A turret with a firing arc 107 degrees wide, and a default direction that points 55 degrees to the left of the ship’s front, should be described in the Hull Editor’s controls as “107,305” – NOT AS “107,-55”!

[size=120]II)[/size] Another turret with a firing arc 16 degrees wide, and a default direction that points 120 degrees to the right of the ship’s front, should be described in the Hull Editor’s controls as “16,120”. That fits perfectly with the proposed modder-friendly, absolute-angle display.

[size=150]5)[/size] Solving both of the above problems argues strongly in favor of dumping the existing slider controls in favor of text-entry fields.
Firing arc width can then be typed directly into its own field.
Firing arc orientation can also be typed directly into its own field.
With text-entry fields, no mistakes are possible because (unlike with the sliders) no ambiguity is possible.

[size=150]6)[/size] It is my hope that the Mac and Linux users among us will also be able to enjoy access to a GSB2 Hull Editor without suffering a lengthy delay.
Approx. 1 out of every 7 GSB1 players was a Mac user; those folks still deserve consideration, too.

It was ONLY because of the GSB1 Hull Editor being released to the community that the original game’s modding community - which also included a friendly bunch of skilled visionaries - were able to create entire race/faction mod races. The sequel game begs to be blessed with at least as much original content-creation. However, we have a massive shortage of active modders because the required official tools have not yet been provided to us. Please, Cliff, release a repaired & improved Hull Editor so that we may provide even more quality modder content than ever before!

Beyond the bugfixing and polishing I’ve listed above, what other useful changes might have I missed?
Can we think of any additional, truly necessary tweaks which can be made to improve the Hull Editor?

GSB2 is a fantastic game, however there is something important that the game lacks:
The ability to move, add, and delete modules and turret placements.

That’s a feature which, while relatively minor, has the possibility to hugely improve the game. To note, whenever I refer to placing or deleting turrets or modules I mean the slots.

Yes, people might just shove them all at the front to attempt an easy win, or put absurd amounts of them on ships to breeze through everything. But, without the ability to do this I find the ship customization to be extremely bland and not fun at all. If I’m forced to conform to the placement of the modules it doesn’t feel like I’m building a ship but rather that I’m tacking unnecessary bits onto a already existing hull for no reason whatsoever. Surely I’m not the only player who feels that way.

If we could move and add modules and turrets, then we could create some truly unique and fantastic ships. I don’t really think the whole “slapping them all on the front” thing is something a whole lot of people will do; sure, some will, but I’d rather have a bit of that then have no ability to change their position whatsoever. The inability to do that is something I found to be a huge disappointment in GSB2.

In fact, this is something really keeping me from wanting to play GSB2 at all when I could just mod GSB1 and have more customization of the capability and armament of my ships. With the ability to move modules and turrets GSB2 would be an exponentially better game. I know it may seem silly that I think that this is such an important feature, especially considering GSB1 didn’t have any ship customization. But the thing is in GSB1 it never felt like it was something that was missing, and if you wanted to do something of the sort you could mod it. But, GSB2 has a pretty nice ship customization feature, except that actually customizing modules and turrets - the heart of the hulls - is missing.

The addition of this feature would not only allow for ships that are more unique in appearance (because of not being forced to conform to the preset module locations), but also in function. You can only do so much with one set of modules, while with the ability to move, add, and remove them you could create more specialized and interesting ships. As it stands now, you have to design a ship around the modules and turrets. But with the ability to create, remove, and move modules and turrets, you could choose their placement based on the ship design. The fact that they are only preset is very bad for designing ships that look good with the modules, because you have to conform to them and right now there’s zero alternative to that.

One thing Cliff has mentioned about this is that he seems to believe it would be a nightmare to balance in GSB2. Why? Would this be a nightmare to balance? It possibly might, though GSB1 didn’t seem to suffer at all from its use.

However, there could be things done to make sure that this feature is available without having to worry about balance. One idea would be to set a limit for how many modules and turrets could be present in ships if you wanted to use them online at all. Another possibility would be to not allow ships with custom modules to be used online, this way if people want to use custom modules then they can and there is not problem with online balance. A third option would be to allow any and all custom modules to be used online, but then that player has a score of zero in any such mission.

The inability to move, add, and delete modules is something that I think is massively detrimental to the game. It’s that simple. GSB2’s visual customization is fantastic but is completely uninteresting if you have to conform to present modules simply in order to make a ship look good. I love GSB, and GSB2 is also fantastic, but the fact that this is not a feature in the game has kept me from playing it.

It may not be the easiest thing to balance out, but I think that any theoretical problems caused by this would be hugely outweighed by the benefits to the player community. This feature should have been present in GSB2 right from the beginning - it would add so much depth to ship creation and allow for truly unique designs, not just different looking versions of effectively the same ship.

This thread’s subject meshes very well with my thread over in the Modding Galaxy forum about fixing the powerful-but-flawed GSB1 Hull Editor for use with (rather than “in”) GSB2.
My suggested plan of action can be found here.

But since it was posted back on May 19 there has been no commentary from Cliff on the subject, which is unfortunate. It’s important that this subject be acted upon quickly, because any possibility of modders creating fully-featured, game-functional new hulls for new race/faction mods remains blocked until a true Hull Editor appears to make this modding-work feasible again! It’s time to hand that power to the community, and let the modders choose how to dazzle us with their gifts. :smiley:

But for them to do so, then they will absolutely need control over (1) adding, (2) subtracting and (3) changing hull slots of any kind, as well as firing arc angles and overall physical arrangement of slot locations on any given hull.

In his previous post above, TheMightyCat11 touched upon a particular point that’s quite important.
I’ve taken it much farther along…

Regarding the so-called balance issue that slot editing allegedly causes:
Over more than five years, public access to the GSB1 Hull Editor allowed the original game’s modding community to create untold hundreds (thousands, more likely!) of completely new hulls for gameplay among dozens of new, modder-made races. In no way did that titanic river of community content drastically and permanently wreck GSB1, then or ever. Instead, it furthered the game’s functionality by a very wide degree, and added value to interested customers’ copies of the game for months and years afterwards.

Likewise, an operational Hull Editor will not wreck GSB2, especially if it’s handled the same way as it was done in GSB1 – as a utility that’s external to all gameplay, and NOT accessible from the Ship Design screen OR any other location except the Main Menu. As with the original game, such a parallel but separate nature will short-circuit fleeting examples of “poor impulse control” on the part of players who don’t want to play in a sportsmanlike style.

If the GSB2 Hull Editor is handled similarly — as a specialized external tool to aid in the creation of detailed, balanced, tactically useful, modder-made content — then (at a bare minimum) it should be at least as successful as it was with the original game. As the original game was clearly not utterly ruined due to its Hull Editor, it is hard to credit identical worries about its “balance” with the sequel game.

On a related note, there will almost always be one kind or another of fragile egos in online challenges who have a truly idiotic sense of humor — please do not mistakenly strangle serious modding of GSB2 before it’s even begun by fearing a working Hull Editor, merely in a futile effort to mop up every last attention-seeking moron and his lame Fail Chariot. That’s much more of an issue with a weakly-filtering Challenge server rather than a Hull Editor.

Hi everyone. Sorry for the delay in all this. Thjis is mostly due to people clamoring in no uncertain terms for campaign mode support, which is quite a big feature, and a bit of an ‘all-or-nothing’ thing. I’m currently working on that.
The ‘sort of’ good news is that GSB2 does have a hull editor (albeit a buggy, messy thing used by me) which I can enable. Here are some screenshots:
Would it help for me to put together a standalone exe that just runs the editor as it is right now?

It currently supports defining hulks and adding emitters, adding removing placing and aligning slots, and defining hardpoints and firing arcs.

A hull editor would be fantastic, though I think it would be quite nice to have a way to edit module placement on ships made in the visual editor. That said, just a hull editor in the vein of GSB1’s would be great.

An exe that runs the editor would be quite nice I think.

Yes please, the hull editor would be exactly what I’m looking for to create truly original ships. Even with the ability to turn off the base hull, designs are still restricted by the visible turrets (unless you want turrets floating in space surrounding your ship). I have attempted to make asymmetrical hulls like the Order or Empire from GSB1, but it’s just not possible, since the turret layout of every hull in GSB2 is bilaterally symmetrical.

Module slots don’t matter because they aren’t visible, they could all be piled in one corner of the editing screen and it wouldn’t impact gameplay whatsoever. The turrets however, those are a different story.

Thanks for your offer, Cliff. :slight_smile:

I, too, think that it would be helpful to have a quickie release of a standalone .exe of the GSB2 Hull Editor in its current state. It’s clearly understood that such a release also includes all of the existing weaknesses of the editor. For the very short-term future, this will work for mod creation.

However, there should also be a clear understanding that once Campaign Mode is released and given a final tweak-patch or two, you should [size=110]then return immediately[/size] to the Hull Editor and correct its numerous problems. After that’s done, the editor can then be added to the game program and take its rightful place as the modder-friendly & fully-featured utility that it needs to become, and which any significant race/faction mods can only be created with the help of.

A list of the scope of work necessary can be found in section 3 here. As the Hull Editor is a modding subject, further discussion of it should be at the Modding Galaxy forum. I’ll merge this related topic with that topic shortly.

Both topics are now merged. Shadow topic left in place at Gratuitous Discussion, pointing towards Modding Galaxy.

On the contrary… That will matter as soon as the first GSB2 modder comes along to create a few weapons that are intentionally designed to fit into module (non-weapon) slots.

Back during GSB1 I used that same method to create a second tier of militarized slots, as one method among several to provide more differentiation of items (and inevitable cost/benefit decisions) to players. I had to populate that tier with great caution, but yes it fulfilled my specific (and limited) goals. It’s not an unthinkable course of action if handled with sufficient care, and in my own modded content it did indeed impact gameplay. That was the point. :wink:

I’m uploading 1.33 now. It has
-export as a command line that extracts bitmaps.pak to a new ‘extracted’ folder, then quits
-editor which enables the main menu editor link.

This is all very hacky right now.
I decided to do it this way so I can then get mac and linux versions ported, ensuring mac users can use the exporter too. That might take a day or two.
then next week I’ll get some more work done (hopefully) on the new campaign stuff (its hidden for now).

it will be about 4 hours until BMT has the new windows build & PC patch.

Cliff, that’s splendid news! :smiley:

Thank you very much for your swift progress with these modding tools [size=85][-friendly handshake-][/size].

I know that right now they’re nowhere near “complete”. Nonetheless, I’m grateful that you chose to do this for the community so that potential modders can have the option to at least begin something while you’re busy with Campaign Mode.

We’ll keep our eyes out for notice of when the 1.33 upload is ready for players. And when it’s convenient for you, please also give us just a short post here in this thread to tell everyone exactly how to enable the Hull Editor, would you? That would be really helpful.

This is fantastic, definitely will be making use of that editor asap. I have a little something in mind…

…If I could figure out how to actually add a new ship, that is. I suppose that’s what I get for assuming it would be practically the same as GSB1.

Right its live, either patched or download it if you have mac/linux.

You need to add a command line parameter of -editor to launch the editor-enabled version. Not sure how to do that on OSX TBH but I know it can be done.
Be aware that when editing hulks, I’ve grouped together a lot of graphics into single textures since defining hulks for components, so the images you see if you go exploring may look weird, but for ship hulls (which is what people really care about) it should work fine.

It shouldn’t be that different from the GSB1 editor. Note there is no way for you to place targets and target damage sprites any more. This is all handled automatically by code in GSB2 :smiley:

There is a new ‘align slots’ option which tries to mirror slots and hardpoints that almost line up opposite but do not.
Also there is a new mode to show and allow editing of firing arcs.

Feel free to post any questions about how it works here. And if anyone knows how OSX command line parameters work, probably an idea to post that too.

Right, so I’ve had a bit of an issue. I’ve added a new ship but it does not show up in the editor. It also crashes the game when I try to load it in the normal ship customizer. The error says something about it couldn’t find the ship.

Hi, where is your new ship file? Is it inside the main games folders or the /my documents/my games stuff?

All of the hardpoints and firing arcs can be changed in the text files if you don’t mind doing some math.
Gratuitous Space Battles 2\data\hulls

Here are some pictures of one ship I edited.

Hello, (0_o), you of the amazed emoticon! Thank you for sharing those images with us.

And BTW you’re correct about that math, too. However…

The much-asked-for Hull Editor’s entire point is to almost completely avoid that particular math. The editor is a gigantic time-saver.

I don’t mind hand-coding slot locations, but only as a “final pass” to get them as close to pixel-perfect as I can. The thought of spending scarce leisure hours (hours which, at this stage in my life, I generally don’t have) on such basic, time-intensive drudgery as the complete slot-positioning and firing-arc-angling process? You’re certainly welcome to it, but - with respect - I think few will be willingly doing that.

It doesn’t end there, either – the Hull Editor also helps very much with the placement of running lights and engine glows. Minus that editor, those jobs were no metaphoric basket of roses. And it was five times worse when it came to mentally visualizing the locations of damage emitters, sparks & smoke locations, and the sub-sections of destroyed-hull hulks. :frowning:

I still clearly recall the bad old days of 2009 when any & all new modder-made hulls for GSB1 had to be 100% hand-coded. That activity was lengthy, unnecessary tedium, and it just begged to be automated. :stuck_out_tongue: Cliff did the modding community a huge favor when he finally shared his (admittedly buggy & unsupported) Hull Editor with the public. But prior to that, even though it was “possible” to work without that, it was neither efficient nor enjoyable.

Thanks for your observation, but for my part I prefer to save my time & energy for other, more enjoyable aspects of modding GSB2. :slight_smile: I’m really looking forward to using the GSB2 Hull Editor to automate the drudgery. Let’s spend our regained time wisely.