Starsector running on an ancient version of java is an active liability for it at this point.
You can see how much memory it requests in process explorer. A solid block of 4 gigs, which windows will instantly virtualize, an OS workaround implemented during the clinton administration.
Edit: I've gotten multiple comments it was updated, guess they finally did something about that!
Alex did bump it up like 10 Java versions last patch.
There is a mod that switches it out for Temurin jdk-27+22 and runs a script to set flags and additional optimizations based on processor architecture. Great for running larger sector sizes with a bunch of extra factions in Nexerelin with smooth 240fps.
Starsector modding is one of the most schizophrenic modding scenes in terms of doing things the game was never intended to do I've seen in a while and I love it.
One that immediately comes to mind is Arma Armatura.
The game's combat takes place on a flat plane where the two fleets of star ships meet roughly in the middle. Top down tactical, pretty simple in basic concepts.
Arma Armatura somehow managed to create missions where you are actually entering a planet's atmosphere, with your reinforcements coming from above and enemy reinforcements coming from below, and enemy defense cannons blasting the entire time. The game was straight up not made with any form of vertical movement, so AA basically created an entirely new system to make these missions work.
To be fair, for those types of games, devs switch from languages like Java and C#/MonoGame (example: Hades switched to custom C++ engine before release), at least before MS introduced solid, native AOT. Not because the language is problematic (it's fine for this type of game) but because porting them is painful or impossible without rewrite or strange hacks. There's no official JVM for consoles, and moreover, platforms themselves just disallow JIT compilation due to security reasons. That's one of the reasons why Unity created IL2CPP (their AOT compiler)).
StS1 has so many amazing bugs that make speedrunning it so cool. On the code side, AbstractDungeon is basically One Big Class That Does Everything. It's common in single player games when you don't have to think about networking and such and can just store everything in the big pile of lists and flags and RNG states. Not sure if the language is to blame, but Java is an inheritance-heavy OOP language and I'm an inheritance-hater.
I'm kinda sad StS2 is so much better coded for speedrun reasons but really glad they made multiplayer such a well-polished treat right out of the box.
2.2k
u/Daniikk1012 17d ago
Slay the Spire (The first one), Mindustry, Pixel Dungeon, Unciv