Note
Đây là bản README tiếng Anh. Vui lòng đọc bản tiếng Việt tại đây.
Astrocelerate is Vietnam’s first high-performance orbital mechanics and spaceflight simulation engine, designed from the ground up to serve as a sovereign alternative to foreign aerospace software.
Developed in C++ with a Vulkan-based graphics pipeline and custom ECS architecture, Astrocelerate is engineered for real-time, physically accurate visualizations of satellite kinematics, launch trajectories, and maneuver simulations. But beyond technical performance, Astrocelerate stands for something far greater:
The assertion that world-class aerospace tools can emerge from within Vietnam, built not by legacy contractors, but by a new generation of engineers who refuse to wait for permission.
Its mission is to empower academic institutions, disaster-response planners, space technologists, and national defense researchers with a transparent, extensible, and self-owned simulation platform. But more than that, it represents technological sovereignty in a domain long dominated by external systems.
Powered by Oriviet Aerospace. Grounded in Vietnam. Engineered for the stars.
The short term vision of Astrocelerate is to create a Minimum-Viable Product (MVP) that satisfies core features. Specifically, the MVP must be able to achieve these minima:
- Accurate real-time and interactive visualizations demonstrating simple scenarios (e.g., Earth-satellite orbit, basic maneuver simulation, the "launch, enter orbit, stage separation, re-entry, recovery" sequence)
- A clean, polished GUI (planned to be made with Dear ImGui)
- An Entity-Component-System (ECS)-based design
Astrocelerate's design philosophy takes inspiration from that of the Unity game engine and the GMAT spaceflight simulation engine. These principles are subject to change over time, as Astrocelerate (and I) become more mature.
Core design principles | Description |
---|---|
Open-source | Astrocelerate aims to be transparent and thrives on community feedback, modification, and extension. Therefore, to maximize contribution and growth, it is decided that the engine should be open-source. |
ECS-based, Modular & Extensible Architecture | Astrocelerate is structured to allow flexibility and modularity, allowing users to set up and develop their own environments, objects, gravity, etc. with built-in, third-party, and custom "modules". This is part of Astrocelerate's integration of Entity-Component-System principles. Astrocelerate is built to allow third-party plug-ins and extensions, enabling researchers to integrate new models or solvers. |
Non-proprietary scripting language | Astrocelerate allows users to program their own modules and override built-in counterparts with C++. |
Support for real missions | Astrocelerate can be used for operational mission planning (e.g., lunar and interplanetary transfers, spacecraft launch-and-recovery procedures). |
- Real-time orbital propagation
- Accurate 2-body simulation
- Configurable physics time step
- Reference frame system with fixed simulation scaling (maintains physical accuracy across polarized scales)
- Custom ECS-based architecture with sparse-set storage (allows for performant simulation and efficient data flow between the GUI and backend)
- Live telemetry data, console, etc.; Tweakable simulation settings
- Offscreen rendering (allows for custom viewports, post-processing, etc.)
- N-body simulation capabilities
- A more advanced model loader, with better, correctly mapped textures and visual fidelity
- Solvers, coordinate systems, epochs
- Swappable numerical integrators (Symplectic Euler, RK4)
- Data-caching in ECS for even more performance
- Compute shaders and the offloading of parallelizable processes to the GPU
- Dynamic scaling for seamless transitions (e.g., from terrain to planet)
- A more diverse range of numerical integration methods (Verlet, Simpson's Rule, Gaussian quadrature)
- C++ scripting to allow for user-created simulations
- Serialization of GUI and simulation data, with basic exporting capabilities
Warning
Astrocelerate has only been tested on Windows, although the application aims to be cross-platform-compatible.
- Vulkan SDK (Vulkan 1.2+)
- CSPICE Toolkit N0067
- Vcpkg dependency manager
- CMake 3.30+
- Python 3.9+
- C++20
- Open
CMakePresets.json
and configure environment variables for both Debug and Release builds (likeSPICE_ROOT_DIR
) to their appropriate paths. - Run
SetupDebug.*
to set up a Debug configuration, orSetupRelease.*
to set up a Release configuration, according to your operating system. - Alternatively, you can manually run
GenerateDirectories.bat
to ensure file discovery is up-to-date, then runscripts/Bootstrap.py
and follow on-screen instructions.
Astrocelerate made its first commit on November 28th, 2024. As of July 10th, 2025, it has been in development for 7 months:
- Legacy engine (OpenGL): 2 months
- Current engine (Vulkan): 5 months
The following screenshots document the development of Astrocelerate.


