Skip to content

ButteredFire/Astrocelerate

Repository files navigation

Note

Đây là bản README tiếng Anh. Vui lòng đọc bản tiếng Việt tại đây.

Logo

Logo © 2024-2025 Minh Duong, D.B.A. Oriviet Aerospace


Join our communities!

Reddit Discord

Table of Contents


Astrocelerate is a high-performance orbital mechanics and spaceflight simulation engine, designed as a versatile and intuitive tool that bridges the gap between "arcane" professional aerospace software and the accessibility of modern engines.

Goal & Vision

Most aerospace software is either simplified and gamified (e.g., Kerbal Space Program) or a legacy tool built on decades-old Fortran/C codebases (e.g., GMAT/STK). Astrocelerate aims to be:

  • Scientifically Valid: Utilizing NASA's SPICE kernels for high-fidelity ephemeris and coordinate systems;
  • Approachable: Enabling hobbyists and non-programmers to design complex orbital maneuvers with a friendly modern UI and Visual Scripting system;
  • Versatile: Boasting a simulation suite sufficient for most simulation needs;
  • Performant: Built for massive-scale simulations (constellations, asteroid belts) using multi-threaded C++ and GPU acceleration;
  • Open-Source: Contributing to the open-source ecosystem and overall growth in the aerospace community with publicly available source code, documentation, and support for plugins.

Astrocelerate is developed with the belief that humanity's greatest frontier should be open, modern, and independent of proprietary, high-cost ecosystems. It is a tool for students, researchers, and engineers to build the future of orbital infrastructure.

Astrocelerate is an initiative and first project of Oriviet Aerospace, an early-stage startup based in Vietnam aiming to build the next generation of spaceflight simulation tools for engineers, researchers, and space mission designers.

Features

Currently implemented

  • 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

Near-future plans

  • 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)
  • Visual scripting to allow for user-created simulations
  • Serialization of GUI and simulation data, with basic exporting capabilities

Installation

Warning

Astrocelerate has only been tested on Windows, although the application aims to be cross-platform-compatible.

Prerequisites

  • Vulkan SDK (Vulkan 1.2+)
  • CSPICE Toolkit N0067
  • Vcpkg dependency manager
  • CMake 3.30+
  • Python 3.9+
  • C++20

Bootstrapping

  • Open CMakePresets.json and configure environment variables for both Debug and Release builds (like SPICE_ROOT_DIR) to their appropriate paths.
  • Run SetupDebug.* to set up a Debug configuration, or SetupRelease.* 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 run scripts/Bootstrap.py and follow on-screen instructions.

History

Astrocelerate made its first commit on November 28, 2024. As of December 28, 2025, it has been in development for 395 days. During its first two months in existence, Astrocelerate was written in OpenGL, but it henceforth migrated to Vulkan due to inherent limitations with OpenGL's state-machine programming paradigm.

Screenshots

The following screenshots document the development of Astrocelerate (Date format: DD/MM/YYYY).

17/12/2025

2025-12-17

20/10/2025

2025-10-20

18/10/2025 (after 2-month hiatus)

2025-10-18

16/08/2025

2025-08-16

25/07/2025

2025-07-25 2025-07-25

10/07/2025

2025-07-10

03/07/2025

2025-07-03

21/06 - 22/06/2025

2025-06-22 2025-06-21

08/06/2025

2025-06-08

03/06/2025

2025-06-03 2025-06-03

20/05 - 21/05/2025

2025-05-21 2025-05-20

16/05/2025

2025-05-16

14/05/2025

2025-05-14

04/05/2025

2025-05-04

01/04/2025

2025-04-01

17/03/2025

2025-03-17

09/12/2024 (Legacy Astrocelerate)

2024-12-09

About

C++/Vulkan simulation engine

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published