computer too slow? edit the Graphics.cfg after it generates on first run
“HIGH”: full shaders
“MEDIUM”: no specular and 4x anisotropic
“LOW”: shadeless mode
UPBGE 0.2.4 Notice!
set the color space to “Linear” in the Render properties for correct colors.
Is it a true NxN Newtonian mass sim with real M and G constants plugged into the g=GM/r^2 equation?
I love real mass games as they can be so useful when planning orbital maneuvers!
Here’s a Python sim (sorta like a game) that I wrote ~two years ago for doing NxN massive body simulation on a desktop with OpenVR/SteamVR support!!. It’s not in Blender game but all code is Python3 compatible. I wrote the trigonometric Newtonian mass functions using pure vectorized matrix math for efficiency in the NxN mass and particle calculations. I have written various examples using pure python, numpy and Tensorflow.
I called it GravityVR and I made it available on my Github page for the scientific community. It may contain some useful bits such as the extras for some trigonometric and force related functions.
It seems accurate. Even at large timesteps there’s a clear helion precession that can be observed being generated from the tidal force of even Earth sized masses. and it’s very fast at computing the accelerations of a large number of bodies due to their mutual gravitational attractions.
The simple volumetric shaders are not especially brilliant, but they do look okay in stereo/VR:
It’s also very neat in VR (watching Jupiter tear Saturn’s rings to shreds after a close encounter in the “Saturn Vs. Jupiter” example). Also because everything is “to scale” it puts a very new perspective on just how small the Earth truly is compared to the size of it’s orbital diameter and the solar system !!!
no, the gravity is binary since that wasnt the purpose of the demo. if further then planet radius and sky height, stop gravity. tapering the gravity with an equation would prove slightly problematic with the comically small planets. just driving the buggy vehicle off a little hill would send you into orbit
the feat being demonstrated is a complex game mechanics system that is fully adaptive to varying environments. the exact same code works on traditional planar maps.
in the PYTHON folder there is a level.py which has the gravity function. is very simple and can be easily modified to be as sophisticated as desired.
a planned feature is atmosphere air drag variance, so space craft can travel much faster in space without slowing down (unless you have a scifi ship that ignores air drag).
it would require a sub class of CoreObject and use the alignToGravity() function to keep aligned to planet. then rayCast down along owner.worldPosition+owner.getAxisVect((0,0,-1)) to set the location of the object the surface of the planet.
sub class CorePlayer would be a bit tricky. a new ai variation would be needed. its on the to do list, but it could be a while before i consider messing with a proper npc solution.