Hello,
Recently, GDevelop updated to support Spine 4.2 with physical bones. To reduce resource overhead and avoid exporting frame-by-frame PNG sequences, I’ve decided to build my game using Spine.
While integrating Spine into my game, I noticed that when the width or height of the exported atlas image exceeds a certain value, it renders completely black in GDevelop. Initially, I thought that the Max Width and Height values of the page were different for each individual Spine file.
After conducting several tests, I learned that the general hardware Max Texture Size limit is 16384 for PC, and 2048 or 4096 for mobile devices. To verify this, I conducted a test with one of my projects (Project A) by adjusting the Texture Packer’s Max Width/Height settings:
-
Test A.1: Set the packer max size constraint to 18348. The actual output texture size resulted in 18248 * 4684 (40.3 MB).
-
Test A.2: Set the packer max size constraint to 18347 as well, but due to a different layout, the actual output texture size resulted in 9028 * 9339 (36.5 MB).
When testing these in the game engine:
-
On PC, A.1 was invisible (black screen), while A.2 displayed perfectly fine.
-
On Mobile, both A.1 and A.2 turned completely black.
Based on these results, my hypothesis is that regardless of how high you set the “Max Width/Height” sliders in the Spine Texture Packer, as long as the actual dimensions of the final generated image file do not exceed 16384, it will work on PC. Is my understanding correct?
I would love to know:
-
Does this exact same texture size limitation and black screen phenomenon occur in Unity or other major game engines as well?
-
When shipping a commercial game targetting a wide range of devices with vastly different specs, what is the industry-standard criteria/best practice for setting the max atlas texture size?
Additionally, as a non-native English speaker, I noticed that when I open the exported Spine JSON file, my attachment and slot names are written in my native language (not English). Will international players face any technical issues (like missing language packs or encoding crashes) when running the game on their local devices?
Thank you in advance for your help!
