Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Technical issues you ran into while developing

A topic by mangis created Dec 04, 2021 Views: 291 Replies: 10
Viewing posts 1 to 8
Submitted (1 edit) (+1)

It would be interesting to hear about surprising technical issues that you ran into and maybe solved while developing and publishing.

My experience has been that Godot tends to be unpredictable once you start to publish on multiple platforms, but I'm not sure how to prepare for such surprises.


These are some of my issues that caused some grey hairs around this jam:

MacOS export doesn't seem to be possible from Windows, but the error message is a cryptic "Invalid bundle identifier: Bundle is missing"


HTML5-export does not display 3D-graphics correctly in MacOS, even in Chrome. I used GLES2, but rendering in MacOS is strangely selective. Some models render properly and some not at all.


Non-debug native export results in a grey screen with no indication of what went wrong. Debug-enabled version works fine.

I read this might have something to do with using typed GDScript. But does this mean types should just be avoided or is there a workflow for debugging such issues?

Submitted

When we export to HTML5 and clicked the option something along the lines of "export entire directory" the tile map resources has a 90 chance of getting excluded... So sometimes exporting feels like a russian roulette before we manually selected each file to export. xD

Submitted

Signaling between instances never seemed to work for me. But I'm wondering if it's just another counter intuitive thing I'm missing. Just like when a person adds a child instance (spawn) in their code, they also have to add that instance within parameters of the node inspector. 

Submitted

Signaling between instances that don't belong to your tree shouldn't really work properly.

When you instance a scene then you must add it to the tree with add_child(variable_with_instance)

Maybe that is the source of the problem? If you upload a project with the problem I could take a look and help you understand it.

Submitted

Damn I never had an issue with signals, but this was not clear in the documentation.  I have a C# background and I've been kinda treating signals  like events.  I guess it was a coincidence I didn't have any issues with them, then again there were a bunch of bugs in my project and I used signals a lot so maybe this was the issue with some of those bugs. 

Submitted (2 edits)

Yeah, Mac export support on non-Mac platforms has been "challenging" in Godot off-and-on for multiple versions.

Primarily it tends to result from a combination of few/none of core developers using Macs (so code is tested less often) and that Apple uses/prioritizes a bunch of different technologies and isn't particularly interested in supporting cross-platform development environments.

With regard to `Invalid bundle identifier: Bundle is missing` message, did you specify an "Identifier" in the export dialog? (Looks like something like `com.example.gamename`. )

Edit #1: Another issue that talks about a related issue due to M1 Mac support: https://github.com/godotengine/godot/issues/51007

Edit #2: More information about some of the issues involved & potential workarounds/fixes are in this thread, particularly from the linked comment onward: https://github.com/godotengine/godot/issues/48076#issuecomment-824955659 This comment has links to in-progress Pull Requests with an attempt for proper fix: https://github.com/godotengine/godot/issues/48076#issuecomment-898283111

Submitted(+1)

Thanks for the info, very useful to know! You're right - I hadn't filled out the identifier. Those things are easy to miss during a final export rush I suppose.

Submitted

Ive had a few, some my fault some engine bugs.

The 3.4 version of godot failed to export HTML correctly. The sound was choppy and the keyboard events were dropped after losing focus. Even after clicking back on the game. The solution for me was to use 3.3.4, which worked perfectly.

Some of nodes used a particle2D process material. Changing the speed of the particles in one instance of this node affected all the others. To be precise, the last process function that was executed affected all the others. The solution was to make the resource local to the scene. I have seen this button many times but didnt understand it up until I ran into this issue. Also the same for some collision shapes.

Other than these it was pretty straightforward.

Submitted(+1)

I'm an amateur when it comes to scripting and my push blocks are non-functional if they get anywhere near each other. I did not design them in an expandable way. so every level with more than one is set up in a way so that they can never get near each other. I do have a solution now, but didn't implement it in time. That does mean I can make some level ideas involving multiple blocks close together.

Submitted (2 edits) (+1)

I found the reason for my game freezing when exporting without debug: I used assert() when connecting signals.

Apparently assert() only works in debug mode and fails silently when exporting without debug.

Officially assert lines are supposed to be completely ignored, including any statement that's inside the assert. In this case, the game just froze even though it supposedly should have loaded the main-scene and run without signal connections established.

Submitted(+1)

We designed a nice-looking parallax background only to find that we couldn't get the ParallaxBackground node to work properly. When asking around the community for help, there seemed to be a general consensus that this node is confusingly designed.