Mars Colony Sim, O'Neill Cylinder Physics Sim

After lurking for a fairly long time, I felt behooved to share a little of my work done with Panda3D. Here’s a YouTube link:

The first example in this video is in Unreal 4, but the rest is all Panda.

In the Mars colony simulation, around 40 dynamic variables are real-time calculated and correspond to visible 3D objects in the scenegraph. The numbers are fairly physically accurate.

I have been using Panda3D for several years now, and I am a big fan of the tools. I prefer Panda’s code-first approach to prototyping systems over Unreal 4, which I am also versed with. Unreal is ultra-opinionated by comparison.

My latest project (not shown here) with Panda was to enable multi-threading with the threading2 interface using the deferred shading RenderPipeline. So far this has worked. I feel it is pretty crucial to support multi-threading, especially with a pipeline that could allow “true AAA quality games” to be built with Panda. The threading support setting is by default turned to false when using the RenderPipeline, presumably for good reasons, but like I said I have not seen any issues running my own multi-core functions this way.

[0:00:00] Virtual Reality Full-Body IK
[0:00:33] Mars Colony “Simulation Sandbox”
[0:01:40] Random Pixel Video Generator
[0:01:57] O’Neill Cylinder Torque Dynamics Simulator
[0:02:47] Yacht Hull Water Dynamics Visualizer


This is cool! Glad you’re enjoying Panda3D!

I’m not sure why threading is entirely disabled by default in RenderPipeline—I can think of no good reason to do so. Perhaps it simply wasn’t needed and a tiny bit of overhead could be reduced this way. (“threading-model” should remain disabled, though, since the thread pipelining system doesn’t work well with RenderPipeline).

1 Like