Safari users cannot play my HTML5 game.

DrillurDrillur Posts: 11Member

Most times, the error they get is Cannot read property 'getParameter' of undefined on non-Chrome browsers, but I've also seen undefined is not an object (evaluating 'GLctx.getParameter') from Safari--actually, now that I've put them side-by-side, they look like the same error.

Is this something I can fix, or would it call for some serious technical know-how?

Tags :


  • TwistedTwiglegTwistedTwigleg Posts: 2,846Admin

    Seems a lot like the issue reported on this thread for Knight's Path.

    Did you export the project with OpenGL 3 or OpenGL 2? The issue might be that Safari doesn't support WebGL 2, or is having issues with Godot and WebGL 2. Exporting to OpenGL 2 might work, since it uses WebGL 1, which has better browser support. Looking online, it appears Safari does not have WebGL 2 support by default, and when enabled it fails the majority of test cases.

    I would try exporting the project using OpenGL 2 and see if that fixes the issue.
    ( @Aeternuxolus - Did changing to OpenGL 2 fix the issue with the web build of Knight's Path? )

  • DrillurDrillur Posts: 11Member

    I didn't see any option to pick a renderer when exporting to HTML5. I'll look around!

  • TwistedTwiglegTwistedTwigleg Posts: 2,846Admin

    You can pick the renderer in the Godot editor, which will change the renderer for the entire Godot project. You can find it on the top right corner of the Godot editor window:

    Make a backup before changing the renderer, just in case! Once you have changed the renderer, exporting to HTML should use OpenGL 2.

  • MegalomaniakMegalomaniak Posts: 2,763Admin
    edited August 2019

    Don't forget to check project settings too.

  • DrillurDrillur Posts: 11Member
    edited August 2019

    Whoa!!! Thanks a lot. I'm hopeful for it also improving FPS, but only a little hopeful. You've all been great, thanks!

    Forgot to say that I haven't checked if it works, yet. I was a little eager.

  • DrillurDrillur Posts: 11Member
    edited August 2019

    I have not been alerted to the original error since I changed the renderer to GLES2, but now iPhone users are getting this and are unable to play the game. I don't think it's, but I don't know.

    abort(114). Build with - s ASSERTIONS=1 for more info.

  • MegalomaniakMegalomaniak Posts: 2,763Admin
    edited August 2019

    Might hold potential solutions:

    for the abort 114 specifically make sure your players are allowing third-party cookies.

  • TwistedTwiglegTwistedTwigleg Posts: 2,846Admin

    I noticed I'm getting the same issue on one of my OpenGL 2 games I made for a game jam on Safari. Turning on third-party cookies, which is done through disabling prevent cross-site tracking on the Safari tabs in settings, seems to have fixed the issue. Now the jam game loads after a few seconds, and I can see the title screen.

    I think enabling third-party cookies should fix the issue.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file