Godot 4.0 broke web exports without a webpage having certain headers(over my head content), but sites like itch have those things. I believe the explanation was because of having mulit-threaded support in the engine.

I have held off upgrading from 3.5 because my games I publish on my simple github page and that change on 4.0 would not work on my github page.

There was rumor of providing a single threaded web mode in future releases(4.1 was mentioned), but don’t know if this happened. I check release notes every few months but haven’t seen if this change has been made.

Are web exports fixed for godot now?

  • Lil' Bobby Tables@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I’ve managed to get it going in a local Apache server by looking up the issues on Stack Exchange and altering config files. You can mostly blame new browser standards for this, it wasn’t as complicated for Godot 3.

    Python -m http.server just isn’t enough now.

  • Lil' Bobby Tables@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Hey, one more thing. Apparently they got a Python script in the repo that will create a functioning local server for you. it’s linked here.

    So, it seems Python still can start a server! It’s just got a little more to worry about.

  • alghost@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    The way this works is by creating a secure context through a service worker running in the background, which allows Godot to use SharedArrayBuffer to communicate between Threads etc.

    Which means you don’t have to have the headers if you can’t configure them for your hoster (although if you can that’s still preferable as there is probably some JS overhead at least when loading the page with this).

    • alghost@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      The way this works is by creating a secure context through a service worker running in the background, which allows Godot to use SharedArrayBuffer to communicate between Threads etc.

      Which means you don’t have to have the headers if you can’t configure them for your hoster (although if you can that’s still preferable as there is probably some JS overhead at least when loading the page with this).

  • Lil' Bobby Tables@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    As an addendum, for those who know that they’re going to export their game to a Godot-ready server, but want to test locally, I suggest the “Remote Debug” button right next to the stop button, after exporting. It looks like a computer monitor but all Apple-logo’d up, if you know what I mean. One of the options is “Run in Browser”, which works pretty consistently; after running it once, it apparently keeps a local HTTP server up and running too, as the “Stop HTTP Server” option appears.

    I don’t honestly know exactly what it’s doing differently yet, but this is a great way to test out browser performance for a game before going live with it.