Abe’ation
The famous beardly story of Abe & his departure from the New Orleans Metropolitan airport!
Abe’ation
Abe needs to run through the New Orleans Metropolitan airport to get to his departure gate.
Controls
- Movement:
- Left: A / Left Arrow
- Right: D / Right Arrow
- Jump: Space / Enter / Up Arrow
Instructions
You play as Abe who needs to run through the New Orleans Metropolitan airport (known to locals as "The NORM") in order to get to his departure gate.
Abe also needs to keep his beard to maintain his electability & good looks but the airport is full of hazardous cutting tools like scissors discarded by people in the "security" line.
- Avoid:
- Scissors – Reduces beard length by one
- Barber's Pole – Prevents player movement when encountered
- Obstacles – Need to be jumped over
- Consume:
- Beard Elixir – Grows beard length by one
- Run:
- To the departure gate (within the time limit)
- And... don't lose Abe’s beard!
Select your preferred difficulty level on the title screen to have more or less time to reach the departure gate.
Don't forget to ignore all the placeholder artwork & unimplemented features too!
Lore & Theme
Throughout history in some cultures the occurrence of “sudden de-bearding” has been viewed with suspicion and as a sign of possible... flouting of social norms.
Abraham Lincoln grew a beard after a suggestion that it would make people more likely to vote for him:
“...he did not grow a beard until 1860 at the suggestion of 11-year-old Grace Bedell.” [cite]
Though—outside of electoral issues—the change may instead have been because he was also informed by the same correspondent:
“All the ladies like whiskers...”
Either way, perhaps we can take a lesson from history that one person really can make a positive difference in the world.
While some people may claim that Abraham Lincoln never flew from NORM to YVR that simply might imply he did not make it to the departure gate successfully. This game is your chance to do better!
Credits
This game jam entry was developed with the help of the following...
- Tools
- Godot v4.2.1
- Blender v4.0.2
- LMMS v1.3.0-alpha
- Glimpse v0.2.0
- butler by itch.io
- Other things
- “Passion One” font by Fontstage (SIL Open Font License).
- “Noto Sans” font by Google LLC (SIL Open Font License).
My thanks go to the creators of the above items!
Thanks also to Acerola for running the jam & creating entertaining/informative videos. :)
Known Issues
- So many.
Changelog
- v0.0.8 - Final pre-deadline submission
Status | Prototype |
Platforms | HTML5 |
Author | rancidbacon |
Genre | Platformer |
Made with | Godot |
Tags | abe, airport, beards, Godot, Historical |
Comments
Log in with itch.io to leave a comment.
Yeah, the game doesn’t launch on firefox, only on chromium based browsers. It’s probably not your mistake but just so you know (https://itch.io/blog/456223/godot-cross-origin-isolation-and-sharedarraybuffers)
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 thecredentialless
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.
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 thantest-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” forCross-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#c11This 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 forCoepCredentialless
from3
to2
: https://hg.mozilla.org/releases/mozilla-beta/rev/5f190f08ccd8d79050da827a7addf82c1dcd04f1#l4.13Is 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 be2
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-192Then 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-6195Which I’m currently guessing is where the default/fallback value differs between development & release versions. (Unconfirmed.)
[TODO: Add other notes here?]
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]
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! :)
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! :)