I’m currently attempting to build a distributable demo of my game, and am using Deploy-ng to that end. I’ve gotten to the point of having Deploy-ng successfully run all the way through, producing a zip-file containing the game. This thread, then, is for the remaining issues:
First of all, the resultant game crashes immediately on startup. Running it from the command-line (after renaming the executable to no longer have spaces–I’m not sure of why it wouldn’t accept it before), I get the following output:
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
:audio(error): load_dso(libp3openal_audio.so) failed, will use NullAudioManager
:audio(error): No error.
Traceback (most recent call last):
File "GameCore.py", line 969, in <module>
File "GameCore.py", line 82, in __init__
File "/home/thaumaturge/Documents/My Game Projects/Adventuring/build/__whl_cache__/panda3d-1.10.0-cp27-cp27mu-linux_x86_64.whl/direct/showbase/ShowBase.py", line 1685, in enableParticles
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named ParticleManagerGlobal
So, it’s finding the expected graphics output, which is good. Unfortunately, it doesn’t seem to be finding the audio module, nor “ParticleManagerGlobal”. My “setup.py” file does include “p3dopenal_audio” in the “plugins” section.
Here is the full “setup.py”:
from setuptools import setup
setup(
name = "A Door to the Mists",
options = {
"build_apps" : {
"include_patterns" : [
"*.png",
"*.egg",
"*.ogg",
"*.cur",
"*.ico",
"*.txt",
"*.dat",
"*.glsl"
"*.prc"
],
"gui_apps": {
"A Door to the Mists" : "GameCore.py"
},
"plugins": [
"p3dopenal_audio",
"pandagl",
"pandabullet"
],
"platforms": [
"linux_x86_64",
#'win32',
#'win_amd64'
],
}
}
)
Next, is cross-platform building available with deploy-ng, and if so, how might it be done? (Simply commenting-out the linux entry and un-commenting the “win_amd64” entry above results in the system attempting to get a copy of Panda3D from the server, it seems. At a guess, do I cross-compile the Panda “wheel” somehow, allowing it to use that?
Finally, the system doesn’t seem to like including “.prc” files–and I see that it automatically includes two of its own. Up until now I’ve been loading my own “.prc” file via “loadPrcFile”–I gather that there’s a better way, which I imagine that setuptools draws on. How do I specify that a given “*.prc” file is the one to use for my project, both when run via the IDE or in a distributable build.
[edit]
Ah, I stand corrected on “.prc” files–that was the result of a mistake on my part in my “setup.py” file. Sorry about that! ^^;
Still, I have the impression that there is a “more correct” way of handling “.prc” files, so the overall question stands, if it may.
[edit 2]
A minor edit: I figured out how to correctly run an executable from the command-line when it has spaces. I do think that I’ve done this before, so I’m putting my difficulty with this down to tiredness. >_<
[edit 3]
I’ve cleared the audio error–another mistake on my part, I’m afraid: If you look above, my “setup.py” asks for the plugin “p3dopenal_audio”–but the correct plugin lacks the “d”, being just “p3openal_audio”. Sorry about that! ^^;
(The “ParticleManagerGlobal” error remains, however.)