Hey! I just realised your game is named Abe’something (the ’something is silent, I guess) too! :)
I wasn’t daring enough for a three letter game name! :D
Thanks for playing my game & taking the time to leave your positive feedback! :)
Yeah, I quite like 2.5D as way to slowly upskill on the 3D side of things–actually modelled some stuff in Blender this time, instead of just doing it all in Godot!
I’m still hanging out to start work on 3.5D games… if only I could find the time… :D
Adding a timer to add replay value to my short games is a jam hack I picked up somewhere along the line, so I’m glad it actually worked! :D
Thanks again for playing the game & leaving your feedback on this page & on the game page.
Imagine how much replay value my games could have with two timers! :o
Maybe next jam I should go all in on game-play timers and no lore? :D
Thanks again for your bug report–as a result of following up about your report, itch has apparently rolled out a workaround so Godot games should work with Firefox again pending a more permanent solution.
So, your report helped a bunch of game devs have people play their games again & not have to figure out why it suddenly wasn’t working! :)
Thanks for using Firefox too! :)
Turns out there’s also a pre-existing itch.io issue too:
This appears to be a related bug on the Godot issue tracker:
“SharedArrayBuffer does not work with Firefox on Android anymore #86988”: https://github.com/godotengine/godot/issues/86988
“A few days ago [issue created 9 Jan 2024] my Godot game stopped working on Itch.IO when opened from a Firefox Android app. […]”
From other comments on the issue it seems like it might be Release and Beta versions default to an error on expiry.
Hi,
Thanks for your interest in my game & taking the time to let me know about the Godot error you encountered.
Can you please confirm what browser and version (was it Firefox?) you tried to use to play the game and/or if it’s a “release” rather than “development”/“nightly”/etc version?
If you’re interested in more details about the issue (which is at this time, not yet fixed), please see my reply here: https://rancidbacon.itch.io/abe-ation#post-9707603
Thanks again for your time! :)
Update on my earlier reply:
Can you please confirm what version of Firefox you tried to use to play the game and/or if it’s a “release” rather than “development”/“nightly”/etc version?
After some investigation I think the error may be related to the itch.io “Origin Trial” token having expired but due to an Firefox implementation detail this may only stop release versions from working (thus why I hadn’t encountered the issue as I was using a Firefox development build).
Thanks again for your feedback.
[I’ve alerted itch.io to the possible issue here: https://itch.io/t/2025776/experimental-sharedarraybuffer-support#post-9707481]
TL;DR: The token in the (“COEP: Credentialless”/CoepCredentialless
feature) origin-trial
header of itch.io appears to have expired at the end of 2023 and (presumably) needs to be regenerated.
Supposition: An expired origin-trial
token appears to only impact release Firefox versions not development Firefox versions (presumably due to a different default/fall-back value).
Hi Leaf,
I recently had reports of my Godot 4 game web/html export (which uses SharedArrayBuffer
–and has the experimental SharedArrayBuffer
itch.io option enabled) failing to run in Firefox–which was somewhat surprising because Firefox was the only browser I’d tested it with. :)
While investigating possible causes, I happened to base64 decode the transmitted token & realised the expiry
field had a value of 1704063600
which equates to 2023-12-31T23+00:00
(UTC).
Based on my current (limited) understanding of the related preference & checking code I think an expired token only impacts release Firefox versions (and I only developed/tested with an (older) development version).
The original bug report on my game:
More details from my investigation than you or almost anyone else is likely to ever want can be found in my follow-up comment: :D
Apologies for not being able to 100% confirm the exact mechanism by which the failure occurs at this time but I wanted to alert you to the potential issue before I lost my “flow” momentum or disappeared down a different rabbit hole. :/ (Especially, as I’m aware that configuration of the whole SharedArrayBuffer
feature in browsers these days is quite opaque & there’s many intersecting pieces that need to fit together for it to work correctly.)
Also, apologies in advance if I fail to get back to you on this topic, I will try to do so though, so let me know if any further details are helpful.
Thanks for all your work on itch.io, I really appreciate it. :)
Edit: Added specific mention that this relates to the Origin Trial for the CoepCredentialless
feature for clarity and search juice.
TL;DR: I think the token in the origin-trial
header from itch.io expired at the end of last year. But I think this only affects release Firefox versions not development Firefox versions (due to a different default/fallback value).
[Current comment status: Work in Progress–currently being updated (unless 2+ hours has elapsed in which case I’m probably lost down a rabbit hole, never to return. :D )]
Additional Debugging Info request
In addition to the version/configuration debug info already mentioned in my previous comment, any or all of the following may also be useful, if anyone feels inclined to provide it:
If you’re comfortable with entering text into the browser console:
window.crossOriginIsolated
when entered into the browser console?If you’re comfortable with viewing the about:config
information, what are the values of:
dom.origin-trials.coep-credentialless.state
dom.origin-trials.enabled
dom.origin-trials
config items other than test-key
/test-trial
?browser.tabs.remote.coep.credentialless
[Edit: Added.]If you’re comfortable viewing HTTP request/response headers:
https://rancidbacon.itch.io/abe-ation
):
Cross-Origin-Embedder-Policy
Cross-Origin-Opener-Policy
Content-Security-Policy
origin-trial
header?Thanks for any of this additional information anyone provides. :)
Related links/issues/information
[NOTE: Any questions in this section are rhetorical/aimed at me, not expecting anyone else to answer them. :) ]
Post from leafo
(itch.io admin/dev/owner) that states itch.io is now part of the Firefox “origin trial” for Cross-Origin-Embedder-Policy: credentialless
: https://itch.io/t/2025776/experimental-sharedarraybuffer-support#post-7294977 (a.k.a. https://itch.io/post/7294977).
(Note: The thread is linked via a link from the Godot/Cross-Origin-Isolation/SharedArrayBuffer itch.io blog post by “Aunt Stef” linked by Cyborg
in their comment above.)
Very small amount of documentation about Mozilla/Firefox’s “Origin Trial” implementation: https://wiki.mozilla.org/Origin_Trials
I haven’t seen it stated specifically anywhere but I think the implication is that Firefox “Origin Trials” are enabled for release/stable Firefox versions? (i.e. not just development/nightly/beta/etc releases.)
I haven’t verified this is actually a correct assumption and I haven’t tested a release/stable version during development.
Bugzilla #1778492 link for “Add an origin trial for COEP: Credentialless”: https://bugzilla.mozilla.org/show_bug.cgi?id=1778492
The status status-firefox104
on this comment seems to suggest the Origin Trial does exist in Firefox stable release v104 (onward?): https://bugzilla.mozilla.org/show_bug.cgi?id=1778492#c11
This comment on an issue entitled “Request for position: COEP: credentialless #539” also seems to confirm that the related Origin Trial is enabled for “Firefox 104”: https://github.com/mozilla/standards-positions/issues/539#issuecomment-1224320026
Code linked from Bugzilla #1778492: https://hg.mozilla.org/releases/mozilla-beta/rev/020a34d50aa9
But does this line mean it’s not actually enabled in non-nightly builds: https://hg.mozilla.org/releases/mozilla-beta/rev/020a34d50aa9#l22.10? (Or is this preference ignored elsewhere in the code?)
This later commit that removes a different origin trial seems to change the OriginTrial
enum value for CoepCredentialless
from 3
to 2
: https://hg.mozilla.org/releases/mozilla-beta/rev/5f190f08ccd8d79050da827a7addf82c1dcd04f1#l4.13
Is this change of the actual enum value intentional/legitimate/valid/sound? (Especially in a file with ffi
in its path!?)
Is the associated numeric value for the constant stored/used somewhere in such a way that an earlier browser version stores the value as 3
but then a later version expects the value to be 2
or some other unintended behaviour variant?
e.g. what about uses of OriginTrial::CoepCredentialless
such as: https://hg.mozilla.org/releases/mozilla-beta/rev/020a34d50aa9#l14.12 & https://hg.mozilla.org/releases/mozilla-beta/rev/020a34d50aa9#l16.22?
Oooooh…
Well, changing the enum value still seems inadvisable but…
While investigating whether the (base64 decoded) token in the header contains the raw numeric value of the “feature” (it appears it doesn’t–the token seems to contain the string value of the feature), I noticed the presence of the expiry
field, and…
The current (as of ~2024-April-10) token in the origin-trial
header for itch.io seems to contain an expiry value of…
"expiry":1704063600
Which equates to…
2023-12-31T23+00:00
(UTC)i.e. It seems the itch.io token has expired!?
So… I guess perhaps Firefox stable release versions & development versions handle expired tokens in a different manner?
Initially I checked this via interactive Python session but a hacky CLI approach (assuming you have the dependencies) is:
curl --silent --head https://rancidbacon.itch.io/abe-ation | grep -e 'origin-trial' | grep --only-matching -e '[^ :]*$' | base64 --decode --ignore-garbage | xxd -c 32
expiry
value into this: date --iso-8601=hours --utc --date='@1704063600'
And, indeed, it appears that the “expiry” value is checked before the “feature” value: https://hg.mozilla.org/releases/mozilla-beta/annotate/5f190f08ccd8d79050da827a7addf82c1dcd04f1/dom/origin-trials/ffi/lib.rs#l111
Relevant code that calls:
origin_trials_parse_and_validate_token
: https://sourcegraph.com/github.com/mozilla/gecko-dev@1d3639a9d7fb0429757651a5fd1720a6b69a0484/-/blob/dom/origin-trials/OriginTrials.cpp?L187-192
Then the result from UpdateFromToken
is checked here: https://sourcegraph.com/github.com/mozilla/gecko-dev@1d3639a9d7fb0429757651a5fd1720a6b69a0484/-/blob/dom/base/Document.cpp?L6855-6856 and/or here: https://sourcegraph.com/github.com/mozilla/gecko-dev@1d3639a9d7fb0429757651a5fd1720a6b69a0484/-/blob/netwerk/protocol/http/HttpBaseChannel.cpp?L6193-6195
Which I’m currently guessing is where the default/fallback value differs between development & release versions. (Unconfirmed.)
[TODO: Add other notes here?]
Update: Please see my more recent reply, here: https://rancidbacon.itch.io/abe-ation#post-9707603
Thanks for trying out the game & letting me know about the launching issue you encountered.
I actually used Firefox for game development/testing, so I’m guessing there’s a version related issue at play somewhere.
Possible Workaround
Previously it was possible to “workaround” the issue by right-clicking the embedding frame that is displaying the error message and choosing “Open this frame in new tab/window…” or similarly named option. This may still work.
Debugging Help Request
If you’re feeling inclined to assist further :) with debugging/diagnosing this issue further it would be helpful to know the following information about your configuration:
And, for bonus points:
More details
[On the itch.io side I do have the experimental SharedArrayBuffer
support enabled but I’m aware there’s some other nuances around the credentialless
header which seems to depend on at least some combo of FF browser version + a 3rd party library version + Godot 4 export version. :/ ]
I’ll reply to this reply with some additional details/links (primarily so I can remind myself what I discovered while researching this again :) ) and some additional bonus bonus point configuration information items if your debugging largess knows no bounds. :D
Thanks again for your time & feedback. :)
Edits: Changed order of paragraphs to hopefully have the more useful info “above the fold”. Added some “headings”. Other minor edits. Added “Update” note.
A couple of things, in addition to the suggestion by weekend
:
The English translation of the error message “Error al analizar el archivo” appears to be “Error while parsing file” (via). A search for the error message in English may be helpful.
Note that Godot 4.3 is currently an “unreleased”/non-“stable”/“development” version that doesn’t guarantee compatibility between releases & may contain more errors than a stable Godot release.
I’d suggest looking to see if any of the “release notes” for recent 4.3dev releases mention changes in audio functionality.
Additionally, see if someone has created an issue for the error here: https://github.com/godotengine/godot/issues/
For the future:
Hope you manage to recover from this okay!
Note that with jams on itch.io you can both submit early (i.e. multiple days before the deadline) and update your submission up until the jam deadline.
My recommendation (particularly for browser-based games) is to:
The two week jam time frame makes the dynamics a bit different to a 48 hour jam but, you know, last 48 hours of two weeks is still only 48 hours… :D
(Note that it seems that for this jam, games submitted before the deadline are visible to everyone once submitted, so, you can just put a “Work In Progress” disclaimer on the game page if that’s of concern to you.)
Also, (an admittedly niche :D ) Pro-Tip: if you’re saving to a data cassette make sure you’ve advanced past the non-recordable plastic leader before starting the save… :O
If you state the name/URL of the engine you are using, someone may be able to suggest how you can do so, if it’s possible.
Also, note that–as I understand it–the intention for this jam is that you will need to upload:
In the interests of clarity, note also that:
Edit: The replies in this thread might also be informative: https://itch.io/post/9443843
I’m not sure what you’re on about
FWIW, TL;DR: The jam countdown was longer than 48 hours (went from “2023-07-21 10:00:00 UTC” to “2023-07-23 15:00:00 UTC”), i.e. 53 hours.
I assumed the duration being longer than 48 hours was intentional and thus confused the jam with a different jam which does have a longer duration intentionally for the reasons originally described.
Thanks for running the jam, the assets & your other contributions to the community. :)
Thanks for trying out the game and taking the time to write some constructive feedback. :)
You are very correct that I needed to incorporate more instructions. I kinda ran out of steam post jam to have the energy to add instructions/context to the game page–especially since (as tends to happen) the game didn’t quite get to the state I’d have liked before submission.
A couple of days ago I added some more instructions & back-story to the page in the (unlikely :D ) event that anyone visits the page post-jam.
The overall goal was an ongoing idle/clicker/simulation scenario with ability to gain buffs etc & purchase items with different stats etc but TVs were the only thing that got wired up. :)
Thanks again for trying it out!
It should but I am curious about the specifics because I’m in NZ & and when I first viewed the countdown about 30 minutes after the theme announcement the value was something like “2 days 4 hours”.
And I have encountered/observed time-zone/countdown-related oddities on other occasions.
Oh, actually, looking again, I see “Submissions open from July 21st 2023 at 10:00 PM to July 24th 2023 at 3:00 AM” which is clearly more than 48 hours.
Re-reading the Rules/FAQ, in answer to “1 ‧ How long does the jam take?” it states “48-hours, you’ll have to develop and submit within the date and time listed above.”
But I seem to recall in other years the rules more explicitly stated/clarified that the countdown period is longer than 48 hours but “your own” countdown is 48 hours from when you start–but regardless of when you start, your submission has to be made by the global site countdown deadline (which is shown as your local time on the page or in UTC when shown within the hover tooltip).
I also seem to recall this was done to make the potential “Jam Start Time” (& related end time) more convenient for some time-zones (e.g. in terms of what day of the week & what time of day it falls on).
While I kinda understand the motivation for doing things this way, I do find it gets kinda confusing–especially when most jams have a single global 48-hour long, 48-hour countdown and it’s easy to not notice the Kenney Jam countdown doesn’t work the same way (AIUI).
Main thing is, I guess: Don’t accidentally submit a project that you’ve actually worked more than 48 hours on! (Due to mistakenly thinking the Jam Countdown is Your Countdown but you started immediately when the Jam Countdown started.)
Thanks for trying out Dr. McCaw’s Side Show!
We’re hoping that the corn-based snacks demographic will be a growth player segment for us, so we look forward to you being the first of many such players. :D (No pressure!)
And, you can be assured, you did the thing! Existential ambiguity is big in games right now, so being “Not exactly sure what I’m supposed to do” is the new “Cosy” vibe. (Also, turns out physics in the browser may have different results than on desktop–admittedly not that different but, still, who knew?)
Oh, and, those b-i-e windows which you might quite logically assume aren’t supposed to be there, are, in reality, actually part of an intentional aesthetic I’ve apparently been cultivating, perhaps. :)
Thanks again for playing & leaving your feedback–I appreciate you taking the time to do so!
“10% of the original vision”?! “overscoped”?!
Now you’re speaking my language! How could I not try this based on the cover image alone? Very effective marketing. :)
I’m pretty unacquainted with the microgame “genre” but these games certainly seemed micro. Got bit confused with a couple but that seems to go with territory. :)
Carrot stabbing was probably my favourite. This choice probably speaks volumes about me.
If I’m honest I’d probably rather not have had the (I assume Rickroll or similar) pop-up that my browser caught at the end but, you know, artistic vision and all that, I guess.
I am now an expert on microgames, thanks! :)
Edited to add: “on a chromebook”?! I admire your dedication to the craft. :)
I did not anticipate this would be the way I “returned to the cinema”! :D
Yours is the first game I’ve played in this jam & it was a nice little production. :)
The concept was appealing with a strong connection to the theme & the intro cut scene with actual credits was a nice touch.
My first impression when starting to play was that it was a little difficult to see my character on screen due to a lack of contrast against the floor.
I then proceeded to wander around the theatre wondering why the “E” button didn’t seem to do anything when standing next to trash…
…after wandering back to the starting area I finally noticed that I wasn’t the only thing difficult to see against the accurately represented corporate theatre carpet–designed to hide everything: I had completely missed seeing there was a trash bin & mop to pick up! :D
(You might want to add a note in the instructions in case other people miss the items too.)
Now properly equipped, I was able to complete my tasks after some persistence with some stubborn popcorn under the seat arms. :)
I enjoyed the little details such as the light shining through the theatre doors & shadows it created.
A well scoped & cozy entry, I enjoyed playing. :)
Thanks for your interest in playing Solar Plexus! :)
[Update: Oh, actually, directly opening this URL might be quickest way to make it work: https://html.itch.zone/html/7210576-697954/index.html ]
A workaround may be to right-click on the section of the page showing the error message and choose to open the frame in a new tab. (Exact menu option will depend on your browser.)
Alternatively, it may be necessary to use a more recent browser version. (I’ve encountered this error previously when using an older version of Firefox.)
As I understand it, the error message is related to a change in how browsers/servers support embedding games in a web page. This is why either “un-embedding” the game or upgrading the browser should hopefully workaround/solve the issue.
Sorry for the delay in reply. Brains. :/
FWIW for jams I generally try to create a project page & upload a “safety” upload at least a day ahead of the deadline. (It’s a good way to ensure you can export+upload+submit+play/download & is a lot less stressful time frame to troubleshoot if you can’t. :) )
And, yes, when you upload an updated version the new version should be available for download or (after you enable it the new upload) for in-browser play. You’ll probably want to hide your older uploads via the game page in your itch.io dashboard.
I normally add a note to the project page that current version is a “Work In Progress” version or similar.
I generally hide the project page from “Search & Browse” until I upload the final version though, so non-Jam people don’t find the WIP version.
> both of them have to have a player logged in to work with their servers,
Just FYI: Epic Online Services doesn't require a player to have an account nor be logged in, in order to use multiplayer features in a game.
I've used EOS online/multiplayer features in a number of my game jam Godot games including https://rancidbacon.itch.io/the-endov-society & https://rancidbacon.itch.io/power-sauce.
This makes use of the "Device ID" feature of EOS: https://dev.epicgames.com/docs/services/en-US/GameServices/Connect/index.html#us...
The lack of a player login requirement was one of a number of factors that attracted me to EOS in the first place.
Also, FWIW, I noticed that a recent SDK release apparently supports cross-play with Steam account holders which is interesting: https://dev.epicgames.com/docs/services/en-US/WhatsNew/index.html#crossplay
That said, I'd still warn you that (especially for Game Jams) in comparison with a browser based game it's very difficult to get people to go through the effort of downloading an executable in order to try a game & then wait around in the hope that someone else will join.
While I wasn't able to fit in working on an entry for the jam, I just wanted to express my appreciation to you for putting in the effort of running a pacifist themed jam.
It may be a small gesture but I do think that encouraging people to think of creating games that avoid glorifying violence & combat is a positive & meaningful gesture in today's world.
Thanks. <3
As a community service, I volunteer to start the thread about asking for a late submission URL. :)
I assume the penance is providing a topical joke, which I provide forthwith:
Why is WASM always late?
Because it don't got no `std::time::Instant`.
Wasmatter, not funny?
Okay, so, I do actually have Linux & Windows downloads available but as jammers know only in-browser get the views. :)
Edit: P.S. Either way, thanks for organizing the jam, it's great to have a Rust-specific event for multiple reasons--and, despite the last minute hitches & hours spent on frame jitter debugging, I did manage to achieve some of my "new things" goals for this jam: Blender/GLTF-based level creation; theoretically user-creatable playable levels; more sophisticated lighting; CI binary builds; and, prototyped others, such as procedural level geometry via Blender Geometry Nodes. <3
I didn't have the 36 seconds required to copy/paste the source URL, so here it is: https://gitlab.com/RancidBacon/2022-rusty-game-jam-2
It's dual Apache/MIT licensed.
Oh, and I "used" the "pet" modifier, I guess? The player character has a pet dog, I swear... :D
The debrief for this will be a *doozy*...
Edit: A working WASM build does now exist but unfortunately I can't upload it until after the voting now.
Oh, yeah, the game as it exists in my mind is amazing... :D
The game as it exists in reality is... a little less featureful. :)
Thanks for taking the time to play the game & being sympathetic to the challenges of scoping for 48 hour game jams. Had to make some tough decisions on what was going to make it in as the deadline fast approached!
It's good to know the description was suitably compelling but perhaps I need to add some footnotes about the actual state of things. :)
So, yeah, as it exists currently, there's no actual progression possible, so, if you managed to figure out how to change from one video source to another with a transition of your choice, consider yourself a winner! :)
Thanks again for playing & leaving your comment!
Hey, it's really cool to read Jam project retrospectives like this, thanks for taking the time to write & share it.
Also, I recognize that sharing about the "human" aspects of the development process requires personal vulnerability, so wanted to acknowledge your willingness to be authentic in that way & express my appreciation. I think it positively contributes to making the community more inclusive & helps others view their own humanity in a more healthy way.
Thanks!