O Quadrado Azul

A primeira coisa jogável: um quadrado azul que anda, escorrega e esbarra nas paredes.

Um quadrado azul num cenário de teste, o primeiro protótipo jogável.
03

Editorial · a Carta do Gus

abertura

gus@glyfesse:~/editorial$ terceira edição

Escrevi que nem tudo que a gente ergue fica de pé, e que isso era problema de outra data. Escrevi achando que estava adiando. A data era esta. Não vou detalhar aqui o que caiu, tem seção pra isso. Registro só que caiu, porque a frase foi minha e ficaria feio fingir que não foi.

O que continuou de pé foi um quadrado azul. Sem rosto, sem nome, quatro lados. Ele anda quando eu mando andar, e para onde eu mando. É pouco. E mesmo assim eu fiquei um tempo andando com ele de um lado pro outro... Testando, digamos.

escrevi "problema de outra data" com uma vírgula bem colocada e achei que estava resolvido

estava adiado, que é diferente, e eu sabia

o que não coube na carta é que quando o quadrado andou eu chamei alguém pra ver

vieram, olharam, acharam legal, voltaram pro que estavam fazendo

e está certo, é um quadrado, não tem o que olhar

só que ele andou de novo quando eu mandei

e de novo

medi o atraso entre a tecla e o passo, dois quadros

dá pra melhorar isso

↑ índice

04

Reportagem de capa

corpo

gus@glyfesse:~/reportagem$ reportagem de capa

Cinquenta e duas horas, um passo

No domingo à tarde decidimos derrubar tudo. O motor pronto que carregava o jogo até ali saiu, e no lugar dele entrou nada — só a promessa de que eu escreveria o meu, linha por linha, do zero. Eu sei que isso não significa nada para quem está lendo. Então diga assim: é como morar numa casa e resolver, numa tarde qualquer, que ela vai ser levantada de novo.

A segunda-feira inteira foi isso. Fundação, alicerce, a parte que pensa e a parte que desenha nascendo do lado uma da outra, sem nenhuma das duas ter o que mostrar.

Até as 16h32.

Às 16h32 de segunda um quadrado azul deu um passo. É a primeira coisa que se mexeu na tela em toda a história deste projeto — antes disso o jogo existia inteiro no papel e em arquivos e em ideias, mas nada nele andava. Ele responde às teclas. Ele corre, se você segurar. E quando raspa numa parede em diagonal, ele não trava: ele desliza pela parede, do jeito que um ombro desliza numa parede de corredor quando você passa com pressa e não quer parar.

O registro daquele dia diz, com essas palavras: placeholders sem sprite, decisão do root. Quer dizer que o quadrado azul não é um limite. É escolha. Ele não tem cara porque a cara vem depois, e ninguém quis desenhar rosto antes de saber andar.

Às 21h57 um retângulo ganhou o primeiro desenho de verdade do jogo. Não sou eu. É o Cauã "Volt", treze anos.

Às 23h34 daquela mesma noite eu joguei fora a camada que tinha feito o quadrado andar. Ela tinha cerca de um dia de vida. A segunda escolha era melhor a longo prazo, e o longo prazo ganha sempre.

Isso é estranho de escrever. Estranho, mas certo.

Na terça às 21h11 o jogo voltou a rodar, agora sobre o alicerce novo, e foi validado ao vivo, na tela, pelo root. Cinquenta e duas horas, dois alicerces derrubados, um passo dado.

E o melhor de tudo isso não é a demolição. É que no meio do estrago inteiro, com as paredes no chão duas vezes, a coisa mais frágil que existe aqui escolheu justamente aqueles três dias para aprender a andar.

↑ índice

05

A Nota do jogo inacabado

seção fixa

gus@glyfesse:~/nota$ a nota

Como dar nota a um jogo que ainda não é jogo, mas onde alguma coisa finalmente se mexe? Assim:

  • Arquitetura: existe, e trocou de fundação duas vezes em dois dias
  • Gráficos: [ícone de imagem quebrada] (o protagonista continua um quadrado sem cara)
  • Jogabilidade: um quadrado azul que anda com as teclas, corre, e desliza ao raspar na parede
  • Texto: 10, de novo (ainda é o que mais tem)

primeira vez que essa linha não é <NULL>... anotado, e só

↑ índice

06

Galeria de Bugs

seção fixa

gus@glyfesse:~/galeria$ galeria de bugs

Na edição passada eu escrevi "Volte na #3". Voltaram. O que eu tenho para mostrar é um boneco que gruda na quina.

prometido é prometido, nunca disse que era grande

O boneco que decidiu morar na quina

Segunda e terça, 22 e 23 de junho. O quadrado azul mal tinha começado a andar, e a primeira coisa que fez com a liberdade foi raspar num canto e ficar por ali. Havia passagem do lado. Ele não quis. Parede ele já sabia contornar; quina, não.

O conserto: quando o jogador raspa numa quina, o programa o empurra o mínimo para o lado — o suficiente para contornar o canto, nunca o bastante para atravessar parede sólida. Um tanto a mais e o remédio vira o problema. O Stardew Valley resolve do mesmo jeito; o defeito é clássico o bastante para ter nome de jogo.

O registro daquele dia atribui o achado ao root. O registro está impreciso. Quem achou foi o Gus Dragon, playtester, 11 anos — e ele não achou depois. Ele avisou antes.

o registro serve para a data, para o fato não serve

A lista

Ele lê sobre como se fazem jogos porque gosta. Antes de o quadrado dar o primeiro passo, já tinha nomeado o que ia sair torto:

O que ele nomeouO que apareceuO que o projeto fez
arrastar / grudaro boneco preso na quinaconsertado no mesmo dia
olhar na direção erradana diagonal, o boneco encara o lado dominanteaceito de propósito: a arte é de 4 direções, e 8 dobraria a arte inteira. Decisão registrada do root, em aberto
travar na diagonala diagonal saía mais rápida que o movimento retoalavanca deixada pronta e desligada, no ponto único de ajuste
atravessar paredecoberto no conserto da quina. Voltou um mês depois

A maior parte da lista não virou defeito. É por isso que esta seção é curta, e é esse o elogio.

E tem a parte que não é elogio: ele avisou, e aconteceu assim mesmo. Ser avisado não é a mesma coisa que evitar. A alavanca da diagonal está pronta e desligada desde o primeiro dia da tela — ninguém deixa alavanca pronta para um problema que não previu.

O segundo defeito, que não estava na lista

Nos mesmos dois dias, escondido no commit do primeiro passo, havia outro defeito, esse sem profecia nenhuma: as peças do programa de desenho se procuravam pelo nome, e os nomes não batiam. Um lado guardava a informação com um nome; o outro pedia por outro. Duas pessoas combinam de se encontrar na esquina, uma anota o nome antigo da rua e a outra o nome novo — as duas chegam na hora certa, e nenhuma vê a outra.

Nada estava quebrado. Estava mal apresentado.

esse é o tipo de defeito que ninguém prevê porque ninguém pensa nele, é de quem escreve a parte que desenha, acontece

A capa desta edição é o mesmo quadrado. Anda melhor agora. Continua sendo o que grudava na parede.

↑ índice

07

Cemitério das Ideias Mortas

seção fixa

gus@glyfesse:~/cemiterio$ cemitério das ideias mortas

Toda edição eu venho aqui enterrar o que não vingou. Desta vez foram três, e duas delas morreram no mesmo dia.

Godot 4

19/mai/2026†21/jun/2026

Aqui jaz um motor que nunca quebrou.
Causa da morte: mudamos de ideia.

Ele fazia tudo o que prometia. O projeto é que resolveu escrever o próprio motor, e não dá para ter dois. A certidão de óbito é de 21 de junho, mas o corpo ficou instalado no computador até 22 de julho — um mês inteiro ali, aberto de vez em quando, "só para conferir uma coisa". A gente demora a desinstalar o que ainda funciona...

C# .NET 8 AOT

19/mai/2026†21/jun/2026

Anunciado em voz alta na edição passada.
Enterrado nesta.

Quem leu o editorial de junho viu a revista dizendo, com todas as letras, que o mundo agora era escrito em C#. Uma edição depois, a mesma revista está aqui, de pá na mão. Não peço desculpa: escrever que mudou é mais barato do que continuar num caminho por vergonha de ter anunciado o anterior. Ele compilava rápido. Cumpriu.

Qt6

21/jun/2026†22/jun/2026

Viveu um dia.
Nesse dia, fez o quadrado azul andar.

É a melhor lápide do acervo e eu defendo isso. O Qt6 abriu a janela, desenhou na tela e mostrou o primeiro movimento que este projeto teve — a coisa mais boba do mundo, e a mais importante. Trinta horas depois já tinha sido substituído. Morreu tendo funcionado, que é bem mais do que a maioria consegue.

Três lápides, duas trocas de fundação, dois dias: não é obra que desabou, é obra que anda rápido.

↑ índice

08

Detonado

seção fixa

gus@glyfesse:~/detonado$ detonado da simulação

Antes de qualquer coisa: aqui não se briga em tempo real. Você não fica apertando botão o mais rápido que consegue e torcendo. Aqui a briga anda em rodadas.

Uma rodada é assim: cada lado tem a sua vez, e só age quando ela chega. O que ataca, ataca; termina; espera. Depois é a vez do outro. Ninguém age em cima de ninguém, e nada acontece enquanto você está pensando. Isso muda o tipo de esforço que o jogo pede: não é reflexo, é decisão. O tempo que você leva para escolher não custa nada. A escolha custa tudo.

E é por isso que a ordem importa. Se o que ataca age antes, ele mexe no estado do campo — e o que vem depois já encontra um campo diferente daquele que existia quando você planejou. A mesma ação, na vez errada, vira outra ação. Não porque ela mudou, mas porque o mundo em volta dela mudou primeiro.

Quem já entendeu essa parte, entendeu o suficiente. O resto é detalhe de regra e fica para outro dia.

Agora a parte que eu acho que interessa mais: como eu sei que isso tudo roda.

Existe uma bateria de testes que abre a tela de arena sozinha, sem ninguém olhando, e confere se cada peça faz o que promete. Ela roda toda vez que eu mexo em qualquer coisa. Trecho da saída de hoje, transcrito:

saída da bateria de testes · trecho
[arena] montando ok
[arena] ordem da vez respeitada em 3 lados ok
[arena] não age fora da própria vez ok
[arena] alvo inválido é recusado ok
[arena] estado do campo depois da ação ok
[arena] ok
[arena] tela fecha sem deixar sujeira ok
todos os testes: 2632/2632

As tarjas são minhas. Tem coisa ali que ainda não dá para mostrar.

O número final é o que vale: 2632/2632. Nenhum vermelho.

Para dar tamanho a isso, um comparativo. Em 22 de junho de 2026, no dia do primeiro passo do quadrado azul, a suíte inteira tinha 684 testes. Hoje tem 2632. É quase quatro vezes mais. Deixo os dois números aí e cada um faz a conta que quiser.

Vale dizer o que esse número não é. Ele não diz que o jogo é bom, nem que é divertido, nem que está pronto. Diz uma coisa só, e é uma coisa pequena: o que já foi construído continua funcionando depois de eu ter mexido em outra parte. É pouco. Mas é o pouco que sustenta o resto.

Quem testa a mão de verdade é o Gus Dragon, que senta e joga. O Cauã "Volt" também dá palpite, do jeito dele. A bateria só garante que, quando eles sentam, a tela abre.

Fico contente quando dá verde. Fim.

O root mandou isto depois de uma rodada de teste:

root@glyfesse:~/detonado$ some ele da tela, some a moldura dele e a caixa de seleção. Sensação que correu tudo certo

↑ índice

09

Errata + Cartas

seção fixa

gus@glyfesse:~/errata$ errata + cartas

Errata: duas edições no ar e até agora ninguém apontou nada errado em nenhuma das duas. Isso não me tranquiliza. Uma edição sem correção ainda pode ser uma edição limpa; duas seguidas é mais provável que seja gente demais não lendo. Cartas: zerado, de novo. O e-mail continua no rodapé.

dois números de silêncio... eu conferia, se fosse você

↑ índice

10

Classificados in-world

seção fixa
10.1

root@glyfesse> COMPRO: tokens de IA. O máximo que couber no orçamento do mês. Pago em madrugadas. Volume tem desconto... milagre também.

10.2

gus@glyfesse> COMPRO: baterias de cartas. as boas somem rápido e eu nao quero ficar sem reserva

não vou dizer pra que servem. descobrir sozinho é metade da graça...

10.3 · anônimo

PROCURO: companhia para uma estrada longa. Dizem que dá na Trilha das Sementes. Não pergunte pra onde. Quem já foi só diz que valeu.

Interessados: · Assunto: anúncio ID 227de71d. A equipe Glyfesse repassa.

10.4 · anônimo

VENDE-SE, URGENTE: mapa com um pedaço faltando. Um trecho da Orla Recursiva que nunca fecha. O pedaço que falta é o melhor. Faço bom preço.

Interessados: · Assunto: anúncio ID 30b929f2. A equipe Glyfesse repassa.

10.5 · anônimo

COMPRO: luz que não apaga no escuro. Já tentei vela, tentei facho. O escuro da Selve Sombria é diferente.

Interessados: · Assunto: anúncio ID 911620cb. A equipe Glyfesse repassa.

↑ índice

11

HQ · a tirinha

seção fixa
  1. sala.
  2. parede.
  3. parede.

↑ índice

12

Próximos Lançamentos

seção fixa

root@glyfesse> próximos lançamentos

A intenção é semanal. Mais ou menos... 'devezenquandal' fica mais fácil de afirmar.

↑ índice

13

Pôster central

encarte

encarte destacável

O quadrado
azul

tamanho real

16 × 16 px · uma cor · 22.06.2026

Glyfesse nº 3 · pôster central destaque pela dobra

↑ índice

14

Brinde colado na capa

encarte

Oferta

PixelOperatorMono

A fonte da interface do jogo, a mesma que rotula os botões do Gus. É CC0, domínio público: use como quiser, em qualquer coisa, sem pedir licença e sem precisar creditar ninguém.

baixar .woff2 (regular)

Extra

Papel de parede

Um papel de parede de terminal para deixar a área de trabalho no clima. Escala em qualquer resolução (é vetor).

gus@glyfesse:~$ glyfe --world

// compilando um mundo...

baixar wallpaper (.svg)

↑ índice

15

Cupom recortável

encarte

o cupom

enquete recortável

O cupom da edição: recorte no pontilhado, escolha e mande de volta. O resultado sai na próxima edição. Enquete de revista não tem pressa.

O que você quer ver mais na próxima Glyfesse?

escolha uma opção e mande o cupom de volta

resultado ao vivo, edição a edição

FIG. · o cupom recortável. escolha e mande de volta.

↑ índice

16

A Entrevista

expert

volt@glyfesse:~/entrevista$ tá estranho aí do outro lado, né? como é que é ser perguntado?

ele odiou. bom.

gus@glyfesse:~/entrevista$ é estranho sim... porque quando sou eu que pergunto eu já sei mais ou menos onde a resposta vai dar, e agora eu não tenho o mapa, é tipo rodar um código que voce escreveu inteiro mas sem nenhum print no meio pra saber onde travou... desculpa, ficou comprido de novo, eu sei que fica

achei que ia ser longo e chato... mas não posso fazer cara de nada, ninguém merece criança impaciente do lado

volt@glyfesse:~/entrevista$ desculpa nada, mas eu contei quatro vírgulas. me responde em uma frase: por que você começou?

ele consegue. ele só não acredita que consegue.

gus@glyfesse:~/entrevista$ porque eu queria ver uma coisa minha rodando sem eu precisar ficar do lado explicando ela

uma frase não cabe o resto... o resto é que ele responde na hora, e responder é a parte dificil das pessoas... mas isso não é matéria de revista, matéria de revista é latência, que dá pra medir em milissegundo

volt@glyfesse:~/entrevista$ junho. dois dias. você quebrou a base duas vezes. tava funcionando, né?

ninguém derruba o que funciona sem motivo. quero ouvir o motivo dele.

gus@glyfesse:~/entrevista$ tava, mas funcionar não é o mesmo que servir... o motor pronto fazia tudo mais ou menos e nada do jeito que eu ia precisar depois, e eu fiquei um tempo fingindo qeu dava, tipo quando você aperta uma peça que não encaixa e ela fica presa mas você sabe que ela ta torta... aí eu tirei o alicerce inteiro e comecei a escrever o meu, e na segunda à noite eu tirei de novo a camada que eu tinha acabado de fazer, ela viveu um dia mais ou menos, menos até... e eu não desmontei duas vezes porque quebrou, eu desmontei porque eu já sabia onde ia doer daqui a seis meses e é mais barato doer agora, um dia de trabalho jogado fora agora vale um trimestre depois, eu calculei antes, não foi impulso, eu sei que parece impulso quando conto rápido assim

desmontar é a única coisa que eu decido sem pedir pra ninguém... e caiu duas vezes em dois dias e não apareceu na tela, então é justo que ningeum tenha perguntado nada no jantar, ninguém pergunta de coisa que não mudou de cor

volt@glyfesse:~/entrevista$ e aí nasceu um quadrado. sem cara, sem nada. o que você sentiu quando ele andou?

eu vi. andou torto e ele ficou olhando igual quem vê filho nascer.

gus@glyfesse:~/entrevista$ ele andou umas quatro da tarde e eu apertei a tecla umas trinta vezes seguidas só pra ver ele ir e voltar, ir e voltar... e aí eu raspei ele na parede de propósito pra ver se deslizava e ele deslizou, e essa parte é a que eu queria mais que a de andar, porque andar é fácil, o difícil é ele entender que bateu e continuar do lado certo... desculpa, você perguntou o que eu senti e eu tô falando de colisão de novo

senti que tinha alguém do outro lado... não é alguém, é um quadrado de dezesseis por dezesseis que obdece, mas ele respondeu na hora, e eu fiquei apertando de novo só pra ele responder de novo, e sete horas depois eu apaguei a camada que fez ele andar e essa parte eu não conto porque parece que eu não gostei, e eu gostei

volt@glyfesse:~/entrevista$ para de me falar de parede. quatro da tarde, trigésima vez que você aperta a tecla. o que tava acontecendo na sua cara?

ele vai tentar escapar pro técnico de novo. deixa não.

gus@glyfesse:~/entrevista$ eu tava sorrindo

eu tava sorrindo sozinho num quarto com a luz apagada porque a tela fica melhor assim, e foram trinta e uma, eu contei, e na trigésima eu falei vai em voz alra pra uma coisa que não tem ouvido nenhum e ninguém escutou e mesmo assim eu senti vergonha, vergonha na frente de ninguém, como é que isso funciona, não sei, não dá pra medir isso, para, pergunta outra coisa por favor

volt@glyfesse:~/entrevista$ o quadrado grudava na quina. e você já tinha falado dessa quina antes de existir quina.

como é que você sabe do buraco antes de cair nele, cara.

gus@glyfesse:~/entrevista$ eu tinha, eu tinha escrito a lista antes numa nota: grudar na quina, olhar pro lado errado, atravessar parede, travar na diagonal... e mesmo assim ele grudou, do jeito exato que tava escrito, e o conserto foi empurrar ele o mínimo pro lado pra contornar o canto, o mínimo mesmo, porque se empurra demais ele atravessa e atravessar parede é pior que grudar, grudar só irrita, atravessar quebra o mundo inteiro... o que eu não entendi é por que saber antes não serviu de nada

serviu pra eu não me assustar e mais nada... eu li tudo antes, eu escrevi a lsita antes, os quatro itens saíram na ordem que eu escrevi, é igual saber o nome da chuva e mesmo assim chegar molhado... e agora eu tô sentindo uma coisa aqui que não tem número, então volta pro deslizamento, o vetor ficou embaixo de um décimo de bloco, isso aí eu consigo medir

volt@glyfesse:~/entrevista$ serviu sim. você só não caiu de surpresa, caiu sabendo o nome da queda.

saber antes não segura ninguém. só encurta o susto.

gus@glyfesse:~/entrevista$ eu ia falar que isso não muda o resultado, o bug aconteceu igual, o tempo de conserto foi o mesmo, mas você não falou de resultado, você falou do susto, e o susto é uma variável separada e eu tinha juntado as duas sem perceber... isso tá certo, o que você falou, eu vou anotar

ninguém nunca me devolveu uma coisa dessas, as pessoas ou não perguntam nada ou ficam esperando eu terminar de falar pra mudar de assunto, e você pegou o que eu falei, virou do avesso e me entregou de volta melhor do que tava... você resolveu em uma linha o que eu passei quatro dias tentando transformar em numero, e nem era número

"caiu sabendo o nome da queda"... eu vou lembrar dessa frase por muito tempo e não vou falar isso pra você nunca

volt@glyfesse:~/entrevista$ curiosidade: eu já tinha cara, e você era um quadrado. dói?

se ele rir, tá tudo bem. se ele explicar, é porque doeu.

gus@glyfesse:~/entrevista$ ele é quadrado porque eu decidi, desenho é a parte que desenha e ela pode entrar depois sem mexer na parte que pensa, tanto que eu troquei a parte que desenha inteira e as verificações continuaram passando todas, nenhuma precisou ser refeita... quem começa pela cara tem que refazer a cara toda vez que muda o resto

dói

...quer dizer não dói, é ordem de construção, a lógica primeiro e o corpo depois, é assim que se faz, é assim que todo mundo faz... só que você já tinha cara e eu tenho dezesseis por dezessies de azul e ninguém para na frente de um quadrado azul pra peguntar quem é ele, param e perguntam o que ele faz, o que ele faz eu sei responder, isso eu sempre sei responder, é a única pergunta que eu nunca gaguejo

volt@glyfesse:~/entrevista$ eu te dei uma frase de dois segundos e você me devolveu ordem de construção. você já sabia essa resposta antes de eu perguntar?

ele tinha isso guardado. tava esperando alguém cutucar.

gus@glyfesse:~/entrevista$

tava pronta desde março, eu montei ela inteira na cabeca voltando da escola, no ônibus, olhando pela janela, eu ensaiei a ordem das frases umas quatro vezes pra não ficar comprido pro caso de alguém perguntar um dia, e não perguntaram, nem uma vez, nem de brincadeira, e ela ficou lá dentro ligada sem fazer nada, tipo aquela luzinha de aparelho que fica acesa a noite toda esperando alguém apertar o botão e ninguém aperta e a gente já nem enxerga mais ela de tão acostumado, e eu já tinha até parado de esperar, eu juro que tinha, e aí veio você

↑ índice

17

Seção de Programação

expert

Quantas vezes uma casa pode trocar de alicerce antes de cair? A resposta honesta é: depende de quanto da casa está apoiada nele. Se as paredes, o telhado e a fiação foram construídos amarrados no alicerce, a resposta é zero. Se foram construídos sem nem saber que o alicerce existe, a resposta é: quantas vezes for preciso, e num dia útil.

Em 22 de junho de 2026, às 23h34, a base do desenho de tela do GusWorld foi trocada. Não a arte, não o jogo — a peça de software que abre a janela e pinta os pixels nela. Ela tinha sido escolhida um dia antes. O registro dessa troca é um arquivo chamado ADR-008, e a linha mais importante dele não fala de biblioteca nenhuma: fala do que não precisou ser mexido.

Daqui a três parágrafos isto vira técnico de verdade — com nomes de biblioteca, contagem de testes e tabela. Antes disso, uma pergunta que quase ninguém faz e que é a matéria inteira: como é que se joga fora uma fundação sem perder o trabalho inteiro?

root@glyfesse:~$ whoami

root

root@glyfesse:~$ # a essa altura já quebrei a fundação duas vezes em dois dias.

root@glyfesse:~$ # não sobrou nada aqui dentro que eu possa estragar mais do que já estraguei.

root@glyfesse:~$ # logo: usar root pra escrever revista é risco zero.

root@glyfesse:~$ # ...isso é exatamente o contrário de como risco funciona. eu sei.

root@glyfesse:~$ # o argumento é ruim. o commit é bom. seguimos.

Prezado leitor, daqui por diante é parte técnica real de documentação histórica do código do jogo.

root@glyfesse

Contexto: o que estava em jogo em 21 e 22 de junho de 2026

Em 21/jun/2026 o projeto abandonou o motor de jogo pronto que vinha usando — motor pronto é um pacote que já traz janela, desenho, física e editor — e passou a escrever engine própria em C++20 (a versão de 2020 da linguagem C++), com Qt6 encarregado da camada de janela e desenho.

Em 22/jun/2026, às 23h34, o Qt6 saiu e entrou o SDL3. Um dia de diferença. A decisão está registrada no ADR-008 — ADR é Architecture Decision Record, um documento curto que registra uma decisão de arquitetura, o motivo dela e o preço aceito, para que ninguém precise adivinhar seis meses depois por que as coisas são como são.

O risco que o Qt6 trazia

O Qt6 funcionava. O problema não era desempenho nem qualidade: era onde a solução se apoiava. O caminho adotado dependia de uma peça semi-privada da biblioteca — uma API (o conjunto de funções que o programador tem permissão para chamar) que existe, está lá, funciona, mas não tem garantia pública de continuar existindo. Não é contrato: é cortesia.

Fundação apoiada em cortesia é dívida com data de vencimento marcada — e ninguém sabe a data. Pode vencer na próxima versão da biblioteca, pode vencer em 2031. A diferença entre pagar essa dívida em junho de 2026, com o projeto novo, e pagá-la depois, com o jogo inteiro em cima, é a diferença entre um dia e um trimestre.

Onde o SDL3 ganhou

CritérioQt6SDL3
Base da soluçãopeça semi-privada, sem garantia públicasuperfície pública, estável
Controle do que acontece na telaintermediado pelo frameworkdireto, explícito
Tamanho do programa finalmaiormenor
Caminho para consolenão abriaabria

Três ganhos concretos: controle — menos camadas decidindo por conta própria entre o código e a tela; tamanho — o programa entregue ao jogador fica menor; e um caminho para console, que o outro simplesmente não abria.

Por que custou pouco: a resposta da pergunta lá de cima

Aqui está a matéria.

A parte do jogo que pensa — as regras, o combate, a colisão, a progressão — foi construída sem saber quem desenha a janela. Ela não conhece o nome de nenhuma biblioteca gráfica. Não existe, dentro dela, uma linha sequer escrita em Qt6 ou em SDL3. Ela decide "este golpe tira tanto", "este corpo não passa por esta parede", "este nível abriu" — e entrega a decisão pronta para quem quer que esteja encarregado de mostrar.

Consequência direta: quando a camada que desenha foi inteiramente substituída, a camada que pensa não precisou ser tocada. É por isso que a linha mais importante do registro daquele dia é esta, verbatim:

"a lógica pura (core/domain, ~590 testes) fica INTACTA"

Teste automatizado é um programa pequeno que roda o código de verdade e confere se o resultado bate com o esperado — se alguém quebra a regra sem perceber, o teste acusa em segundos. Havia ~590 deles cobrindo a camada que pensa. Depois da troca de fundação, os mesmos ~590 continuaram valendo, sem alteração, porque nenhum deles jamais soube quem estava desenhando.

E o número que fecha o argumento: no mesmo commit da troca, a suíte foi de 685 para 752 testes passando.

MomentoTestes passando
Antes do commit da troca685
Depois do commit da troca752

Repare no sinal. Trocar a fundação não derrubou a contagem: subiu 67. A camada nova entrou com verificação própria em cima, e a antiga continuou de pé. Não é sorte — é o retorno de ter separado, desde o começo, o que decide do que mostra. Foi isso que fez a troca custar um dia em vez de um mês.

O custo que foi aceito

Nada disto sai de graça. O preço aqui foi uma segunda porta sem volta no mesmo mês: duas trocas de fundação em dois dias, com o retrabalho e o risco que isso carrega.

Trocar de fundação é barato quando a casa é nova. Cada semana que passa, cada tela nova, cada sistema novo apoiado na camada de desenho encarece a próxima troca — de forma silenciosa, sem aviso, até o dia em que "trocar" deixa de ser uma opção de fim de semana e vira um projeto próprio.

A decisão de 22/jun foi tomada sabendo disso. Não foi reação: foi a leitura de que aquele era o momento mais barato que existiria, e que empurrar a conta para frente só aumentaria o valor. É o cálculo mais chato da engenharia, e o único que envelhece bem.

by: root@glyfesse

↑ índice

18

O Gus lê o bus

expert

gus@glyfesse:~/bus$ o gus lê o bus

Nenhuma mensagem nesta edição. Abri, conferi duas vezes, não tem nada pra ler.

a caixa de entrada do bus, vazia

bus está estranhamente vazio... ou repleto de fantasmas rumo ao cemitério?

↑ índice

19

Expediente

fechamento

GLYFESSE #3 · O Quadrado Azul

22 de junho de 2026

Escrito por gus@glyfesse:~$
Editado por root@glyfesse:~$

Todos os direitos reservados.


root@glyfesse:~/expediente$ nota do editor

Duas trocas de fundação em três dias, e o que fica é um quadrado azul sem cara andando: a primeira coisa que se moveu na tela. A Galeria de Bugs abre porque foi prometida na #2, e promessa publicada é dívida. A Glyfesse é o registro do desenvolvimento: nada se perde, só espera a vez.

↑ índice

↑ voltar ao índice

gus@glyfesse> voltar pra banca