would be cool to see units orbiting units which are orbiting other units. from what I gathered from the movie this isn't possible... yet? example. The moon orbits earth. earth orbits the sun. then you give units a variable called ?density? then multiply density with the size of the unit in pixel width or scale or whatever sc2 uses. then you could have simulated weight based on how largely scaled the unit is. then add some kinda text based command that involves you selecting a unit and typing Set size to 30. that would change the size of the unit in real time in the game and you could show how the lighter units orbit heavier ones. Grey archons could represent planets made of rock which would be very heavy and have a high density and blue ones could be made of water and lighter. or whatever. just rambling.
This is possible if you give the simulation the right configuration values. Figuring out those numbers could be pretty difficult though. In the future I'm going to implement a second algorithm which might make this a bit easier to do.
Most of the examples were done out of convenience to me, meaning I made it so that one or more of the bodies didn't move. To make an orbit stable, the two bodies involved would both need to be able to move, though the heavier one will move significantly less. Likely the orbits will slowly drift, meaning everything would need to be centered in order for it to not end up on the simulation boundary. It's something I plan to add in the future (centering).
If you've played SpaceBound or looked at the Sc2Mapster news recently, you may have seen mention of Orbit, a library I am developing for N-Body simulation in Starcraft II.
An N-body simulation is a simulation of a dynamical system of particles, usually under the influence of physical forces, such as gravity. For more information on that, see Wikipedia.
The algorithm utilized in Orbit is a fairly simple solution to the n-body problem. There are several reasons why a simple algorithm was used in favor of a more accurate but more complex one:
Galaxy does not offer floating point support and the fixed point in galaxy cannot handle very small numbers.
This isn't a scientific piece of software - it only needs to look good, not be tremendously accurate.
What can I do with Orbit?
Orbit allows you to have objects interact with each other in ways that mimic gravitation and magnetic repulsion. If you've ever taken two magnets and brought the same poles close together, that's what you can expect out of Orbit. Alternatively, you can use Orbit to have things attract each other, like a planet orbiting a star.
What features does Orbit have?
Orbit supports an arbitrary number of simulations (barring memory restrictions).
Each simulation supports an arbitrary number of objects (barring memory and time restrictions)
Orbit objects (masses) can be tied to units, points, or arbitrary locations
Simulation objects can either interact with terrain or not
@CTSAE: Go Sounds like there are some glitches in the path finding code or something like that, pretty interesting though.
This is possible if you give the simulation the right configuration values. Figuring out those numbers could be pretty difficult though. In the future I'm going to implement a second algorithm which might make this a bit easier to do.
Most of the examples were done out of convenience to me, meaning I made it so that one or more of the bodies didn't move. To make an orbit stable, the two bodies involved would both need to be able to move, though the heavier one will move significantly less. Likely the orbits will slowly drift, meaning everything would need to be centered in order for it to not end up on the simulation boundary. It's something I plan to add in the future (centering).
I've released a GUI driven version of the Orbit library.
Orbit v0.2
If you've played SpaceBound or looked at the Sc2Mapster news recently, you may have seen mention of Orbit, a library I am developing for N-Body simulation in Starcraft II.
An N-body simulation is a simulation of a dynamical system of particles, usually under the influence of physical forces, such as gravity. For more information on that, see Wikipedia.
The algorithm utilized in Orbit is a fairly simple solution to the n-body problem. There are several reasons why a simple algorithm was used in favor of a more accurate but more complex one:
What can I do with Orbit?
Orbit allows you to have objects interact with each other in ways that mimic gravitation and magnetic repulsion. If you've ever taken two magnets and brought the same poles close together, that's what you can expect out of Orbit. Alternatively, you can use Orbit to have things attract each other, like a planet orbiting a star.
What features does Orbit have?
What does Orbit look like?
How can I use Orbit?
Orbit is available both as a raw Galaxy script and as a GUI library.
Where do I get Orbit?
On its asset page! Right here.
You can find a demonstration of Orbit used in a map here.
Orbit Documentation
Orbit documentation is provided on the asset page, located here.