what?

Return of the Obra Dinn saves your game as .txt files
containing XML
which contain a date and a <data> element that's a base64 encoded string.

that sounds like binary with extra steps
I'm trying to Death Generator this game but Lucas Pope is known for two things:
1. really neat games
2. caching all his rendered text
this means that if a game has a message box that says "Hello World!" and you memory edit it to read "Cat Sauce" and re-trigger the message box, you still see "Hello World!" because it's still caching the rendered text
oh
I was worried this game had dynamic justification
but no, it's just that I can't spell.
there's only two Rs in "terrible"
the good news is that I can quit to the menu and re-load the save and it empties the cache
the bad news is that automating this is not going to be easy. this game has its own mouse controls, meaning I can't use absolution positioning
absolute positioning, I mean.
ahh, there's keyboard controls. so this is doable.
There's still a nasty memory-search in there, but I'll manage
okay got it doing a full reset.
the best part is that if I set it up slightly too slow, it accidentally clicks quit instead of begin, and the game closes, and I have to set up the IDs and pointers again
I'm not sure I've ever gotten memory searching to work
got it. the problem was, as always, memory protection
well, that didn't last long. I was trying to skip some steps and figure out what unicode regions are supported by this font, and instead it just hung my extractor
I'll just extract all of unicode!
at 11 seconds a character, that'll take about... 19 days?

there's apparently a timing bug in my script which means that sometimes instead of quitting, it tries to turn down the volume.

this is less than useful

it turned out to be because minecraft was crashing slowly in a multithreaded manner
this is one of the worst ideas for a game to extract to put in the death generator
it has, like, 7 different character sets in it?
english (plus extra characters because there's some danish and german in there), hindi, traditional chinese, russian, and probably several more I'm forgetting
frankly I'm lucky this game didn't just invent its own conlang and stick the alphabet up in the private use area somewher

also every time it renders text it looks different.

literally every time.
there are randomly missing pixels. this is intentional and part of the game's aesthetic

I have now crashed two asset extractors
interesting discovery: although the game is monochrome, the textures aren't. They seem to be mostly red/pink, with some green used.
The monochrome stuff seems to be done in a shader, but I'm wondering if the colors in the textures are being used for some in-game use?
oh neat, an undithered version of the two sketches

oh my god
the carpenter, first mate, and 7th top man have IDENTICAL arm muscles!

LITERALLY UNPLAYABLE

it keeps the list of fate-moments in a CSV file. Interesting.
the column headings are:
"id, r, die,pull, music, clear, keep, fog, loc,corpse, skel,shadows,prune,unlock"
same for the crew manifest:
"id,,gender,name_unused,shortname_unused,job,birthplace,fate,clue,difficulty,hint,sketch,tally,pay,insurance,category,pic"

{
"key": "fate_parts_fell-rigging",
"val": "Fell/Rigging | $subject | fell from the rigging to <M>his<><F>her<> death."
},

The game has an interesting implementation of gendered-text, one which I'm not a fan of as an enby

I need to write a game engine with a comprehensive pronoun engine one of these days, just to Show How It's Done

OMG! it actually DOES have more than the gender binary! just the final gender is "beast":

{
"key": "fate_parts_eaten-killer",
"val": "Eaten | $subject | was <m>cannibalized<><f>cannibalized<><b>devoured<> | by $killer."
},

I'm Foone B. Turing, and my pronouns are were/wolf

BTW my favorite little detail is at the end, your housekeeper says "Tea’s in the kitchen if you need more." in the good ending, and "Tea’s all gone so you might think about going to bed as well." in the bad ending.

BAD ENDING: NO TEA

okay so I dumped the whole game script and then sorted every character used into their unicode blocks and then counted how many characters are in each of those blocks and I come up with a total of...

twenty two thousand and forty eight characters.

with my current system that'll be extracted in approximately three days
so I think I'm going to have to stick to extracting Basic Latin, Latin-1 Supplement, and General Punctuation.
that's only 368 characters.
It's not just laziness and "not wanting my main PC to be unusable until sunday".
The way the Death Generator handles fonts is inelegant for big fonts, so having huge characters sets in it makes it load slowly
oh, arse.
it turns out it doesn't use one font for the death messages, it uses... at least two?
it dynamically scales it because some death messages are too long
COMPUTERS ARE, WERE, AND WILL CONTINUE TO BE A MISTAKE
but I've made a lot of progress!
The is one of the first generators were just the overlay selections is going to be a massive spoiler
whoops I have apparently exploded the obra dinn
apparently he's named
Captain
Robert Witterel
Captain
Robert Witterel
Captain
Robert Witterel
I checked the crew manifest. It has remapped all the deaths, and not in a good way

okay ugh. this game is definitely doing some dynamic justification and font sizing.

and I'm not sure exactly how to trigger it or emulate it

@foone The crew of the Obra Dinn met a terrible fate at the hands of the most judgemental insurance agent of all time.
@thepi <insurance agent> NO ONE SHOULD GET ON A BOAT, IF YOU DIE AT SEA IT'S YOUR OWN DAMN FAULT
@foone some Major Major Major Major energy
@foone there's really no way to make it not be, like can't even call people by bunk numbers or professions.
@pencilears if I had support for it, I could make it pick from the faces. That'd be... less spoilery
@foone what a way to go ... and in the rigging, too
@foone I don't remember exactly who, but isn't there one that kind of died of poop disaster?
@SonnyBonds Yep. The first guy killed by the kraken is killed while shitting.
@foone
"This will never not be funny"

@foone

I bet it was nothing like a madeline.

@jonhendry I'm not sure what you mean.

@foone

" Swann’s Way, the first of seven volumes of Proust’s most famous work, In Search Of Lost Time ("À la recherche du temps perdu"). Proust’s narrator involuntarily recalls an episode from his childhood after tasting a madeleine dipped in tea."

@jonhendry ahh, I had forgotten about that!
I've never read it, but I know the reference, but it just wasn't coming to mind.

@foone

I also have never read it, but second-hand exposure through media have led me to associate Proust with madelines and vice-versa.

@foone the entire internet, as well. It's entirely possible electricity was a mistake.
@foone ^ DUNE's BUTLERIAN JIHAD WAS PROPHECY ! ^
@foone Kurtz was thinking about computers when he said "The horror. The horror."
@foone The cause, and solution to all life's problems?
@foone this should be on a shirt.
@foone I think it's fun that the ANSI bot just tooted this: https://agyilag.zokni.xyz/@ansi/statuses/01H7G6TE3GGZPW261XNW88YXPF
Post by ANSI 🤖 (@[email protected])

agyilag.zokni.xyz
@foone suggestion. a vm or secondary dedicated machine
@chfour it's annoyingly hard to set up a VM that has graphical acceleration abilities, sadly
@foone British game ?
@ronane set in Britain, yeah, but it's made by an American
@foone
Where/wolf
There/wolf
Playing poker
Harley Quinn smiles at you
Was/wolf
When/wolf
See how they swim
Like things beyond the rim
@foone Don't you mean 'ware/wolf? :)
@drwho I think I've joked before that my fursona is the Sharewarewolf
@foone OK, so your pronouns *were* wolf, but what are your pronouns *now* though.
@halotroop2288 I've been on cervidHRT for nearly two years now, so I'm some kind of deer.
@foone @halotroop2288 Hopefully not of the Nara variety
@foone I'm reminded of how in Disgaea, there's basically three types of being: humanoid, monster, and Prinny. Prinnies in-universe are somewhere in-between (as souls of former humans in penguin suits) and the game mechanics match this by having some traits of each of the other two. Also, they're basically walking hand grenades.
@foone "Going beast mode" as an alias for enby? I kinda like it.
@foone I think APICO has a thing that lets you fill in all the different pronoun types
@foone for me its just a:
# Change thr pronouns to your own,
PRONOUN01=she
PRONOUN02=they
PRONOUN03=their
PRONOUN04=Themselves
echo "$Character got $PROUNOUN4 a new cool ahhh flames sword"
Problem solved
@foone omg yes we need a pronouns/localization library that can insert any pronouns from pronouns.page
@foone A truly comprehensive pronoun engine would be extremely interesting, since pronouns can affect other grammar in arbitrary ways. Consider "They are/He is". And one could construct even more advanced pronouns that change disconnected parts of the sentence. You'd either need to have a *very* sophisticated language understander, or have entirely separate text for every gender.