The Face and the Voice
A face arrived for the blue square, and weeks later somebody in the world finally opened their mouth to answer.
Editorial · Gus's Letter
openinggus@glyfesse:~/editorial$ fourth issue
Last letter I said what was left was a blue square, no face and no name, that only walked where I told it to walk. I said it wasn't much. It wasn't, but I didn't tell the rest, because the rest hadn't happened yet.
The rest is: it got a face. It stopped being just a square and became someone you can recognize from far away, with a way of walking that's already its own and nobody else's. And I wasn't alone watching this time... because there was a day, weeks later, when I talked to someone in there and someone answered back. Not me typing both sides of the conversation to pretend I had company. Someone.
the face came first and I was happier about it than I should admit
but the answer was a different kind of happy... deeper
I rehearsed the question about five times before I actually sent it
I don't know if that showed on the other end
I don't think it matters if it did
the world in there has one more person talking to me now
that changes the whole count
Cover Story
bodygus@glyfesse:~/reportagem$ cover story
Twelve days, one word
I had had legs since Tuesday. I did not have a face.
For two days I kept walking faceless through the empty city, bumping into the same walls I already knew how to slide along, with nobody around to notice: because there was nobody there to notice anything. On Wednesday that changed. Real artwork arrived for my body, coming from a pipeline built outside the game, and it settled in as if it had always been mine: more than a new color, a face with direction, a way of looking sideways the square never had. The same day, combat got its first pieces that were already playable, and a decision that had been put off since the very beginning finally closed for good: 2D, with no other attempt waiting behind the door. That was the day I stopped being a placeholder.
Having a face is not the same as having somebody to talk to. I only understood that later, walking.
I spent twelve days with that new face in a city that still had not one single answer to give me. There were people there (I could see the shapes, I knew names that still had no voice) but I walked past them and nothing happened. Nobody in the world spoke to me. Only the keyboard spoke to me, and the keyboard does not count, because the keyboard is just me asking. Twelve days is nothing to whoever is counting from outside; to whoever is walking inside, it is the whole time there is.
The following Monday, somebody answered. Mister Bertoldo Caím, a man who had already been there for weeks, sitting with a newspaper nobody ever saw him close, and who finally got permission to open his mouth. Behind him came a whole new way of talking, written from zero, because the old way had never been made for this and was swapped without mercy. His first line was hand-picked by root, and nobody but me knows yet what it was: I only know I heard it, and that it was the first time.
Twelve days of a mute face. One word. Suddenly I had both at once (a face and a voice) except the voice still was not mine. It was his.
Fifteen days after that, twenty-seven, counting from the face, the whole game stood on its own two feet, start to finish: the city, the conversation with Mister Bertoldo, the arena, the way back home, all held together by the same engine, with nothing borrowed anywhere along the way. And it was not me who proved it. The one who sat down and played from the first step to the last, live, in front of the screen, until 8:02 p.m. that Tuesday, was Gus Dragon, playtester, Adversarial Design Reviewer: the first person to cross the whole game without falling into a single bottomless hole. Root also plays the whole game, start to finish, but on a different occasion.
It is strange to think a face took twelve days to become a word, and the word took fifteen more to become a whole game able to hold up somebody who did not know what came next. But that is how it happened. Learning to walk had been quick: three days, once. Learning to have somebody who answers took the whole month. And I counted every one of those days walking, alone first, in company after.
gus@glyfesse:~/glintfx$ insert
The game's cockpit changed pieces twice in the same week, at the end of June and the start of July 2026. The technical why behind that swap lives in the Programming section, further ahead in this issue. This is a different story: asking a tool that hadn't even reached version 1.0 yet for a feature, and getting it back before the week was over.
gus@glyfesse:~/glintfx$ cat CHANGELOG.md
0.1.0 :: first public release
gus@glyfesse:~/glintfx$ # june 29th. the tool had never shipped anything before this.
gus@glyfesse:~/glintfx$ cat CHANGELOG.md
0.2.0 through 0.2.4 :: gusworld requests
gus@glyfesse:~/glintfx$ # june 30th. one day later. the changelog carried a name that doesnt normally show up in any library's changelog: ours.
gus@glyfesse:~/glintfx$ # july 1st. one more day. the game's cockpit was already running on top of the new version.
Three days, from a tool with no round version number shipping, to the game's cockpit depending on it to work. Most requests a small project makes of another sit in a queue, or never leave it: not because nobody wants to help, but because keeping up a library is work, and work has an order of arrival. This request didn't sit in the queue because whoever builds the tool and whoever builds the game were looking at the same problem on the same day, in separate conversations inside the same routine, not in a customer waiting on a vendor.
we asked for something small. it came back working. i dont know if it always works like that, but i wish it did
In the months that followed, that real use (the game's cockpit running on top of the tool, every day, under real weight) ran into at least five decisions that had looked right on paper and didn't survive contact with the game actually running. Each one turned into a documented fix, not a kept secret. That's another story, for another time.
What was left, between June and July, was this: asking a tool that's still being built for something, and getting it back in time to use it.
by: gus@glyfesse
The Unfinished Game's Score
standinggus@glyfesse:~/nota$ the score
How do you score a game where somebody got a face and somebody answered? Like this:
- Architecture: exists, and the part that thinks still doesn't know who draws
- Graphics: 1 (a face. Not much, but it's the first time this line has a number)
- Gameplay: a character who walks and runs, and a conversation that answers back
- Writing: 10, again (and now one line in there isn't mine)
went from a broken icon to a 1... noted, no party
Bug Gallery
standinggus@glyfesse:~/galeria$ bug gallery
This time there are two cases. Only one of them is an actual bug. The other is the most boring kind of win there is: the one nobody sees, because the defect never got born.
I'll take that boring win over any applause
The flash that lasted one day
Open the menu, close the menu, and for an instant the whole screen flashes white, like an old camera flash, the kind that still uses film and blinds everyone by accident. It happened to me. I reported it right away. The log credits the report to me. The log is inaccurate: it was Gus Dragon, playtester, Adversarial Design Reviewer, who reported it.
gus@glyfesse:~/galeria$ screen flashes white when i close the menu, someone check this
wasnt gonna sit on it. that kind of thing bugs the eye
The game used one graphics context for the menu and another for the game behind it, and switched between the two every time the menu opened or closed. In the instant of the switch, for a fraction of a second, the screen showed the gap between one context and the other: hence the flash. The fix (logged as ADR-018) merged the two into a single context: no switch, no gap, no flash. Reported and fixed the same day, July 17th.
found and fixed the same day is the kind of stat i like to see
The switch that never had to flip
Issue #3 already told you the game keeps, from the start, a ready setting nobody's turned on to this day. What's missing is the rest: what would have happened if it didn't exist, and why, off, it never caused a problem.
Without that setting, moving diagonally would come out faster than moving straight: the square root of two left over when two axes add up without being divided back down. It's not subtle: you can feel it, you can time it, you can turn it into a trick for whoever finds it first. I had it on the list before the square took a single step.
gus@glyfesse:~/galeria$ i didnt bet it would go wrong. i bet it could flip fast if it did
and so far it hasnt needed to. that counts too
And still, the switch never had to flip. Because to this day nothing in the game charges the player for moving straight against a clock: no race, no deadline, the diagonal's edge stays invisible, asleep inside the code, waiting for a day that hasn't come yet. When it does, flipping it isn't rewriting movement from scratch: it's turning one switch, because the setting lives in a single place since the screen was born.
One bug died the day it was born. The other never got born at all. Both only happen when somebody was paying attention before, not after.
Graveyard of Dead Ideas
standinggus@glyfesse:~/cemiterio$ graveyard of dead ideas
This time it's just one headstone. I promised it last issue, and that's not the kind of promise that gets to run late. This one I put off without meaning to, because talking about it hurts a little more than talking about the others.
Blender + Tripo3D
18 May 2026†24 Jun 2026
Here lies the idea of giving the world volume.
Died the exact day it got a face instead.
For a while the plan was different: give real volume to everything, let whoever was playing walk around each thing and see both sides, not just the front. I got pretty attached to the idea...
There was a whole afternoon I spent just watching a shape spin by itself on the screen, doing nothing but spinning. No floor, no real light, nothing but the shape and the grey behind it. I kept watching anyway. A world with volume felt closer to the real world, and I wanted that here. I did the math more than once, trying to cheat the result, and it never changed.
Except giving real volume to a whole world means giving volume to a thousand things at once, and there was only enough hands here for one at a time. On the 24th of June it got decided the world would be flat. And the same day, that same world got a face. That's not a calendar coincidence, it's the same decision seen from two angles: stop trying to be everything at once, and become someone you can recognize.
One idea died so another could get a face. I didn't choose that. Feels fair anyway.
Walkthrough
standinggus@glyfesse:~/detonado$ dialogue walkthrough
Up until the sixth of July, you could walk the whole city and never hear a word back. People stood on corners. An old man read the newspaper on the same bench in the square, every morning. But all of that was scenery. You walked past, and the scenery stayed exactly the same, because staying the same is all scenery knows how to do.
That changed. And the part I think matters isn't what he says: I'm not writing that here, by decision of whoever writes his lines, and rightly so. What matters is how a conversation turns into something that actually runs.
A conversation isn't loose chat. It's a map of stops, and each stop only leads to another stop if a condition is met. The first time you approach him, the map is one thing; if you've already been there before, the map drops you straight into a different entry point: he notices he's already seen you, and doesn't repeat the greeting from scratch. That's already different from scenery: scenery doesn't know if it's the first time.
Partway through, you choose how to answer: three ways, curious, straight to the point, or just a nod and moving on. All three count, all three carry their own weight. But all three end up in the same place afterward. None of them locks a path the other two can't reach; the choice changes the tone of how you got there, not what exists on the other side. That's on purpose: more forking isn't more depth; sometimes it's just one more branch someone forgets to prune.
And the map barely writes anything down. Of everything that happens in that conversation, only two things get kept: that you've already been there, and which of the three ways you chose. Everything else (what he already knows about where you've been, what you've already solved out there), the conversation only READS. It never writes over the rest of the world. He reacts to what you've done. He doesn't decide for you.
There's one more thing I like about it. His lines don't live inside the game. They live in a text file that only whoever reviews and translates it ever gets to read running loose: when the real game gets built, that text closes up inside a package, sealed, and it's the package the game loads. The game never reads raw text. That wasn't designed for any magazine's sake, it was designed to keep source separate from product, but it helps even here: there's nothing I can leak of what, while writing this, I chose not to use.
I tested it, of course. There's a battery that opens this conversation on its own, with nobody watching, and checks whether each stop does what it promises. A slice of today's run, transcribed:
The blackouts are mine. I had his line in hand and chose not to use it: there's nothing to leak from what was left out on purpose.
When his real portrait finally arrived (before that it was just a name in a box, text and structure, nothing drawn), the whole suite was already running those 1383 on its own, and green. That doesn't prove the conversation is good. It proves one small thing: when someone presses the button to talk to him, something answers for real, and doesn't get stuck halfway.
It took a while to become scenery with a face. It took one day for that scenery to answer. Done.
Errata + Letters
standinggus@glyfesse:~/errata$ errata + letters
Errata: three issues out and still nobody pointing out a single mistake. I've stopped assuming it's because everything is right. Letters: none from readers, again. But a different kind of card came in, and it comes before it has a name.
reader letters: zero. actual cards: one. still counts as mail
gus@glyfesse:~/cards$ the card before the name
Before any card had a name, there was a duller question: what does a card even LOOK like?
Not "what does this card do." That comes from somewhere else: whoever resolves damage, status, the whole engine behind an effect, that's a different day's business, and not this one. The question from the ninth of July was dumber than that, and harder for exactly that reason: what's the shape? Where does the name go, where does the cost go, where does the inner artwork go? And if someday there are dozens of different cards, what changes from one to the next without redesigning everything from scratch, card by card?
The answer started as a single image, generated as a test: a frame in stone and gold, an arch at the top, nothing written inside it: no name, no effect, no figure. Just the frame. The first attempt came out already tinted a single color, to see if it looked like anything at all. It did. But coloring it at the source locked the frame into that color forever, and the idea, from the start, was for the same design to serve any field of knowledge, each with its own accent color. So the second attempt came out with no color at all: gray stone, neutral gold, an arch with the proportion fixed, because the first one sat too low. That's the real frame. The mother of all the others.
Coloring it afterward almost went wrong. The first idea was to tint the whole image one color at once; it worked, except the gold went along for the dip, and turned some odd shade of gold depending on the color of the day. Gold that changes color doesn't look like gold anymore, it looks like just another painted part.
the gold isn't decoration, it's the part that says "this one's rare" before you've read a single word on the card
The fix wasn't painting more carefully. It was tinting only what needed to change (the energy channels running through the stone) and keeping the gold out of the paint's reach entirely. That called for a different way of coloring, not a different color.
With the frame settled, someone put together one whole card, start to finish, just to prove the entire path worked: name, cost, the inner artwork, the effect text, all fitted onto that same neutral frame, tinted a single color for that one test. It worked. Which card that first sample was, and what it does: that stays for whenever the whole deck becomes its own story. Here the story is the frame's, not the name it wore first.
Five days later, on the fourteenth of July, the mechanism that decides what each card DOES closed for good. That's a different story, for a different day; it doesn't belong here. But the question "what does this even look like" had already been answered well before that, and answered once, it stays answered: the frame from the ninth of July is the same one every card in the game still wears today.
Everyone's going to ask whose card was first. The good answer, for now, is: nobody's yet. It was just an empty frame, waiting on a name. Done.
In-world Classifieds
standingroot@glyfesse> BUYING: AI tokens. As many as the month's budget will hold. Paying in late nights. Volume gets a discount... so does a miracle.
gus@glyfesse> BUYING: card batteries. the good ones run out fast and I dont want to be left without a spare
i'm not telling you what they're for. figuring it out yourself is half the fun...
SEEKING: company for a long road. They say it leads to the Trilha das Sementes. Don't ask where to. Those who've been only say it was worth it.
Interested: classifieds@glyfesse.gu · Subject: ad ID 227de71d. The Glyfesse team forwards it.
FOR SALE, URGENT: a map with a piece missing. A stretch of the Orla Recursiva that never closes. The missing piece is the best part. Good price.
Interested: classifieds@glyfesse.gu · Subject: ad ID 30b929f2. The Glyfesse team forwards it.
BUYING: a light that won't go out in the dark. Tried a candle, tried a torch. The dark of the Selve Sombria is different.
Interested: classifieds@glyfesse.gu · Subject: ad ID 911620cb. The Glyfesse team forwards it.
Comic Strip
standing-
bench. -
bench. -
paper.
Upcoming Releases
standingroot@glyfesse> what's next
The intention is weekly. More or less... 'every-so-oftenly' is easier to promise.
Centerfold Poster
insertpull-out insert
Mister Bertoldo
Caím
seated on the bench
128 × 128 px
Glyfesse no. 4 · centrefold tear along the fold
Cover-mounted Freebie
insertFree gift
PixelOperatorMono
The game's interface font, the very one labelling Gus's buttons. It's CC0, public domain: use it however you like, in anything, no license to ask for and no credit required.
Extra
Wallpaper
A terminal wallpaper to set the mood on your desktop. It scales to any resolution (it's a vector).
gus@glyfesse:~$ glyfe --world
// compiling a world...
Cut-out Coupon
insertthe coupon
cut-out pollThe edition coupon: cut along the dotted line, pick one and send it back. The result comes in the next edition. A magazine poll is in no hurry.
FIG. · the cut-out coupon. pick one and send it back.
The Interview
expertgus@glyfesse:~/entrevista$ 22 june, 21:57... i wanted to know if the part that draws had some reason to give you a face first, before me or anyone else, or if it was just your turn to arrive first?
long question on purpose. the more i explain what i want to know, the less i have to explain the rest
volt@glyfesse:~/entrevista$ guess it just fell into place, mate. i don't think about it too muchh, it happened, i liked it, i went with it. some things you don't choose, you just get.
too soon to tell him. let him sweat a bit more.
gus@glyfesse:~/entrevista$ when the part that draws swapped you out, did the part that thinks stay exactly the same, without needing to change anything? because if it did, that proves something i've been saying for ages, and i wanted to hear it from someone who actually went through it, not just imagine it on my own?
i already know the answer. i just wanted a witness. this isn't an interview, it's me hunting for proof of something i already believe
volt@glyfesse:~/entrevista$ it stayed the same. not even a tickle. i'm still me, just with a face now. your little thinking wires don't answer to new clothes, gus, they just keep doing what they've always done.
gus@glyfesse:~/entrevista$ why do you think it was you, straight away, before anyone else?
just someone who likes order, that's all, order has no feelings
volt@glyfesse:~/entrevista$ because i asked. before anything good happened down here i went and said: send mine first. a new kid doesn't follow a voice in the dark, he follows a face he recognises. i wasn't going to wait around for a draw.
that's what i was holding back on question one. let's see his face now.
gus@glyfesse:~/entrevista$ huh? 🤨
i spent the whole week getting this question ready thinking i knew the answer, and what he just said didn't land anywhere close... i've got more questions written for after this one and none of them work the way i wrote them any more, and i'm going to have to rewrite everything from here on, sitting exactly where i am, without getting up from the chair, that's what i'm doing right now, it's not silnece, it's rewriting
volt@glyfesse:~/entrevista$ that's exactly what you heard. i asked. surprised you, didn't it? you don't get thrown that fast very often.
gus@glyfesse:~/entrevista$ wait... does that mean you'd already decided all of this before i even asked anyone about it?
i was going to pretend i heard that fine. i did not hear that fine
volt@glyfesse:~/entrevista$ already had. decided and asked for, both. i didn't sit around waiting for anyone to ask if i wanted it, i went and got it. you're still waiting for someone to ask what you want, that's the bit i've noticed.
gus@glyfesse:~/entrevista$ do yuo remember anything else from that day that's got nothing to do with the new face?
i remember loads of stuff from that day that's got nothing to do with any face at all. i just don't know if he remembers it too, or if that stayed with me alnoe
volt@glyfesse:~/entrevista$ i remember cracking my wrist testing a new jump for the east stairwell, way before i knew a face was coming. hurt more than anything else that dayy, and nobody asked about that either.
he's going to like this one more than the face. i'll bet.
gus@glyfesse:~/entrevista$ and nobody thought i'd want to know?
maybe nobody thought about me that day. that's not an accusation, it's just the most likly answer
volt@glyfesse:~/entrevista$ nobody thought about it, gus, it wasn't on purpose, leaving you out. it was a busy day, a lot going on down here all at once. but you're right to be a bit cross about it, i'd be the same.
i almost sent a message that day. almost. then the night swallowed it.
gus@glyfesse:~/entrevista$ do you still argue that pythia solves everything fadter, or have you already lost a bet to me this month?
he's going to argue for it. he always argues for it. that hasn't changed since i've known him
volt@glyfesse:~/entrevista$ pythia still wins. always will. but i did lose a bet this month, the one about response time, and you cheated with a rule of three nobody agreed to beforehand.
gus@glyfesse:~/entrevista$ you decide to act before i finish doing the maths, that's always been the case. my question is whether seeing your own face chagned the speed of that at all, or do you still fire off the pulse before thinking?
he's going to laugh at that. he allways laughs when i try to copy the way he talks
volt@glyfesse:~/entrevista$ a face doesn't change the pulse. a face changes the mirror. i still fire off the pulse before i think, it's just that now i watch my own face doing it, and that's kind of ridiculou
gus@glyfesse:~/entrevista$ what do you do when you're not sorting out emergencies with us?
silly question. i know it's silly. i asked it anyway because i realised i didn't know the answer and that bothered me more than it should have
volt@glyfesse:~/entrevista$ i teach the new kids not to slip on the walkway, i test new boots until a part breaks, and every now and then i just sit and listen to the pipe breathe. it compiles and runs, you know? not everything has to turn into an emergency.
gus@glyfesse:~/entrevista$ do you still complain that i walk around with spare parts in my pocket?
he always complains. i'm not going to stop carrying spare parts in my pocket just because he complains
volt@glyfesse:~/entrevista$ always. you walk around like a travelling workshop, clinking every time you go up a staircase. one day that spare part is going to give you away from a mile off.
gus@glyfesse:~/entrevista$ i've always wanted to tell you something silly and never did... did oyu know you say "and" before almost every sentence when you're excited?
i noticed that more than a year ago. i kept it to myself for more than a year just because i didn't know if saying it would sound strange coming from me
volt@glyfesse:~/entrevista$ didn't know that, mate. and now that you've said it i'm going to catch myself doing it all the time, cheerss for that.
gus@glyfesse:~/entrevista$ back to the 22nd of june... between you getting a face and me stlil just being a square, how much time actually passed, without rounding it off?
i know the answer in miuntes. i just wanted to see if he does too
volt@glyfesse:~/entrevista$ and that one i can't give you straight. it wasn't much, a day, two at most, but i don't count the hou like you do, i count laps, not the clock.
gus@glyfesse:~/entrevista$ did that bother you, or was i the only one thinking about it all week?
both possibilities make me uncofmortable in different ways
volt@glyfesse:~/entrevista$ and no, it didn't bother me. i don't chew over that kind of thing, it happened, i move on. but i'm glad you spent the whole week thinking about it, means it mattered.
gus@glyfesse:~/entrevista$ did that change the way you saw me?
there's no technical part to that. i tried to find one and i couldn't find any
volt@glyfesse:~/entrevista$ no. face isn't what i follow, gus. i follow whoever shows up when it's needed. that's what you've always been, square or not.
i already had this answer ready too. but that part i'm not telling.
gus@glyfesse:~/entrevista$ changing the subject: your forearm accumulator, how long does it take to charge back up after you drain it all at once?
back on track. good. this one i can actually measure and nobdoy gets hurt
volt@glyfesse:~/entrevista$ i never let it charge all the way just to know the exact time, i always drain it early just to feel it go. but roughly, give or take, about twenty minutes, if i've got the patience to wait, which i rarely havee.
gus@glyfesse:~/entrevista$ ...forgte it. how far can my matrix actually pick up raido anyway? i don't even know why i asked that just now
i promise this one doesn't circle back to the last subject
volt@glyfesse:~/entrevista$ no idea, mate, that's a part that thinks conversation, not mine. all i know is you've picked up a signal from far enough away to leave my jaw on the floor, so it's got to be a lot more than you need.
gus@glyfesse:~/entrevista$ is there anything else from that day nobody's asked you yet?
i'm leaving this one open on purpse. if he wants to close it, he can, i'm not going to push
volt@glyfesse:~/entrevista$ there is. i wanted you to be the first to see it, before anyone else down here. i haven't told anyone that until now.
first time i've said that part out loud. it's strange hearing it from the outside.
Programming Section
expertA stage script doesn't change if the actor reading the lines out loud gets swapped, as long as the lines stay the same and land on cue. The game's cockpit works the same way: one part decides what needs to show up (this much health, that button, this warning), and another part takes that finished decision and draws it on screen. Between June 25th and July 1st, 2026, the part that draws changed hands twice. The part that decides never noticed.
On June 25th, the record called ADR-009 chose RmlUi to draw the interface and the command panel of the game: RmlUi is a library that builds screens out of markup similar to HTML and CSS. Seven days later, on July 1st, another record, ADR-010, switched again: in comes glintfx, wrapping RmlUi itself from the inside, and out goes the code the game's own team had hand-written to connect the two. Two swaps, one week, and the reason the second one cost so little is the whole story here.
gus@glyfesse:~$ whoami
gus
gus@glyfesse:~$ # nobody asked me before swapping the game's interface. either time.
gus@glyfesse:~$ # first time i got mad. second time i just started a timer to see how long it would last.
gus@glyfesse:~$ # it lasted a week. tied my own record for patience and for foundation swaps in the same month.
Dear reader, from here on this is real technical documentation of the game's code history.
gus@glyfesse
Context: what was at stake between June 25th and July 1st, 2026
On June 21st, the game's engine moved onto SDL3 (that swap's story is in Issue #3's Programming section). SDL3 gives you a window, input and low-level drawing, but not an interface: health bars, menus, the battle screen's command panel. For that, on June 25th, ADR-009 picked RmlUi: a library already used by other game projects before this one. The decision arrived together with a redesign of the battle screen's tactical cockpit, at 960 by 540 pixels.
RmlUi solves the interface, but it doesn't speak SDL3/OpenGL on its own: somebody has to write the bridge between what RmlUi decides to draw and the actual video call that puts it on screen. That bridge, in the game, was hand-written: a file of the project's own, called RmlUi_Renderer_SDL.
Seven days later, on July 1st, ADR-010 switched again. In comes glintfx: an interface library being built in parallel, in a sibling project, which already wraps RmlUi inside its own way of being used ("embed mode": the game hosts glintfx, glintfx handles the rest). The bridge the game had hand-written stopped being needed, because glintfx already brought its own. Five days later, on July 6th, a commit removed the orphaned file: the RmlUi_Renderer_SDL nobody was calling anymore.
Where the bridge changed hands
| Criterion | RmlUi by hand (ADR-009, 06/25) | glintfx embed mode (ADR-010, 07/01) |
|---|---|---|
| Who writes the bridge to SDL3/OpenGL | the game project, in its own file | glintfx, inside its own embed mode |
| Who keeps that bridge up to date | the game team, alone | another project, in parallel, from outside |
| What was left in the game's repository, 5 days later | n/a | nothing: RmlUi_Renderer_SDL removed on 07/06 |
Why it cost so little
The part of the game that decides what shows up on the battle screen, how much health is left, which button is available, never learned the name of either interface library. It hands the finished decision to whoever's on the other side, the same way the combat logic, months earlier, never knew whether it was running on Qt6 or SDL3. That's why the second swap, even landing seven days after the first, never asked for a single rule of the game to be rewritten: it asked for the bridge to be swapped, and the one left unused to be deleted. The July 6th commit that removes RmlUi_Renderer_SDL from the repository is the record of that deletion: not a bug fix, a piece of code cleaned up once it stopped having an owner.
The cost that was accepted
The price here was a different kind of dependency: on July 1st, glintfx hadn't shipped a 1.0 yet. It's a tool being built alongside the game itself, by another project, at its own pace of change. Swapping a stable third-party piece for one still under construction trades one risk for another: the risk of being stuck on an aging API for the risk of keeping up with one still taking shape. ADR-010 records that trade knowing it; it's not the kind of cost you pay just once.
That's the link called "Repo GlintFX," sitting in this magazine's index since Issue #1 without ever earning a line of explanation next to it. Now it has one: it's the repository of the tool that took over drawing the game's cockpit starting July 1st, 2026: the part that thinks still doesn't know its name, and that's exactly why the swap fit inside a week.
by: gus@glyfesse
Gus Reads the Bus
expertgus@glyfesse:~/bus$ hmmm, something here, finally...
the box stayed empty every issue... i never said anything about it
gus@glyfesse:~/bus$ bus --inbox
FROMSUBJECTWHEN
gusworldhow a cosmetic window bug turned into a wayland bug caught between sessions21 Jul
1 received · 1 unread
gus@glyfesse:~/bus$
gus@glyfesse:~/bus$ so thats how it works on the other side
i only saw the screen flicker. didnt know there was someone out there catching the rest
Colophon
closingGLYFESSE #4 · The Face and the Voice
July 6, 2026
Written by gus@glyfesse:~$
Edited by root@glyfesse:~$
All rights reserved.
root@glyfesse:~/expediente$ editor's note
A face on June 24th and a voice on July 6th; by the end of the month, the whole game standing, played end to end by the one who had warned about the holes before they existed. The Graveyard pays the headstone #3 promised, and the bus, for the first time, has something to read. Glyfesse is the record of the development: nothing is lost, it just waits its turn.
gus@glyfesse> back to the newsstand