Pioneer 2024-02-03
pioneer_2024-02-03_2_hq_aac.mp4
(Watch on Youtube | Music: Distant Home by Diduuz)
A year in development brings with it plenty of new exciting features, but also many changes under the hood which are necessary to lay the groundwork for what is to come.
New Game Window
New games are now launched from a new menu that exposes the starting state. Players can now fully see what conditions they will be starting in, which also allows developers to initialize a game with parameters of interest to test. The New Game Window also laid the technical groundwork for recovering old saves from the 2023-02-03 release, more on this further down.
Savefile Recovery
Due to Pioneer's partially procedurally generated content, a new release would usually break old game saves. This occurs because sampling the random number generator differently causes the resulting universe to be different, which could cause the space station the player was docked at to no longer exist. This forced each such release to block existing saves from loading. Well no more! As of this release there is now a mechanism that lets players recover old save games, by starting a new game with the progress of the saved one, where variables that could not be resolved become free for the player to set manually. Note: active missions are not recovered, finish them in your old Pioneer install if you want to, before loading the save into this new Pioneer version.
Manual landing on orbital stations
From now on you can land on the orbital stations manually, and the autopilot handles landings much more gracefully too. Although it can be done without any flight assist, it is recommended to use the cruise control and rotation matching functions of the flight computer to avoid fender-benders.
System Editor
This release packs a GUI System Editor, that lets anyone customize existing procedurally-generated systems or design entirely new systems without editing any code. The development team would love if the players create new custom systems and contribute them for inclusion into the core game. This also means all custom systems should now be authored in JSON, through the GUI tool, rather than via hand-written lua-files, which are now deprecated. See wiki for documentation.
FlightLog re-worked
For those players who like to take notes about their career as a galactic merchant or mercenary, the flight log has been overhauled. It now supports sorting, filtering, and exporting the flight log to an HTML file.
Atmosphere Scattering (Experimental)
New in this release is an alternate rendering method for planet and gas giant atmospheres which calculates the real-life Rayleigh / Mie scattering equations to produce more realistic atmosphere colors under all conditions. The version in the release is still experimental - the differences between e.g. a Nitrogen-Oxygen and a Methane atmosphere are not taken into account, and distant terrain rendering is still using the old atmosphere calculations. To turn it on, scroll through the scattering menu under settings.
And More!
There are many other changes, as is evident from the list below. Some notable are new textures for one of the the ground stations, planet rings being in shadows of the planet, trade ships now being less reckless when hyper jumping out, mission deadlines re-balanced, three new music tracks, and planned hyper jump route is now saved across sessions.
There are also many changes under the hood, but for brevity we refrain from listing them. Briefly, they include things like: code optimizations, render optimizations, improved compilation time and new API functions for modders to use. This will also be the first releases that provides an AppImage. See Changelog.txt for a complete list of all changes.
Project Infrastructure Changes
On the development team side, shortly after the last release (2023) robn handed over the all the infrastructure that he had been running for us for free. The change meant we now have new URLs to dev forum, wiki, API docs and a new dev docs page. Our forum and wiki are now hosted on a paid service, with annual cost of $75. If you want to contribute to the war chest, no donation is too small.
Build Tooling
With this release, we've re-organized our CMake build scripts slightly, added CMake Presets, and introduced a new PROJECT_VERSION_INFO
variable to better identify the contents and version number of the build when triaging issues. For Windows and Linux developers using Visual Studio, VSCode with the CMake extension, or any IDE that supports CMake Presets, compiling the game should now be only a few clicks away.
Distribution packagers that build Pioneer without Git repository information available (or apply patches in a way that changes the git commit hash) are encouraged to set the PROJECT_VERSION_INFO CMake variable to a value that clearly identifies the source version the package is built from.
Fly safe!
Major changes and new features
- Implement graphical editor for creating custom systems (#5625)
- Add Model Viewer Widget (#5613)
- Add New Game interface to customize starting parameters (#5561)
- Add a function to recover old versions of saves (#5706)
- Search bar for save/load window and crashes fix (#5634)
- Ship market comparison colors (#5632)
- Sensibly generate high-gravity planets (#5592)
- Improved and cleaned up facegen parts (#5537)
- Docking with orbital in manual mode (#5619)
- Newground station cleanup and new textures (#5704)
- Realistic Rayleigh/Mie atmospheric scattering (#5617)
- Improve planet rings shaders (#5708)
- Update/rework of the flightlog (#5666)
- Add new music tracks by diduuz (#5727)
Minor changes and features
- Allow double click on an item to load the saved game (#5652)
- Added icon to indicate up/down camera view (#5600)
- SecondHand - Add possibility to refuse selling (#5593)
- Include ad title in bulletin board search (#5589)
- Combat mission explanation about special equipment (#5588)
- ScanManager improvements and ship properties fixes (#5635)
- Unify / re-balance mission travel time implementation (#5707)
- Stop TradeShips from performing illegal Hyperjumps (#5647)
- Improve realism of randomly-generated systems (#5622)
- Add delete button in save/load window (#5674)
- System overview icon upscale and update (#5540)
- Make ship market comparison colors colorblind friendly (#5715)
- Save and load the current planned hyperjump in the save file (#5721)
Bugfixes / Tweaks
Bugfixes are not necessarily relative previous 2023 February release, but rather reflects fixing features as they go into master branch.
- Fix installed directory structure on Windows (#5686)
- Correct value of g-force in system editor (#5658)
- Fix assertion failed in Sfx::Sfx(const Json &jsonObj) (#5668)
- Fix crash in l_body_get_ground_position if there is no body to get (#5665)
- Fix lua components corruption on save (#5657)
- Disable scrolling for tab-view and character info (#5642)
- Fix failed build for ALT Linux, by calming down -Werror=return-type (#5649)
- Fix for glued cockpit (#5631)
- Fix for commodity market in stock and demand reset (#5633)
- Fuel scooping rework (#5609)
- Fix Scans not resuming on game continue (#5577)
- Fix disappearing fuel after save and load (#5534)
- Fix ship info screen showing wrong cargo capacity and usage (#5557)
- Fix for "Assertion failed!" in the "Ship Repairs" window (#5640)
- Wording change for commands in the "Crew Roster" window (#5641)
- Fix constant planet density vs radius ratio (#5592)
- Fix main menu music not playing after exiting to main menu (#5645)
- Fix incorrect time acceleration after closing pause menu (#5646)
- Fix absurd number of spaceports generated on high-population worlds (#5625)
- Fix surface ports being generated on a single "orbital line" around the body (#5625)
- Ignore x-axis only mouse wheel events (#5627)
- Fix for rounding error in lobby's +/-10% buttons (#5628, #5630)
- Fixes after sector map refactoring and new start menu added (#5612)
- Fix issues when quitting Lua console (#5597)
- Mouseover tooltip for the ECM and the Advanced ECM systems (#5590)
- Fix SIGFPE from zero length vector if flying long time enough (#5569)
- Fix military drive being too heavy (#5580)
- Fix empty accessory files used to reduce facegen accessory spawn chance (#5558)
- Fix autopilot crash with no body in frame of reference (#5551)
- Fix crashes when ships jump into system from hyperspace (#5564)
- Fix set hyperspace target button missing from SAR mission (#5531)
- Reduce chance of autopilot crashing into planets between ship and target (#5481)
- Avoid misaligned read when loading SGM files (#5692)
- Remove transparent backgrounds from screenshots (#5660)
- Fix assert on startup when calling back on an empty string (#5717)
- Fix orbital / surface scan missions being unable to be completed (#5724)
- Fix player being unable to collide with Stations if only ship in Frame (#5720)
- Crash from hyperjump-planner indexing local ship (nil) #5725
- Fix missing gas giant atmospheres (#5728)
- Fix undefined behaviour in CommandBufferGL.cpp (#5694)
- Fix mission data for Custom Cargo mission persisting between games (#5730)
- Fix model viewer not working (#5729)
- Fix bogus GPS coordinates when entering an orbit (#5729)
- Fixes Visual Studio CMake build only supports Debug, not release or profiling (#5729)