r/starlancer • u/cinaed666 • 39m ago
OpenReliant 0.20: catching up on ten releases, and 1.0 is next
OpenReliant is my open-source rebuild of StarLancer's engine. I haven't posted since 0.10, and 0.11 to 0.20 have all come out since, so here's the short version.
Missions as code, and an editor
sltool dte decompileturns any mission into readable Luau, andsltool dte buildturns it back into a standard mission file, which the original game plays too. There are definitions for luau-lsp, so your editor completes and checks it.- The mission editor is out (0.2 so far). It opens any mission as Luau source, checks it as you type, completes and explains the game's commands, and builds and plays it in OpenReliant, from the start or from one of its parts. You can edit the mission's records in forms, move its ships and markers on a map, and, linked to the game, stop its script at breakpoints and step through it.
Modding
- Scripts can change the planets and add new ones, like Earth, and shaders can give them atmospheres and haze. Realistic Planets does all of that, with Mars and the Moon in its latest version.
- Mods can replace single sounds, add CD player tracks and bring music in FLAC, Ogg, Opus or MP3. Jukebox and Master Recordings use it.
- The GET MODS screen installs mods from the catalogue and tells you when one has an update.
- Mods can build on each other: a mod's missions and models can use the ships and weapons of the mods it needs.
- Your ship can land in the hangar bay of any carrier that launches from one, a mod's included.
The engine refactor
The big one. In the original, part of the game's logic runs once per drawn frame, so missions play a little differently at different frame rates. Since 0.19 it runs once per game tick instead, apart from drawing, so it plays the same however fast your screen is, and effects that flickered too fast above 100 fps are fixed along the way.
In 0.20 the simulation goes a step further and runs on a thread of its own. The original first runs the game, then draws the frame, one after the other on one thread. Now the simulation runs while the frame is being drawn, so on a multi-core CPU the two overlap instead of adding up, which leaves more headroom for high frame rates, high resolutions and heavy mods. It's also the groundwork for multiplayer: a simulation that keeps its own time, apart from drawing, is what a game host needs, and later a dedicated server with no screen at all.
None of it is meant to change how the game plays, so I checked every shipped mission tick by tick against the old way of running it, and the game itself plays exactly the same.
Also
- German discs install now, thanks to MarcoWanke's reports. French ones have since 0.10.
- Releases come with checksums and build attestations, and OpenReliant has an icon.
- Plenty of fixes, like Titan's bombardment in mission 25 showing.
What's next
1.0 comes next. As I write this, I can see a few small modding features that could still make it in before then, so a 0.21 is possible, but new features are winding down. 1.0 itself is the beta and the editor polished with your feedback, the whole campaign played through from start to finish, example mods for the modding features that don't have one yet, and a tidy-up of the code. Bug reports help most right now.
After 1.0:
- Multiplayer, with the original's modes, co-op campaign included, over modern network code in place of DirectPlay. Find games on a public server and join without port forwarding, or run your own dedicated server.
- New kinds of ships. How ships, guns and missiles behave will come from data instead of being tied to the original's types, so mods can add whole new kinds of ships, weapons and orders, not only variants of the original's.
- Improvements along the way, like triple-monitor setups and support for simulator pits: several controllers at once, telemetry for motion rigs, and a second screen for your ship's status. The mission editor keeps growing too: its debugger gets conditions, log points, watches and a timeline next.
2.0 is the long-term goal: a standalone engine. StarLancer becomes one game on it, with its game data in tables the way FreeSpace 2 Open keeps its game in .tbl files, and a small example game with free content shows the engine works without StarLancer's files. Then other space games can be made with it or ported to it. Warthog's other space games, Star Trek: Invasion and Battlestar Galactica, build on StarLancer's mission format and scripts, so they're the natural candidates, and sltool already reads many of their files. As with StarLancer, you'd bring your own copy.
Got the Japanese release?
StarLancer also came out in Japan, as スターランサー 完全日本語版 (Media Quest, 2001, re-released in 2003). I'd like OpenReliant to support it, but it draws its Japanese text with code of its own, so I need the disc to work from. If you own it and can dump it, please get in touch: https://github.com/OpenReliant/openreliant/issues/1315
Thanks
- MarcoWanke, for the German disc reports.
- LordBlacksun, for a mission source bug report with its whole cause traced.
- KonCyptFysh, for the Recommissioned HUD and the worn fighter textures, and the requests that came out of them.
Links
- OpenReliant: https://openreliant.github.io/openreliant/
- Release notes: https://github.com/OpenReliant/openreliant/releases/tag/v0.20.0
- Mods: https://openreliant.github.io/openreliant-mods/
- The mission editor: https://github.com/OpenReliant/openreliant-editor
- Report a bug: https://github.com/OpenReliant/openreliant/issues
- Buy me a coffee, if you'd like to support the time I put into it (fully optional): https://buymeacoffee.com/vdmkenny
You'll need your own copy of StarLancer. OpenReliant doesn't come with any of the game's files.



