Cocoa Moss returns for LD50
I'll be joining forces with @xellaya once again for LD50, entering the Jam division (no extra mode for us, I have a trip coming up after LD).
As usual, I'll be using Godot along with my godot template project, which also includes my common library code. I'm declaring these for the sake of rule compliance, but I wouldn't really expect anyone else to get much use out of them.
A few updates on the state of Godot for any fellow devs who are using the engine:
Godot 3.4.4 was released just last week and appears to be working just fine for the most part.
In 3.4 there have been some additional settings added with regards to frame deltas which you may wish to look into if you're interested in making movement/visual updates look smoother.
Unfortunately, there's not been any updates on cross-origin headers required for SharedArrayBuffer support on itch.io (see various threads like this one), so if you plan to publish on itch, you must use a Regular (not Threaded) HTML5 build. The main downside here is performance with regards to audio playback, so attempting to use lower audio latencies will result in buffer underruns (crackling, stuttering) depending on browser.
If you are self-hosting, you have the option of using a Threaded build instead assuming you've got the appropriate headers configured, which will allow you to lower the audio latency settings. If you are deploying on both, like me, you either need to make two separate builds, or suck it up and use a non-threaded build. =(
For reference, the default web audio latency is still set as 50 in godot's project settings, which is...relatively high, though not terrible. Action-oriented games and UI feedback sounds will most likely feel a bit delayed, or at least less "snappy".
The good news is that Godot 3.4 includes an improvement to the current single-threaded behavior by using a new AudioWorklet implementation, so you can potentially use a slightly lower latency with a single-threaded build and still be ok. I don't think this is a magic bullet; from my testing a latency of 15 still resulted in audio artifacts, so you probably can't be too aggressive with it.
I don't have any particular goals in mind for LD50. I've been thinking about approaches for top-down/RPG-style tileset design, as well as musical styles that might work well with my partner's work. I've been utilizing a lot more reverb lately along with some more acoustic instruments (soft piano, guitar, etc) for my "chillhop"-type experiments so that may be something that I lean into. But everything's up in the air until we hear the theme and get an idea for a game.
See you all at the starting line!
Edit: I've just seen now that there is an experimental flag on the itch.io game settings page that allows you to enabled SharedArrayBuffer support -- huzzah!
Edit #2: Ah, I've spoken too soon. It looks like in order to maintain the functionality of the site, itch has opted to use the credentialless option instead of require-corp for COEP, which unfortunately will only work for Chrome. So I suppose non-threaded builds are still what you want for itch.io.