Ren'Py build.classify rules for dynamically loaded assets that vanish in production builds
0 reputation · 19 Sept 2024, 16:13 UTC
0 reputation · 19 Sept 2024, 16:13 UTC
I am setting up the build.classify() rules in options.rpy for a Ren'Py 8.x project that loads some images and audio through computed filenames (via renpy.file() and string-built paths) rather than static image statements. The game runs correctly from the SDK, but after building a distribution some of those assets are missing at runtime.
My understanding is that files not matched by any classify pattern are silently excluded from the .rpa archives, and that static analysis does not see dynamically constructed names. I also develop on a case-insensitive filesystem, while the deployed targets (Linux, Android) are case-sensitive, so a path like Images/bg.png versus images/bg.png may work locally and fail after packaging.
The unresolved decision is how to make the build fail loudly instead of shipping silently broken: Ren'Py does not appear to warn at build time about unclassified-but-referenced files or case mismatches.
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.