You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reproducible in v4.2.1.stable.official.b09f793f5 (December 2023)
Not reproducible in v4.0.3.stable.official.5222a99f5 (May 2023)
Was a problem for 12+ months already some time before May 2023, most likely before 4.0 stable release.
System information
Arch Linux, KDE 5, Radeon RX6800XT, X11
Issue description
Testing my game from the editor works fine. But after exporting a game build from a template, the build throws errors about missing stuff and boots the game to a gray screen, with almost nothing working.
Swapping the engine runtime for the Godot editor doesn't make a change.
The only way to make a playable release of the game is to package all the game files together with the Godot runtime and distributing that - which is what I was doing for (I think) at least a year when a similar problem was present in Godot game exports.
It seems like the problem is strictly with the generated .pck or .zip file (I tested both).
This is the last game build I made that didn't have this problem:
You can download it here: https://libla.st/downloads/Liblast_dev.zip (it might be replaced in the future with a newer version so check the modification dates inside of the ZIP file).
I unfortunately can't test the exact same project in an older version of Godot, but the older versions of the game can be accessed from Liblast's git repository on Codeberg:
So presumably if you clone and checkout the main branch at a commit from circa May 2023 it should build fine in Godot 4.0.3 stable. I didn't test this yet - anybody is welcome to try! Just remember to clone the repository - not download ZIP - Git LFS-stored files are essential for the game to work and will not be included in a source code archive download, making it a red herring. I wish I could disable that option...
I think this must be a regression at least in some degree, At first I thought maybe it's a bug in the feature to export only selected resources, but after switching to exporting everything the game build still fails in the same way.
Here's complete console output as I run the game, open it's internal console (the only feature of the game that works) and stop the game from there:
❯ ./Liblast.x86_64
Godot Engine v4.2.1.stable.official.b09f793f5 - https://godotengine.org
Vulkan API 1.3.255 - Forward+ - Using Vulkan Device #0: AMD - AMD Radeon RX 6800 XT (RADV NAVI21)
ERROR: No loader found for resource: (expected type: CompressedTexture2D)
at: _load (core/io/resource_loader.cpp:282)
ERROR: Failed loading resource: res://Assets/Characters/CharacterHeavy_ID_Mask_Processed.png. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:274)
ERROR: Can't load dependency: res://Assets/Characters/CharacterHeavy_ID_Mask_Processed.png.
at: parse_variant (core/io/resource_format_binary.cpp:459)
ERROR: Failed loading resource: res://.godot/exported/133200997/export-f77c830eaf23cebf5c54d514cb2310e1-CharacterBodyShader.res. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:274)
ERROR: No loader found for resource: (expected type: CompressedTexture2D)
at: _load (core/io/resource_loader.cpp:282)
ERROR: Failed loading resource: res://Assets/Characters/CharacterHeavy_ID_Mask_Processed.png. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:274)
ERROR: Can't load dependency: res://Assets/Shaders/Characters/CharacterBodyShader.tres.
at: parse_variant (core/io/resource_format_binary.cpp:459)
ERROR: Failed loading resource: res://.godot/exported/133200997/export-fccab72fc104c99a9db8ddc636649342-CharacterBody.res. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:274)
ERROR: Can't load dependency: res://Assets/Materials/Characters/CharacterBody.tres.
at: parse_variant (core/io/resource_format_binary.cpp:459)
ERROR: Error when trying to parse Variant.
at: parse_variant (core/io/resource_format_binary.cpp:503)
ERROR: Error when trying to parse Variant.
at: parse_variant (core/io/resource_format_binary.cpp:490)
ERROR: Failed loading resource: res://.godot/exported/133200997/export-acf2a845315cc13706608f268e070e12-Character.scn. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:274)
Log file name: 2023-12-18_231655.log
· 2023-12-18 23:16:55 658 | Liblast log start
WARNING: UPnP didn't find a Gateway
at: push_warning (core/variant/variant_utility.cpp:1111)
ERROR: Failed to instantiate scene state of "res://Assets/Characters/Character.tscn", node count is 0. Make sure the PackedScene resource is valid.
at: instantiate (scene/resources/packed_scene.cpp:141)
ERROR: Failed to load scene dependency: "res://Assets/Characters/Character.tscn". Make sure the required scene is valid.
at: instantiate (scene/resources/packed_scene.cpp:222)
ERROR: Failed to load scene dependency: "res://Assets/Menu/CharacterProfilePreview.tscn". Make sure the required scene is valid.
at: instantiate (scene/resources/packed_scene.cpp:222)
ERROR: Failed to load scene dependency: "res://Assets/Menu/UserProfileMenu.tscn". Make sure the required scene is valid.
at: instantiate (scene/resources/packed_scene.cpp:222)
ERROR: Failed to load scene dependency: "res://Assets/Menu/MainMenu.tscn". Make sure the required scene is valid.
at: instantiate (scene/resources/packed_scene.cpp:222)
ERROR: Parameter "p_child" is null.
at: add_child (scene/main/node.cpp:1409)
· 2023-12-18 23:17:25 31246 | console command: quit
· 2023-12-18 23:17:25 31253 | Liblast log finish
· 2023-12-18 23:17:25 31253 | stopping server
Cleaning up game state
· 2023-12-18 23:17:25 31253 | cleaning up game state
WARNING: Trying to free a non-existing GameState
at: push_warning (core/variant/variant_utility.cpp:1111)
ERROR: 1 RID allocations of type 'P11GodotBody3D' were leaked at exit.
ERROR: 13 RID allocations of type 'P12GodotShape3D' were leaked at exit.
ERROR: Pages in use exist at exit in PagedAllocator: N33RendererSceneRenderImplementation22RenderForwardClustered32GeometryInstanceForwardClusteredE
at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: 17 shaders of type SceneForwardClusteredShaderRD were never freed
at: ~ShaderRD (servers/rendering/renderer_rd/shader_rd.cpp:841)
ERROR: 2 RID allocations of type 'N10RendererRD5SkyRD3SkyE' were leaked at exit.
ERROR: 2 RID allocations of type 'N26RendererEnvironmentStorage11EnvironmentE' were leaked at exit.
ERROR: 2 shaders of type CanvasShaderRD were never freed
at: ~ShaderRD (servers/rendering/renderer_rd/shader_rd.cpp:841)
ERROR: 4 shaders of type ParticlesShaderRD were never freed
at: ~ShaderRD (servers/rendering/renderer_rd/shader_rd.cpp:841)
ERROR: 15 RID allocations of type 'N10RendererRD12LightStorage11ShadowAtlasE' were leaked at exit.
ERROR: 1 RID allocations of type 'N10RendererRD12LightStorage23ReflectionProbeInstanceE' were leaked at exit.
ERROR: 2 RID allocations of type 'N10RendererRD12LightStorage15ReflectionAtlasE' were leaked at exit.
ERROR: 1 RID allocations of type 'N10RendererRD12LightStorage15ReflectionProbeE' were leaked at exit.
ERROR: 1 RID allocations of type 'N10RendererRD12LightStorage13LightInstanceE' were leaked at exit.
ERROR: 1 RID allocations of type 'N10RendererRD12LightStorage5LightE' were leaked at exit.
ERROR: 24 RID allocations of type 'N10RendererRD11MeshStorage4MeshE' were leaked at exit.
ERROR: 39 RID allocations of type 'N10RendererRD15MaterialStorage8MaterialE' were leaked at exit.
ERROR: 23 RID allocations of type 'N10RendererRD15MaterialStorage6ShaderE' were leaked at exit.
ERROR: 13 RID allocations of type 'N10RendererRD14TextureStorage12RenderTargetE' were leaked at exit.
ERROR: 123 RID allocations of type 'N10RendererRD14TextureStorage7TextureE' were leaked at exit.
ERROR: 180 RID allocations of type 'N18RendererCanvasCull4ItemE' were leaked at exit.
ERROR: 13 RID allocations of type 'N18RendererCanvasCull6CanvasE' were leaked at exit.
ERROR: 13 RID allocations of type 'N16RendererViewport8ViewportE' were leaked at exit.
ERROR: 3 RID allocations of type 'N17RendererSceneCull8InstanceE' were leaked at exit.
fish: Job 1, './Liblast.x86_64' terminated by signal SIGSEGV (Address boundary error)
AThousandShips
changed the title
Game build crashes due to missing resources while in-editor it runs fine
Exported game crashes due to missing resources while in-editor it runs fine
Dec 19, 2023
Thanks! I am not sure if I ever touched that, but this project has a long history with Godot 4, so it's entirely possible that defaults changed and things got shifted around. I'll try to set that to defaults and see if that has any effect,.
Oh dear, this is the case. Enabling BPTC fixed this.
I think Godot needs make it much harder for the user to completely screw themselves up here.
If it's a known requirement, maybe disable the control for BPTC in the "enabled" state when S3TC is on or something... show a warning sign nearby like in the node tree explorer...
Tested versions
v4.2.1.stable.official.b09f793f5
(December 2023)v4.0.3.stable.official.5222a99f5
(May 2023)System information
Arch Linux, KDE 5, Radeon RX6800XT, X11
Issue description
Testing my game from the editor works fine. But after exporting a game build from a template, the build throws errors about missing stuff and boots the game to a gray screen, with almost nothing working.
Swapping the engine runtime for the Godot editor doesn't make a change.
The only way to make a playable release of the game is to package all the game files together with the Godot runtime and distributing that - which is what I was doing for (I think) at least a year when a similar problem was present in Godot game exports.
It seems like the problem is strictly with the generated
.pck
or.zip
file (I tested both).This is the last game build I made that didn't have this problem:
You can download it here: https://libla.st/downloads/Liblast_dev.zip (it might be replaced in the future with a newer version so check the modification dates inside of the ZIP file).
I unfortunately can't test the exact same project in an older version of Godot, but the older versions of the game can be accessed from Liblast's git repository on Codeberg:
http://code.libla.st
So presumably if you clone and checkout the
main
branch at a commit from circa May 2023 it should build fine in Godot 4.0.3 stable. I didn't test this yet - anybody is welcome to try! Just remember to clone the repository - not download ZIP - Git LFS-stored files are essential for the game to work and will not be included in a source code archive download, making it a red herring. I wish I could disable that option...I think this must be a regression at least in some degree, At first I thought maybe it's a bug in the feature to export only selected resources, but after switching to exporting everything the game build still fails in the same way.
Here's complete console output as I run the game, open it's internal console (the only feature of the game that works) and stop the game from there:
Steps to reproduce
You can follow the paragraph in our README: https://codeberg.org/liblast/liblast#_how_to_edit_the_game , or (if you're on Linux) just execute this:
Liblast/Game/project.godot
using Godot 4.2.1.Minimal reproduction project (MRP)
🤷♂️
The text was updated successfully, but these errors were encountered: