Skip to content
DnsLister Forum

Where domain hunters compare notes

(WIP) AstroAssembly, the bytecode language powering visual graphs

(WIP) AstroAssembly, the bytecode language powering visual graphs

Hey everyone!

If you haven't noticed already, Astrocelerate's Git repository has been looking a little quiet for the past two months, and that is because, this whole time, I've been undertaking a gigantic bet on the future of Astrocelerate by investing into what no astrodynamics software has had before: visual scripting architecture.

This is part of a greater plan to make orbital mechanics easier for, and more accessible to everyone. In most specialized software, making simulations meant writing actual code, often in a domain-specific language that takes time to learn.

But my unique contribution here is carrying a long-held paradigm in the realm of game development over to astrodynamics software: visual scripting. Imagine being able to perform a Hohmann transfer or simulate long-term perturbations by simply dragging and connecting nodes rather than writing lengthy scripts!

Of course, if implemented poorly, visual scripting could become a severe performance bottleneck. So I thought, what better way for Astrocelerate to live up to its high-performance name by having a dedicated bytecode language that visual graphs compile down to, and having a dedicated virtual machine run it?

And that's indeed what I've been developing for the past two months: a compiler toolchain and virtual machine architecture for the Astrocelerate Assembly Language, or AstroAssembly.

And while everything is pretty much work-in-progress, AstroAssembly is now a Turing-complete language that's able to access and mutate simulation state, handle conditional and looping control flow, and do cool things like generate prime numbers performantly!

If you're curious, I've created a feature branch on the Astrocelerate repository, and you can check out the Instruction Set Architecture for AstroAssembly, as well as the compiler toolchain + VM implementation in the src/Scripting directory.

If you made it this far… thank you!

submitted by /u/Nick_Zacker to r/astrocelerate
[link] [comments]

Source: r/astrocelerate · by /u/Nick_Zacker

Leave a Reply

Your email address will not be published. Required fields are marked *