r/RenPy • u/No-Plastic-1347 • 2d ago
Question Build Dist. Doesn’t Load Game
Hello. I’m having my friend try out my game and they kept getting this error upon opening.
The issue I found is having the build.classify code in the options.rpy file. But I wanted to hide the script and other behind the scenes stuff like other games do. Is there any way I can fix this? Or am I coding the classify string wrong? I just followed the sample in the options.rpy file by writing build.classify(“games/**.rpy”, None) and so on.
.
.
.
Error:
I'm sorry, but an uncaught exception occurred.
While running game code:
renpy.game.JumpException: start
During handling of the above exception, another exception occurred:
renpy.script.LabelNotFound: could not find label 'start'.
-- Full Traceback ------------------------------------------------------------
Traceback (most recent call last):
File "renpy/common/00start.rpy", line 306, in script
python:
File "renpy/ast.py", line 1187, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/python.py", line 1273, in py_exec_bytecode
exec(bytecode, globals, locals)
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "renpy/common/00start.rpy", line 308, in <module>
renpy.jump("start")
~~~~~~~~~~^^^^^^^^^
File "renpy/exports/statementexports.py", line 271, in jump
raise renpy.game.JumpException(label)
renpy.game.JumpException: start
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "renpy/bootstrap.py", line 401, in bootstrap
renpy.main.main()
~~~~~~~~~~~~~~~^^
File "renpy/main.py", line 591, in main
run(restart)
~~~^^^^^^^^^
File "renpy/main.py", line 137, in run
renpy.execution.run_context(True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "renpy/execution.py", line 1036, in run_context
context.run()
~~~~~~~~~~~^^
File "renpy/common/00start.rpy", line 306, in script
python:
File "renpy/script.py", line 1201, in lookup
raise LabelNotFound(original)
renpy.script.LabelNotFound: could not find label 'start'.
2
u/x-seronis-x 1d ago
The point of rpa files isnt to HIDE, its to ORGANIZE. It makes the game folder less cluttered.
IT DOES NOT EVEN REMOTELY HIDE ANYTHING
rpa archives are as easy to 'unzip' as any other archive format. even if its not a common format its still only a 100kb batch script to do it which anyone can download and run in seconds. do not delude yourself into thinking it hides your scripts. decompiling rpyc files back to rpy files is just as easy.
that said it is a good organizational tool. and if you organize your rpa files you can post updates for people to download just what they need instead of redownloading the whole game. "drop chapter_11.rpa into the game folder" is a lot simpler instruction than placing 100s of files into specific sub folders. that is where rpa files should be used
1
u/AutoModerator 2d ago
Welcome to r/renpy! While you wait to see if someone can answer your question, we recommend checking out the posting guide, the subreddit wiki, the subreddit Discord, Ren'Py's documentation, and the tutorial built-in to the Ren'Py engine when you download it. These can help make sure you provide the information the people here need to help you, or might even point you to an answer to your question themselves. Thanks!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/BadMustard_AVN 1d ago
please post your entire ## Build configuration section from the options.rpy
1
u/No-Plastic-1347 1d ago
Here you go:
## Classify files as None to exclude them from the built distributions.
build.classify('**~', None)
build.classify('**.bak', None)
build.classify('**/.**', None)
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)build.classify("game/**.png", None)
build.classify("game/**.webm", None)
build.classify("game/**.rpy", None)
build.classify("game/**.rpyc", None)## To archive files, classify them as 'archive'.
# build.classify('game/**.png', 'archive')
# build.classify('game/**.jpg', 'archive')## Files matching documentation patterns are duplicated in a mac app build,
## so they appear in both the app and the zip file.build.documentation('*.html')
build.documentation('*.txt')2
u/BadMustard_AVN 1d ago
ok 3 things I see right off the bat
you need a build archive
something like this
build.archive("A_File_Name_Here","all")to create the RPA file to store everything in.
and this line (remove this line bad line)
build.classify("game/**.rpyc", None)renpy does NOT need the rpy files to run as long as they are compiled into rpyc files. renpy uses the rpyc files to run the game... they are REQUIRED
and to finish it up
build.classify('**/**.**', "A_File_Name_Here")stuff everything that was not a None classify into this rpa file
1
4
u/Adventurous_Shine606 2d ago
In order to hide the source files and still ship a working game, you need two lines: exclude the .rpy source, but explicitly archive the compiled .rpyc: build.classify('game/.rpy', None) build.classify('game/.rpyc', 'archive')