Repository navigation
System Reset - Alpha-5
Pre-releaseWelcome to the Alpha-5 release of System Reset
This version adds some significant new features and improvements that benefit from player testing and getting feedback on:
- Rings are now visible in space! Well, sometimes; there's still a bug/feature remaining (sorry!) where the engine may not "detect" them always, but if you toggle debug tools (F12) it forces a re-render and they appear! They should fairly accurately reflect what they look like in Noctis IV, but there's plenty of room left for improvement on them in the graphics department, as you can see on the screenshot below.
- Surface scattering has been added! You can now see rocks, trees, and small shrubs dotted around planets. See below for some important information about this and how this works. Note that trees and shrubberies don't have all of the pixel effects applied to them yet, and rocks aren't transparent on some worlds just yet as they should.
- Surface mesh generation has been completely rewritten, such that it's now implemented in C++ instead of GDScript. What this means, is that landing on a planet surface should be a bit quicker now and not freeze the game as much.
- Rendering accuracy of planet surfaces has been improved. The color grading should now more closely match that of Noctis IV.
- Lighting in space has been improved, so that planets further out are lit properly.
- Moons should now have the correct color palette applied to them. Meaning, they should render correctly now and no longer look funky in certain cases. This may have been more of an issue in those cases where moons and planets are close to each other in Noctis IV, but as that can happen quite frequently, hopefully this is now fixed everywhere it could've happened.
- You can no longer (try to) land on planets that you can't land on in Noctis IV, and trying so will no longer crash the game or cause weird things to happen.
- Local target information is now availableo n the Stardrifter main screen.
- Various (internal) improvements: upgraded to Godot 4.3, added FPS counter to the bottom statusbar of the HUD, changed project structure a bit for better code readability, and added license information in help screen. The upgrade to Godot 4.3 likely introduced some new bugs; I've fixed most, but if you notice any regressions then please report them.
Note that accuracy of planet surfaces can still not be guaranteed, particularly of trees on Felysian worlds, and especially trees on Core Felysian worlds (those with ruins). I've checked a bunch of systems and planet types, and it appears that rocky worlds and thin atmosphere worlds are now almost exactly how they are in Noctis IV; the one thing I won't be able to fix is that sometimes you see fewer rocks in System Reset. The reason why this happens actually is because in Noctis IV, there was no per-polygon culling, which caused rocks to be displayed even if they were generated to be buried underneath the surface. If you find any other inaccuracies, please report them as issue or find a way to inform me about those privately; it is the goal of the project to get as close as Noctis IV (Plus) as possible.
A technical note on surface scattering and the performance impact of this: you'll notice that there is no "level of detail" ("LOD") applied anywhere, meaning that all trees, rocks etc are rendered no matter how close they are to you. There's a reason for this: during experimentation, I've found that this is actually far more performant than trying to add a LOD system. The reason is that if you generate a single mesh for all of the surface scattering, that mesh can be uploaded to the GPU once and rendered in a single call. If instead you split things up, i.e. creating a separate Node3D for each tree or bunching them up into groups of trees, then Godot has to figure out whether or not they should be rendered, and then do a bunch of GPU calls for each of these, which ends up being a bit slower. This does however mean that on older systems, things may now perform poorly. If this affects you, please inform me via GitHub issue or other means. As developer I wouldn't really know as my main development PC is very powerful. I do intend to support slower systems with less powerful graphics cards, but it's something I need to go out of my way to to test, so it's not been a big priority so far.
Lastly, a word to the MacOS users around there: you're not forgotten, but there's been some hiccups in supporting MacOS properly. I have the hardware to do it, but haven't prioritized this, and ideally I'd do this by automating things in GitHub Actions as I've done for Linux and Windows.
Happy exploring!

