Is there any way to add support for deploying to consoles?

As far as I’m aware Panda3D can not deploy to game consoles (PS3/4;X-BOX360/ONE). So I was wandering, how I would go about implementing this, what I would need, etc. Thanks!

As a first step you would have to become a registered development partner with Sony/Microsoft and get development kit hardware and access to the SDK for each platform. You would then have to integrate each SDK into the Panda engine and its build system.

After doing that, the process looks somewhat like this:

  1. Find out how C++/OpenGL applications are compiled for the target platform.
  2. Build a simple C++ graphics app for the platform. This step gives you the required knowledge about how to even compile a graphics app for that platform, and gives you something to compare the results you get with Panda3D with.
  3. Set up Panda’s build scripts to use the toolchain for that platform.
  4. Try compiling Panda3D for the target platform.
  5. Fix any compilation issues until you can compile the core libraries.
  6. Write integration modules for the various APIs of the platform for things like graphics, audio, etc. These are usually implemented as plug-ins in various Panda systems.
  7. Testing if it works, fixing things and debugging until you get the famous pview triangle to show up. This is usually the most iconic moment when porting Panda.
  8. Try making a build with Python and getting it to work, so that you can run Python scripts with the engine.
  9. Hacking and debugging until everything works smoothly together, making sure that all the subsystems of Panda you’ll need work, and adding support for the more esoteric (but often necessary) features.
  10. Make the deployment pipeline work, by porting the runtime.