Superluminal is a graphical interface that greatly helps in creating ships, originally created by kartoFlane: https://www.subsetgames.com/forum/viewt ... 12&t=24901.
With the advent of Hyperspace, https://www.subsetgames.com/forum/viewtopic.php?t=35095, AdmiralBilly added some features to kartoFlane's editor called Superluminal for Hyperspace, https://www.subsetgames.com/forum/viewtopic.php?t=36060.
This is a response to Billy's call for a better version of that. I don't know why I waited until this year to take a crack at tweaking Superluminal, but yeah, the impetus for this project was to streamline Billy's version.
Download
Click here to download the latest Superluminal version (Under Assets)
Choose the one that matches your platform.
Requirements:
The Windows and Linux releases of the editor require at least Java 8. For 64-bit users, to run the 64-bit version of this program, you need to download the 64-bit version of Java. You should be able to find the specific 64-bit version here: https://www.java.com/en/download/manual.jsp
The Mac release of this editor now requires Java 17 or later, due to a display bug in OSX 15. You can find a ready to go .pkg for Java 21 here, https://adoptium.net/temurin/releases/? ... jre&os=mac
- To determine if you have x64 or aarch64, check the apple icon at the top left of the screen -> About This Mac. If it says Apple M1 (or M2, M3, etc.), download the aarch64 release. If it says Intel, download the x64 release.
You can find the source code at its github page. For the regular user, you may as well ignore this part. If you want to rebuild the tool yourself from its source code, the README_developers.md should tell what you need to know. If you're having trouble running Maven without an IDE, I got it working using this batch file (see bottom), but I personally recommend using IntelliJ and opening the project by its pom.xml.
Special Thanks

kartoFlane - the creator of Superluminal. It probably goes without saying, as the majority of the tool was made by karto, I could not possibly claim it as my own. But for me, and as I believe for many others, the first mod I made was a ship mod, a first step I could not have taken if not for the incredible resource that is Superluminal.

AdmiralBilly - for making Superluminal for Hyperspace. That is precisely what inspired this version, and if not for their efforts, I would probably still be contemplating if modifying Superluminal was even possible.
The Dumb Dino - for helping me greatly with releasing the Mac build for Apple Silicon users. Wouldn't have been able to know if it worked without you.
McFow1er - for their interest and numerous suggestions that not only helped craft some of the new features, but also motivated me to keep going.
Many others in the MV server - for suggestions and ideas for future features.
So what's new?
- Load custom ships such as the MV Kestrel
Streamlining
- To add crew, you had to specify their title and blueprint name in an external file, Race list.txt.
Now, you don't need that file anymore and the editor handles it all, getting all crew information direct from ftl.dat! - Crew and augments tab didn't fit the style of other sections.
Now, changing the crew capacity dynamically adds more or less crew buttons.
The crew dialog has been changed from a dropdown (fine for few races) to a selection dialog like the other sections.
Augments and hidden augments have their own sections. 3 main augments, then a dynamic list of hidden augments.
Something else that helps greatly is that I got the original build process working! So we can have these features present in the original editor:
- The log window and log file.
Superluminal isn't perfect, and some errors come about.
Recalling what you did that caused it helps, but unless you have reproducible steps, it's hard to find the source of the error.
That's where the log comes in. In the case of a crash, the log window won't be there, but the editor-log.txt will be saved in that case. The error readout and stack trace tell me precisely where in the source code I can find the problematic code. - Compatibility with other platforms!
Happy to announce that Linux 32 and 64 bit, Windows 32 bit and Mac versions are now once again available.
While streamlining changes was the main focus, I figured, why stop there?

So I've added some changes of my own, and hope to add more in the future. Some are bugfixes and others are features.
- Loading mod via Mod Management now properly loads the Hyperspace information currently editable.
- Blueprint lists can be selected from every selection dialog.
This was meant to encompass the ability to select a blueprint list for crew, like RANDOM_FED. While you can't give it a name, you can see the contents, which I think is better anyways. - Layout slots are better defined.
The buttons themselves are easier to see and pick.
Layout slot selection also auto-corrects any problems that could arise from the blueprint name.
For instance, layout slot B will fix blueprint name MYSHIP_3 to MYSHIP_2. - Other miscellaneous changes that help user experience.
- The temporal system is now selectable and ships with it should properly load.
- Player ships can now specify a max level. This is almost required when the system base levels are raised so that certain ships can use them, as below. Additionally, the adjustable levels line up with their blueprint definitions.
- Enemy ships' crew selection is properly limited to 1 crew type. Setting crew on an enemy ship itself is limited to 1 race (aside from on a room by room basis), despite what it seemed like. This fixes the mess that didn't need to be there.
Notice
Currently, the editor is geared towards ship customization with Hyperspace features. I imagine the vast majority of usage to be for Hyperspace, but while not currently the case, I intend for there to be a switch between vanilla and Hyperspace modes so the editor can be a definitive upgrade for all users.
Troubleshooting

The editor-log.txt gives a stack trace that will let me pinpoint the source of the crash in the code. That, combined with a description of what happened should be all I need to fix the error. You can also reach out to me on Discord at blizzarchonj.kartoFlane wrote:If the editor has crashed, please attach the contents of editor-log.txt in the post, preferably between [ code ][ /code ] tags -- keep in mind that the log is wiped each time the editor starts -- as well as steps to reproduce the crash, if possible.
Known Issues

- Build area is determined by window size or something? So when the editor's width is reduced, rooms and door links can collapse and overlap onto each other, and when that happens, frustratingly, undo does nothing.
- Generated floor image sometimes does not line up with the rooms plan. For some reason, it seems to be aligning with the hull.
Misaligned example: generate floor image for MT_BOSS_CLANSMEN_CHALLENGE - Changing gib image to one of different dimensions leaves artifact of new image as if it is the size of old image. Only goes away on mouseover.
- A rather confusing bug specific to Linux, where suddenly rooms and doors are not able to be placed anymore, and the log reads out some cryptic stuff.
This may have to do with minimization, but further investigation is needed. - Random crew type is not selectable as a crew for enemy ships. This will be fixed in a later release.
- Self-patching functionality is broken. You can't see how this works currently, but this feature was meant to do away with manually downloading a new version of the editor. This will also be fixed in a later release.

- Fix some annoying display issues with blueprint lists selection
Currently it all works, but some longer items require resizing tabs and areas in order to see the full thing. It would be great if automatic resizing took place. - Enable the hyperspace feature which lets you assign a named crew to a specific room
And maybe to somehow graphically show this? - Enable the hyperspace feature of custom thrusters. Should align same as the other images.
- When trying to load a ship with items that the editor cannot retrieve from the Database, the ship cannot be loaded.
So, maybe a setting can be added that enables these ships to load. Then, a placeholder is made in the selection dialog for each item that doesn't exist. That placeholder should only be for that item, and so the item would be able to stay as-is. You wouldn't be able to select the placeholder and press Confirm, only Cancel. - Fix disparity in crew selection dialog between description field height and stats
Also need to add powers to stats view somehow. And of course would be great to also have, if applicable, hyperspace crew info. - For player ship where blueprint list can be used, right now I made it so the mount just shows nothing. What if instead, it put the first thing in the list, then you could cycle between the weapons in the list.
That'd be cool right? - Warn or prevent player from selecting a weapon as artillery that cannot fire, such as missile or bomb artilleries that use up a missile resource.
- Animate the weapon when viewing it in the weapon selection dialog? Not sure if the gui api can handle that, but maybe?
Changelog

( You can also find this here, https://github.com/blizzarchon/superlum ... ngelog.txt )
Code: Select all
2.4:
(New Features)
- Player ship systems now have the option to set a max level, similar to enemy ships.
- Added compatibility for newer Macs with M series of chips aka ARM architecture.
- Simplified hyperspace.xml output during ship saving.
- Added support for Hyperspace systemLimit to set a max number of systems.
- Systems' default levels now correspond to their blueprint definition when possible.
* in case of missing blueprint, levels default to 1-3 like vanilla auxiliary systems.
- Boss ships now show up in ship load selection and save to bosses.xml.append.
- Uncapped number of placeable weapon mounts, previously set to 8.
- Corrected enemy ships' Crew tab to selection of 1 race.
(Quality of Life)
- Added support for races added from Mod Management mods via findLikes.
- Door entries in the .txt file are now sorted by x, y and orientation.
- Ships with unrecognized hidden augs load with warning instead of not loading at all.
(Bug fixes)
- Fixed bug where weapon image sometimes showed projectile instead of weapon.
- Fixed bug where immediately saving ship on load didn't save to the correct slot.
- Fixed bug where a system's start level could be lowered by another system's max level.
- Fixed bug where reducing Armaments via number input did not properly remove them.
- Fixed bug where path for generated floor would not update if it was already visible.
- Fixed crash when trying to view generated floor image location in file system.
2.3:
(New Features)
- "Prefix list.txt" is no longer necessary and has thus been removed.
- Custom crew information is now loaded in from the .dat file. As such, "Race list.txt" is no longer needed and has been removed.
- Blueprint lists can now be chosen from Weapon, Drone and Crew selection dialogs. Sorted alphabetically.
- Exported ship mods now use slipstream tag logic that prevents ship duplication.
- Layout slot selected now determines the blueprint name suffix, correcting any possible discrepancies.
* blueprint name chosen: MY_CUSTOM_SHIP_2, ship slot selected: C -> upon save, blueprint name is MY_CUSTOM_SHIP_3
- Added option for using ID system instead of direct text for saving of ship text data. Off by default.
- Hyperspace temporal system can now be assigned to a room under the Special menu
(Quality of Life)
- Picking crew now opens same kind of selection dialog as when picking weapons, drones and augments.
- Augments and hidden augments have separate sections. This also solves a bug where you could have more than 3 regular augments.
- Number of hidden augments and crew capacity update immediately when amount is changed.
- Layout slot buttons are bigger and easier to select.
- Opening 'Database' for ship images retrieves only the relevant images, though a button can be pressed to see all folders and images.
(Bug fixes)
- Fixed bug where hyperspace data of ships loaded via Mod Management was not being loaded.
- Fixed bug where loaded vanilla ships had zero crew.
- Fixed bug where new ship started with 99 crew capacity instead of 8.
- Fixed bug where new ship could not be saved with default values for name, class or description.
"Superluminal for Hyperspace":
- Added support for some FTL: Hyperspace features:
* Custom ships can be selected from Load Ship menu. Selectable ships start with a prefix from external resource "Prefix list.txt".
* Custom crew can be selected from crew menu. Custom crew names are loaded from external resource "Race list.txt".
* Ship blueprint name is now a text field where the name can be freely edited, instead of choosing an existing ship blueprint.
* Crew capacity is no longer limited to 8 and can be set higher or lower.
* Augment section has been expanded to more entries. Augments can now be designated as hidden augments.
* Layout slot choice of A, B or C determines which layout the ship represents.
- ID system for saving ship textual data turned off in favor of direct text.
{ For further changelog, see kartoFlane's Superluminal 2.2.1 post }
You can also see more detailed versions of the changes as I make them and thereby track my progress, by following the commit history of the github page, https://github.com/blizzarchon/superlum ... its/master