• Building
  • Ok the development but the exported executables don't work

Hi guys,

I'm trying to develop with Godot 3, I started to create a draft 2D platform game but I have a bit of problems in the Export. Could someone help me, please?

My PC System is probably not the TOP (Intel Core 2 Duo CPU 2.1MHz - 4GB RAM - SO Win10 32 bit - Graphics card: Mobile Intel 4 Series Express Chipset Family WDDM 1.1) and in order to install and start the Godot engine 3.0.6 I had to add the drivers of the Mesa 3D Graphics Library because my graphics drivers don't support OpenGL 3. Thanks to these MESA drivers the coding and testing phases were ok.

Now however, if I export my game (the export process is completed succesfully), I can't play it. I can not in any way: Windows Desktop, HTML5, Android, ... The EXE version crashs after launch without error messages. The HTML5 version at the start I receive "Failed loading file 'index.wasm'" (in Chrome) or "WebGL 2 not available" in Ms Edge. The Android app (apk) doesn't start: "file corrupted". I also tryed with an other PC system (more recent)... but nothing. The same problem. How can I do ?

Thanks everybody in advance

  1. Did you install export templates and if so what versions? Should be specific point version matching with your editor version.
  2. Did you utilize the Mesa driver fix for the exported game too? If not it should need it too (tho you also mentioned testing on a newer system where hopefully it isn't necessary).

Ok, looking at the drive export folder, the .exe and the .pck in it are reported by the google drive ti be 0 bytes. That does seem wrong.

edit: never mind, I was looking at storage used rather than size. Doh.

edit2: Tried launching the exported game and it just popped up a generic godot window and then closed again. Same when trying to launch it from CLI. One thought that comes to my mind is that you might have forgot to set the startup scene perhaps?

Look in Project > Project Settings > Application > Run > Main Scene

Took some time for the drive to zip it up, but downloaded the project folder.

The startup scene was defined. I installed export template and exported with debug on, this is the output when launching the exported executable from console:

E:\Projects\Godot 3.0\Demos\PlatformGame>cd .\Export

E:\Projects\Godot 3.0\Demos\PlatformGame\Export>PlatformGame.exe
OpenGL ES 3.0 Renderer: Radeon (TM) RX 470 Graphics
ERROR: No loader found for resource: res://Sprites/Tiles/DirtAutoTile.png
   At: core/io/resource_loader.cpp:186
ERROR: poll: res://scenes/DirtAutoTile_Node2D.tres:3 - Parse Error: [ext_resourc
e] referenced nonexistent resource at: res://Sprites/Tiles/DirtAutoTile.png
   At: scene/resources/scene_format_text.cpp:439
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: core/io/resource_loader.cpp:149
ERROR: Failed loading resource: res://scenes/DirtAutoTile_Node2D.tres
   At: core/io/resource_loader.cpp:186
ERROR: poll: res://scenes/World_Node2D.tscn:3 - Parse Error: [ext_resource] refe
renced nonexistent resource at: res://scenes/DirtAutoTile_Node2D.tres
   At: scene/resources/scene_format_text.cpp:439
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: core/io/resource_loader.cpp:149
ERROR: Failed loading resource: res://scenes/World_Node2D.tscn
   At: core/io/resource_loader.cpp:186
ERROR: Failed loading scene: res://scenes/World_Node2D.tscn
   At: main/main.cpp:1688
ERROR: ~List: Condition ' _first != __null ' is true.
   At: core/self_list.h:100
ERROR: ~List: Condition ' _first != __null ' is true.
   At: core/self_list.h:100
WARNING: cleanup: ObjectDB Instances still exist!
     At: core/object.cpp:1989
ERROR: clear: Resources Still in use at Exit!
   At: core/resource.cpp:418

E:\Projects\Godot 3.0\Demos\PlatformGame\Export>

As you can read there is a resource res://Sprites/Tiles/DirtAutoTile.png which causes the startup scene to fail from loading. So I wasn't too far off.

Ok, so it's a bug in godot resource loader!

From the above errors you see that godot is searching for res://Sprites/Tiles/DirtAutoTile.png while your asset is res://sprites/Tiles/DirtAutoTile.png. The difference is subtle.

If you navigate to Project > Tools > Orphan Resource Explorer You should be able to see a list of assets and a white circle/point icon next to their right. Clicking on that you can see where the assets are located according to godot and try to reload/fix the paths to anything that's wrong.

OK, I'm ready to make another guess here: You copied folders from one project to another and then renamed the base folders within root folder which had capitalized first letter to have lower case first letters instead and that caused all these problems.

edit: manually went through the whole project and fixed all assets that had the wrong case in the resource path. Once I fixed all of them and re-exported the game guess what? It worked. :smile:

@Megalomaniak said: OK, I'm ready to make another guess here: You copied folders from one project to another and then renamed the base folders within root folder which had capitalized first letter to have lower case first letters instead and that caused all these problems.

edit: manually went through the whole project and fixed all assets that had the wrong case in the resource path. Once I fixed all of them and re-exported the game guess what? It worked. :smile:

Ooooh... Thank you very much, Megalomaniak. I will try as soon as possible to fix the errors you listed above. I thought the problem wasin my graphics card that is needed to be upgraded or changed... even if I installed the MESA drivers to install Godot 3 engine. Now I will try to fix these errors before. I let you know. Tks vm for now

Hi,

finally I fixed all "references sensitive case errors" and I exported again. Now the Windows version works, instead html5 and android version not yet. Launching the HTML5 export file in Chrome: Failed loading file 'index.wasm'; Launching the HTML5 export file in Edge and Opera: WebGL 2 not available; Launching the Android export file in my Zenfone2 smartphone, it crash at loading.

How I can do?

In order to test it on an iPhone, can I procede to export the file and send it to an iOS smartphone or I need before to load the exported file on the Apple Store and ask my friend to download it ?

@ldcGD said: In order to test it on an iPhone, can I procede to export the file and send it to an iOS smartphone or I need before to load the exported file on the Apple Store and ask my friend to download it ?

To test on a iPhone (or any iOS device) you need to compile the project on a Mac computer.

You can generate a XCode project for your game from Windows and Linux using Godot, but it will need to be compiled into a .ipa file (the iOS equivalent of a .apk file from Android) before it can be installed on a iOS device. Unfortunately, this is only doable on a Mac right now.

@TwistedTwigleg said:

@ldcGD said: In order to test it on an iPhone, can I procede to export the file and send it to an iOS smartphone or I need before to load the exported file on the Apple Store and ask my friend to download it ?

To test on a iPhone (or any iOS device) you need to compile the project on a Mac computer.

You can generate a XCode project for your game from Windows and Linux using Godot, but it will need to be compiled into a .ipa file (the iOS equivalent of a .apk file from Android) before it can be installed on a iOS device. Unfortunately, this is only doable on a Mac right now.

tks, I thought Godot was able to generate directly the .ipa file

@ldcGD said:

@TwistedTwigleg said:

@ldcGD said: In order to test it on an iPhone, can I procede to export the file and send it to an iOS smartphone or I need before to load the exported file on the Apple Store and ask my friend to download it ?

To test on a iPhone (or any iOS device) you need to compile the project on a Mac computer.

You can generate a XCode project for your game from Windows and Linux using Godot, but it will need to be compiled into a .ipa file (the iOS equivalent of a .apk file from Android) before it can be installed on a iOS device. Unfortunately, this is only doable on a Mac right now.

tks, I thought Godot was able to generate directly the .ipa file

No problem. Initially it confused me too, as the export dialog shows, or at least it used to, that Godot can directly export a .ipa file when you are choosing the file location on Windows, Linux, and MacOS.

At first I was really excited, but upon exporting I only got a XCode project and further investigation lead to me finding that you can only export a .ipa file directly from Godot on a Mac with XCode command line tools installed.

Maybe someday in the future either Apple will open up development on non Mac machines, or Godot can find a way to work around the requirement.