running a compiled project without python or panda3d

hello,
maybe the subject it not the best
and maybe a similar thread already exist
i am sorry about that.

I wrote a small game in python
and now I want to compile it and send it to some friends.
But they don’t have python or panda3d.
How can I compile the project, that they do not need anything else without the installer/archive ?
optimal would be, if they just execute the game.exe to start the game.

is that possible?
maybe by using packpanda?

You can do this using packpanda or pdeploy.

thanks for fast help
can i do the same if my code is written in c++?

Hi, as rdb said, pdeploy will build you a Desktop Installer for your application and place an icon on your desktop and stuff, packpanda will build you a p3d file that allows (users who have the panda3d web runtime, downloads page) to run it on there computer by double clicking or to run it in your own web page

If you build a panda application in C++ you could simply distribute the executable file that your compiler produces (and all the panda3d dll’s) and throw them in a zip for people (or like stated before use pdeploy to build an installer)

so to answer your question properly: C++ panda applications can just be distributed as ‘game.exe’ and all the associated panda DLL’s that you can copy yourself

~powerpup118

hmm ok
but there are a lot dlls
is there a option to excute the dlls from an other folder?
example:

project
 -bin/
   -mush as posible dlls
 -moudels/
   -some stuff
 -etc/
   -confauto.prc
   -config.prc
 -game.exe
 -some oter files

Or can i use the runtime libarys?
there are just a few files.

It’s false! :slight_smile:
Packpanda != packp3d

Hi, I dunno for sure how you would go about loading the DLL’s from a seperate folder, I’m sure it’s possible, to be honest I’ve never played that much with C++

What you could do is place game.exe and all the DLL’s in the ‘bin’ folder, and then in the top-level directory place a ‘game.bat’ script that has the line ‘bin/game.exe’ in it (which would run the game executable), if you want to use this route you should probably just do a simple search online about windows bat scripting…

That’s only my idea, like I said I dunno much about dynamic loading in C++, maybe someone else will respond about that.

Best of luck
~powerpup118

ok thank you
but you do not have to post it 3 times :laughing:

It should be the same with Python.
If youre ok with an installer, you can just use Packpanda.

For an archive approach, youll need the Panda3d folder, remove the folders and files which are not needed, have an exe or a bat there which calls the python.exe from the Python subfolder with the argument being the path to your main.py©.
I would do that small exe in C++ or any compiled language, another option is a bat file.
In this case you wouldn’t need to tell your users to install Python.

There is big problem here, as you would need to know exactly what to remove from the Panda3d folder, otherwise your game archive will end up unnecessarily huge. the packpanda script should do this, and it should also make a similar exe for you, but in the end it makes an NSIS installer. You could of course install that and use the extracted folder for the archive, but this isnt very elegant.

Hm, maybe we could make a script similar to packpanda which doesnt make an installer but an archive in the end, what do you guys think?

Very, very sorry about that. Honestly I’d thought it only submitted it once - chrome must’ve acted up…

(again sorry)
~powerpup118