Repository navigation
Releases: jorisvddonk/system-reset
Release list
System Reset - Beta-2
Welcome to the Beta-2 release of System Reset
This release contains 3 weeks of updates, mostly focused on improving feature parity with Noctis IV, and making the experience overall better. Linux builds are also back!
Changes since Beta-1:
- Added hoppers and birds on Felysian worlds. Their behaviour doesn't match Noctis IV exactly just yet, and hoppers aren't animated, but they should at least bring some more life (heh) to these worlds!
- Implemented smoother interstellar travel; you can now see the star and its planets as you move into the system and out of it with the Vimana drive.
- Added rain effect on Felysian worlds. Note that this can be pretty heavy and distracting, so be mindful of landing in storms.
- Temperature and Pressure is now shown in the HUD.
- Stars are now hidden on planets with atmosphere during daytime.
- Improved how water looks on Felysian worlds, though it still looks pretty bad.
- Added 'remote target data' panel.
- Added 'local target data' panel.
- Improved planet ring particle effect.
- Internal light can now be toggled on and off.
- Implemented auto screen sleep functionality.
- Added ability to change pitch using arrow buttons on the Stardrifter's main screen.
- Implemented normal and reverse pitch controls.
- Remote target indicator is now shown for direct parsis target.
- Updated remote target indicator sprite to match Noctis IV's.
- Galactic Cartography screen now displays the time and current parsis coordinates correctly.
- Setting remote target now no longer instantly warps you out of a local system even if you don't activate the Vimana drive.
- Fixed issue where previous remote target would not always be restored when backing out of setting remote target using Escape key.
- Fixed issue where you'd load onto Westos if restoring a save game with a direct parsis target set.
- Fixed issue where physics would glitch out when moving out to planets far away from their parent star.
- Fixed issue where setting local target to '1' using the keyboard made that local target not be displayed in the HUD correctly.
System Reset - Beta-1
Exactly twenty years ago, on the 24th of December 2004, Alex - Noctis IV's creator - made a post on AnywhereBB to allow modders to release modded versions of his game. Today, I'm delighted to release Beta-1 of System Reset.
My own journey with Noctis IV's source code started about twenty one years ago. I was 13 or 14 years old, and after a few years of making games in C64Basic on the Commodore 64, and working with ClickTeam's products (The Games Factory and Multimedia Fusion), I wanted to learn a real programming language, like C or C++. But I wasn't sure whre to start, so I downloaded the source code of Noctis IV, and started hacking away at it. It didn't take me long to produce this;
Hactis was born, and in the early days of 2005, Noctis IV CE emerged as the merger between Fixactis and Hactis. We developed and updated Noctis IV CE for several years, even ported it over to Windows XP. But my lack of experience, together with a rather ill-defined software development lifecycle that necessitated e-mailing patches and applying them manually, meant bugs crept in and stability suffered. Noctis IV CE fixed many bugs, but also caused many. So in 2008 I started Noctis IV Plus, an initiative to take only the best features and bugfixes from Noctis IV CE. I even ended up patching some arguably funny timing display bugs prior to the transition from EPOC 6011 to EPOC 6012.
And yet, I couldn't look past some of the glaring issues of both Noctis IV CE and Noctis IV Plus. The fact that they were both inherently using 16-bit assembly and limited to running on systems that supported 16-bit mode meant that Noctis IV's universe had an expiry date. I couldn't accept that, and tried porting things over to JavaScript, with only partial success. The original codebase has a bunch of bugs that need to be replicated exactly as-is, otherwise the universe generation algorithms wouldn't match up. Limitations in ECMAScript that were added as a result of SPECTRE unfortunately meant that I had to abandon this porting effort.
Then, from 2018 to 2020, Dyllan made some excellent progress with Noctis IV LR, a fresh porting project which ported the original codebase up to modern C++. When Godot 4.0 got released in March 2023, and I wanted to learn its C++ integration (GDExtension) to be able to work on some other completely unrelated project, I figured Dyllan's refreshed code would make for a good experimentation playground, and mere hours later I had what would become the first commit of System Reset. I never intended to develop System Reset, but somehow, I ended up developing it. And, honestly, I'm not surprised that I'm back at it again. Noctis IV has always fascinated me, and I suppose it'll keep fascinating me for the next two decades up ahead.
Enjoy, and Merry Christmas!
//Joris
Changes since Alpha-6:
- Fixed issue where Felysian planets would not look exactly like they do in Noctis IV. This has also improved the accuracy of surface generation significantly, and desert biomes should now be mostly equivalent to how they are in Noctis IV (although ruins may me generated incorrectly still).
- Made it significantly easier to select remote and local targets.
- Added ability to select local target by keyboard entry.
- Added functionality for selecting remote target by parsis coordinates.
- Interstellar and interplanetary navigation now mimics Noctis IV accurately.
- Fixed issue where planet rings were not displayed when approaching a planet.
- Added landing cupola.
- Planet gravity is now set correctly.
- Planet gravity is now displayed correctly in HUD.
- Fixed issue where modules wouldn't work on Linux due to filename casing mismatch.
- Lithium fuel and remaining dyams are now displayed on the FCD screen. These counters also go down, though nothing / undefined behaviour happens when you run out.
- Stardrifters now correctly align to planet equators.
- Fixed issue where the Stardrifter would pitch/roll at an odd angle when approaching a planet from either pole.
- 'not implemented yet' is now shown for FCD features that aren't implemented yet.
- 'local selected planet' marker is now hidden when in orbit and when disabling the HUD
- added water texture (placeholder!)
- added protection against going out-of-bounds on planets
System Reset - Alpha-5
Welcome 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!
System Reset - Alpha-4
Welcome to the Alpha-4 release of System Reset
This version improves in-space compatibility with NIV, improves performance, and fixes some memory leaks. A Linux build is now also provided!
- Fixed issue where Felysian worlds had their palettes incorrectly generated for Windows release builds.
- Fixed day/night terminator in space. Planets should now correctly face the sun!
stnow properly transitions you between stars and planets, instead of seemingly instantaneously teleporting you in some situations.- Fixed some memory leaks that would cause warning spam on exit.
System Reset - Alpha-3
Welcome to the Alpha-3 release of System Reset
This version fixes various bugs, mostly with the GOESNET!
- Added
parGOESNET command stGOESNET command now works!- You can now type more characters in the GOESNET console. All characters you could type in Noctis IV should be supported now!
- The game now saves and loads automatically, except for when you're playing from the editor as a developer
- Add a command to toggle the Y axis of the camera to and from inverted mode (F9 by default).
System Reset - Alpha-2
Welcome to the Alpha-2 release of System Reset
This version fixes various bugs and introduces experimental GOESNET support!
- Added
cat,where,dlandstGOESNET commands. Note thatstgenerates a comm.bin file, but it doesn't actually load the coordinates or initiate the Vimana Drive yet! - Fixed issue where it was not possible to exit from the planet surface
- Fixed issue where it was not possible to cancel out of local/remote target selection
Note that GOESNET modules are experimental, and whilst they should work on all OSes, they may not and were only tested on Windows and occasionally a Linux VM. GOESNET modules provided by the αcτµαlly pδrταblε goεsneτ project.
System Reset - Alpha-1
Welcome to the first public alpha release of System Reset!
This alpha version has basic Noctis IV gameplay:
- Space navigation
- Landing on planets
- Starmap integration (read-only)
Note that planet surfaces are not rendered completely authentically: the surface geometry should be the same, but there's no rocks, animals, or trees.
Known issues:
- Loading a game, which is a manual action, does not work reliably - the local system will not be rendered appropriately
Since I only have a reliable development setup on Windows 11 at the moment, there's only a build for Windows available right now. Are you on another operating system? Then please check elsewhere in this repository for instructions on how to build the required GDExtension and integrate it with a development setup on Godot!












