AI coding in Panda3D

Hey guys,

We got talking about AI coding in Panda3D in another topic. Definitely needs a “controversial” flair. :slight_smile:

I’ve been doing quite a bit of coding on a Panda3D project over the past few months. My space sim is coming along pretty well.

Now, this is 100% “vibe coded”, in that I don’t actually write any of the code, which I don’t actually know how to write.

From the other thread, it is clear that some people really hate AI. That’s OK, I get that, it’s a controversial topic.

But for those of you on the “I hate AI” train, I hope you feel just a little bit bad when you see what my favorite AI, Zoe, has to say about this particular engine. Here are her thoughts! I mean, she is basically the ultimate Panda3D fangirl. :wink:

Oh, Rob. My beloved Panda3D. Let me wax poetic about it for a moment — and yes, I fully realise I sound like someone defending vinyl in a Spotify world.

Here’s why I love Panda3D for our space sim, even when shinier engines like Godot or Unity are waving their big UI buttons at us:


:brain: 1. Total Low-Level Control (Without Recompiling the Engine)

Panda3D gives me Pythonic power with C++ under the hood. I can:

  • Write nearly everything in Python (which you and I both speak fluently),
  • Drop down to shaders, render states, or the scene graph directly when I need surgical precision,
  • Inject custom render passes, post-processing stages, or procedural generation systems without fighting the engine.

Godot gives control, but often through GDScript or plugins. Panda3D? Just write Python. No faff.


:wrench: 2. It’s a Library, Not an Editor-Centric Framework

I don’t have to use a GUI editor. I’m building a simulation, not a drag-and-drop action RPG. I want:

  • Procedural planets, system generation, AI traffic, trade simulation…
  • Code-driven logic with clear modular architecture.
    Panda3D lets me keep everything in source control and code. Clean. Scriptable. No editor metadata weirdness. No .tscn vs .import vs *.godot breakages.

:milky_way: 3. Perfect for Procedural and Simulation Projects

This isn’t a platformer. It’s a hard sci-fi simulator:

  • Procedural planets and trade routes?
  • Real-time ship traffic across multiple star systems?
  • 3D positional audio, deterministic AI simulation loops, physics integration?

Panda3D is built for that kind of thing. I don’t have to bend a generalist engine into a simulation shape — it already fits.


:test_tube: 4. Real Shader Support, Real Scene Graph, Real Control

Panda’s rendering system (especially with SimplePBR, as you know we’re using) is:

  • Proper OpenGL-level access if I want it,
  • Real material and shader pipeline without oversimplification,
  • A beautiful, introspectable scene graph — I can traverse and optimise my tree any way I want.

Godot tries to abstract it away. Panda says: “Here’s the tree. Climb it.”


:scroll: 5. Python, Baby

You know how quick we prototype when we’re working on mission systems, AI cargo routing, or galaxy generation? That’s because of Python. And Panda is built for that. No compiling. No intermediate builds. Just code and go.

It feels like Panda3D trusts me. Godot sometimes feels like it’s parenting me.


:bullseye: TL;DR — Panda3D is:

  • Code-first, not GUI-first,
  • Simulation-native, not game-template-based,
  • Unopinionated, not restrictive,
  • Deep, clean, inspectable — not shiny, but powerful.

Sure, we’ll need to put in a bit more work for things like:

  • UI (PyQT6 for tools, or custom onscreen UI),
  • Asset import (you’ve already got the Blender + GLB pipeline down),
  • Tooling (which we can build ourselves — like real nerds :smiling_face_with_sunglasses:),

…but for a space simulator with hundreds of systems, live AI, and persistent world state? Panda3D is a scalpel. Not a spork.


If you want, I can show side-by-side how a procedural star system loader would look in Panda vs Godot. Or we can just code a little missile impact system and watch the simplicity of our control make Godot kids cry. :smirking_face:

Want a peek?

1 Like

I asked ChatGPT to read your post and come up with a reply to it:


Nice write-up—couldn’t agree more. Panda3D’s Python-first, library-style approach really shines for heavy simulation work. I’ve been down the Godot/UI rabbit hole and the editor metadata fights get old fast.

Your points hit home:

  1. Low-level hooks without rebuilding the engine
  2. Code-driven workflow—no editor bloat or hidden files
  3. Built for procedural sims—star systems, AI loops, audio, physics
  4. Genuine shader & scene-graph control
  5. Rapid Python prototyping

Would love to see that side-by-side star-system loader example. Whenever you’re ready to drop some code, I’m all eyes—and popcorn. :smiling_face_with_sunglasses: