WIP Save functionality

This commit is contained in:
olof.pettersson
2025-09-29 17:38:22 +02:00
parent 3b960c90f0
commit 321bbed113
3 changed files with 136 additions and 15 deletions

View File

@ -1,16 +1,33 @@
### Project "Stardust Drifter" Status Summary
# Project "Stardust Drifter" Status Summary
**Implemented Systems**
## Implemented Systems
- **Core Physics Simulation:** The `OrbitalMechanics` singleton successfully handles a robust N-body gravity simulation. All celestial bodies and the ship correctly inherit from `OrbitalBody2D`, ensuring they are part of the same physics simulation.
- **Procedural World Generation:** The `StarSystemGenerator` creates a dynamic solar system with stars, planets, moons, and stations in stable, nested orbits.
- **Modular Ship Systems:** A foundation for modular ships is in place. The `Spaceship` class is a central hub for subsystems like `FuelSystem` and `LifeSupport`. The `ThrusterController` is highly advanced, capable of self-calibrating to a ship's unique mass and inertia.
- **Navigation & Map UI:** A functional map UI exists, with zoom-to-cursor and click-and-drag panning. It includes dynamic culling and can be locked onto any celestial body. The `NavigationComputer` can calculate and execute Hohmann transfers.
- **Editor Plugin (WIP):** We've started building an editor plugin to handle ship construction. The core functionality for creating a custom dock and listening for editor input has been implemented, but the full UI and piece-placement logic still needs to be completed.
- Core Physics Simulation: The OrbitalMechanics singleton successfully handles a robust N-body gravity simulation. All celestial bodies and the ship correctly inherit from OrbitalBody2D, ensuring they are part of the same physics simulation.
**Designed but Unimplemented Systems**
- Procedural World Generation: The StarSystemGenerator creates a dynamic solar system with stars, planets, moons, and stations in stable, nested orbits.
- **Free-Form Module Construction:** The core building system is designed but not yet fully implemented. The `Module` and `StructuralPiece` scripts are in place, but the physics recalculation and room sealing logic is not yet finished.
- **Unified `RigidBody2D` Character Controller:** The `CrewMember.tscn` scene and the logic for `Spaceship.gd` to simulate G-forces still need to be created and integrated.
- **Economy, Missions, and Factions:** The high-level design for a multi-faction world, a mission system, and an economy exists, but no code or assets have been created for these features yet.
- **Multi-Depth Modules:** Your idea for a 2.5D building system with multiple depth layers and a "flip" function is designed but has been tabled for later.
- Modular Ship Systems: A foundation for modular ships is in place. The Spaceship class is a central hub for subsystems like FuelSystem and LifeSupport. The ThrusterController is highly advanced, capable of self-calibrating to a ship's unique mass and inertia.
- Navigation & Map UI: A functional map UI exists, with zoom-to-cursor and click-and-drag panning. It includes dynamic culling and can be locked onto any celestial body. The NavigationComputer can calculate and execute Hohmann transfers.
- Editor Plugin (WIP): We've started building an editor plugin to handle ship construction. The core functionality for creating a custom dock and listening for editor input has been implemented, but the full UI and piece-placement logic still needs to be completed.
## Designed but Unimplemented Systems
- Free-Form Module Construction: The core building system is designed but not yet fully implemented. The Module and StructuralPiece scripts are in place, but the physics recalculation and room sealing logic is not yet finished.
- Unified RigidBody2D Character Controller: The CrewMember.tscn scene and the logic for Spaceship.gd to simulate G-forces still need to be created and integrated.
- Economy, Missions, and Factions: The high-level design for a multi-faction world, a mission system, and an economy exists, but no code or assets have been created for these features yet.
- Multi-Depth Modules: Your idea for a 2.5D building system with multiple depth layers and a "flip" function is designed but has been tabled for later.
### Planned Systems: Asymmetric N-Body Physics Simulation
To handle the vast difference in scale between celestial bodies and player ships, the physics simulation will be refactored to use an asymmetric N-body approach. This means that while all celestial bodies will affect each other, smaller bodies like ships and stations will only be affected by the gravity of larger celestial bodies. This will allow the use of realistic masses for ship components while maintaining stable and predictable orbits for planets and moons.
- Objective: Modify the OrbitalMechanics singleton to apply a scaling factor to gravitational calculations for player-controlled ships and components.
- Implementation: Introduce const SCALE_FACTOR = 100000.0 to the OrbitalMechanics.gd script. When calculating gravity for ships and other scaled bodies, multiply the masses of celestial bodies by this factor.
- New Class: A new abstract class, ScaledOrbitalBody2D, will be created that inherits from OrbitalBody2D and handles the new scaled physics.