Gamertag


domingo, 1 de novembro de 2026

Jornada Gamer Semanal #3 — Entre jogos infinitos, velhos conhecidos e a vontade de terminar alguma coisa

Introdução — Uma semana sem novidades, mas não sem histórias

Cheguei à terceira semana desta nova proposta de acompanhar minha Jornada Gamer de forma semanal e percebi que, desta vez, não havia exatamente uma grande novidade para apresentar. Nenhum jogo novo entrou na minha rotina. Não comecei uma aventura completamente diferente, não descobri um título desconhecido e também não aconteceu nenhuma mudança extraordinária naquilo que venho jogando.

Basicamente, continuei algumas das experiências que já estavam presentes nas semanas anteriores.

Mas isso não significa que tenha sido uma semana sem importância.

Na verdade, uma das coisas que começo a perceber com essa nova série é justamente como a rotina de um jogador não precisa ser construída apenas por estreias, encerramentos ou grandes acontecimentos. Existem semanas em que simplesmente continuamos aquilo que estávamos fazendo. Voltamos aos mesmos jogos, avançamos um pouco em determinada campanha, repetimos algumas fases e utilizamos outras experiências apenas para descansar a cabeça.

E talvez seja exatamente esse tipo de semana que melhor represente uma parte considerável da minha vida com os videogames.

Nem sempre estou procurando uma novidade. Nem sempre quero começar alguma coisa. Às vezes, quero apenas abrir um jogo que conheço, continuar de onde parei e me divertir durante algum tempo.

Foi uma semana assim.

Entre macacos estourando balões, cidades sendo construídas, palavras cruzadas, frutas se combinando, uma aventura antiga de RPG e dois jogos do Nintendo Wii, continuei minha jornada sem grandes alterações.

Entretanto, enquanto organizava tudo aquilo que joguei, comecei a pensar em uma mudança que talvez aconteça na próxima semana.

Talvez esteja chegando a hora de voltar a terminar alguns jogos.

Nem toda semana precisa apresentar um jogo novo. Às vezes, a história está justamente naquilo que continuamos escolhendo jogar.

Capítulo 1 — Bloons TD 6: um jogo que parece não ter fim

Começo novamente por Bloons TD 6.

Esse é um daqueles jogos que parecem ter sido construídos para nunca realmente terminar. Sempre existe uma nova fase, uma nova dificuldade, um desafio diferente ou alguma coisa que ainda não foi completada.

Continuo avançando aos poucos, jogando novas fases e desbloqueando dificuldades conforme vou progredindo.

Também continuo tentando os desafios, que acabam oferecendo uma maneira diferente de aproveitar as mecânicas do jogo.

O interessante é perceber que, apesar de já ter dedicado bastante tempo a Bloons TD 6, ainda sinto que tenho muitas horas pela frente.

Estou avançando pelas fases na dificuldade média, repetindo mapas em dificuldades diferentes e experimentando maneiras de superar cada situação.

Mas existe uma particularidade curiosa nesse processo.

Bloons TD 6 possui tantas fases que, quando retorno a um mapa para jogá-lo novamente, frequentemente não consigo lembrar qual estratégia utilizei na ocasião anterior.

Posso ter passado por aquela fase, encontrado uma combinação de macacos que funcionou perfeitamente e conseguido completar o objetivo. Mas, quando volto algum tempo depois, já não me lembro exatamente de como havia feito aquilo.

Então preciso pensar novamente.

É como se determinados mapas se tornassem pequenas experiências novas, mesmo quando tecnicamente já passei por eles.

Isso ajuda a manter o jogo interessante, porque a repetição não significa necessariamente reproduzir os mesmos movimentos.

Às vezes, encontro uma solução diferente. Outras vezes, preciso experimentar algumas combinações até descobrir o que funciona.

E, como ainda estou longe de esgotar todas as dificuldades, existe bastante espaço para continuar explorando.

Não tenho qualquer impressão de que Bloons TD 6 esteja perto de sair da minha rotina.

Ele continua sendo um daqueles jogos que posso abrir, jogar algumas partidas e fechar sem precisar transformar cada sessão em um grande compromisso.

E, aparentemente, os macacos e balões continuarão presentes na minha vida por bastante tempo.

Capítulo 2 — Cities: Skylines e o prazer de simplesmente continuar uma cidade

Depois de uma semana em que Cities: Skylines ficou completamente ausente, voltei a jogar um pouco.

Mas não foi nada extraordinário.

Não iniciei uma nova cidade, não mergulhei em algum grande projeto de infraestrutura e também não dediquei muitas horas a resolver problemas urbanos.

Simplesmente abri o jogo para relaxar.

Continuei um pouco a cidade que já estava construindo e aproveitei aquele momento sem nenhuma preocupação especial.

Existe algo bastante agradável nessa maneira de jogar Cities: Skylines.

Nem sempre preciso ter um objetivo definido. Às vezes, basta observar a cidade, realizar alguns pequenos ajustes e acompanhar seu funcionamento.

É uma experiência que me permite avançar no meu próprio ritmo.

Depois de tantas horas dedicadas ao jogo, a familiaridade com suas mecânicas também ajuda a transformar essas sessões em momentos de descanso.

Não preciso reaprender tudo a cada vez que abro a cidade.

Posso simplesmente continuar.

E talvez essa seja uma das razões pelas quais Cities: Skylines permanece há tanto tempo entre meus jogos mais utilizados.

Ele não exige que eu esteja sempre procurando alguma coisa nova.

Às vezes, continuar aquilo que já construí é suficiente.

Capítulo 3 — Fruit Clash e Crossword Master: os pequenos intervalos do celular

No celular, continuo mantendo dois hábitos bastante simples.

O primeiro é Fruit Clash, aquele jogo de combinar frutas que venho utilizando como uma pequena distração.

É uma experiência sem conquistas, sem acompanhamento de horas jogadas e sem qualquer grande objetivo que eu esteja tentando alcançar.

Simplesmente abro o jogo e me divirto durante algum tempo.

Não existe uma preocupação com completar tudo, desbloquear alguma coisa específica ou acompanhar estatísticas.

É apenas um jogo relaxante.

E gosto de perceber que, mesmo depois de ter desenvolvido tanto interesse por conquistas e sistemas de acompanhamento, ainda consigo manter experiências nas quais nada disso importa.

O segundo hábito continua sendo Crossword Master.

Tenho jogado aproximadamente uma palavra cruzada por dia.

É uma atividade pequena, que se encaixa facilmente na rotina e não exige que eu reserve um período muito grande para jogar.

Vou avançando aos poucos, resolvendo os desafios e mantendo essa pequena frequência.

Esses dois jogos representam uma parte da minha rotina que talvez fosse completamente ignorada se eu escrevesse apenas sobre jogos terminados.

Não são necessariamente as experiências mais elaboradas da semana.

Mas continuam fazendo parte dela.

E é justamente por isso que merecem aparecer nesta Jornada Gamer.

Capítulo 4 — EarthBound: um jogo de console que mora no meu celular

Entretanto, existe um terceiro jogo que também faz parte da minha experiência no celular.

E, curiosamente, ele não é propriamente um jogo de celular.

Estou falando de EarthBound.

Tenho jogado EarthBound através do RetroArch, utilizando o sistema de conquistas do RetroAchievements.

Esse é um daqueles casos bastante interessantes em que a versão traduzida do jogo é compatível com as conquistas. Portanto, estou conseguindo jogar EarthBound em português sem abrir mão do acompanhamento pelo RetroAchievements.

Isso torna a experiência particularmente agradável para mim.

EarthBound é um jogo de que gosto muito.

Já estou bastante avançado na aventura, embora tenha passado algum tempo sem jogar antes de retomá-la nesta semana.

Agora, minha intenção principal é chegar ao final.

Quero terminar o jogo.

Entretanto, existe uma questão envolvendo as conquistas.

Algumas delas são perdíveis, e eu já deixei passar determinadas oportunidades durante a campanha.

Isso significa que, se decidir buscar todas as conquistas, provavelmente precisarei jogar novamente.

Mas ainda não tomei essa decisão.

Por enquanto, quero concluir a aventura que já comecei.

Depois de terminar, pretendo observar quais conquistas ficaram faltando e avaliar se realmente tenho vontade de voltar para buscá-las.

Como gosto muito de EarthBound, existe uma boa possibilidade de que uma segunda jornada seja interessante.

Mas não quero transformar essa possibilidade em uma obrigação antecipada.

Prefiro terminar primeiro e decidir depois.

Existe uma diferença importante entre jogar novamente porque gosto de uma experiência e me sentir obrigado a repeti-la apenas porque algumas conquistas ficaram para trás.

O RetroAchievements é uma ferramenta que gosto muito de utilizar, mas não quero que ele determine sozinho a maneira como aproveito meus jogos.

EarthBound merece ser terminado por aquilo que representa para mim.

As conquistas podem ficar para uma próxima decisão.

Uma conquista perdida pode justificar uma segunda jornada, mas não deveria apagar o prazer da primeira.

Capítulo 5 — My Life as a King: reconstruindo o reino com mais estratégia

Outro jogo que continua ocupando bastante espaço na minha rotina é Final Fantasy Crystal Chronicles: My Life as a King.

Na semana anterior, contei que havia perdido meu arquivo de salvamento por conta do processo de backup da NAND do Nintendo Wii.

Foi uma situação bastante desagradável, porque precisei recomeçar uma experiência na qual já havia avançado consideravelmente.

Agora, aos poucos, estou me aproximando novamente daquele ponto.

Ainda não cheguei exatamente ao mesmo lugar em que estava antes de perder o primeiro salvamento. Estou um pouco atrás.

Mas existe uma diferença importante nesta nova campanha.

Estou jogando com mais estratégia.

Como já conheço melhor algumas mecânicas e já passei por parte desse conteúdo anteriormente, consigo tomar determinadas decisões com mais consciência.

Não estou simplesmente repetindo os mesmos passos de maneira automática.

Estou aproveitando aquilo que aprendi na primeira tentativa.

Além disso, agora estou utilizando as DLCs, o que também diferencia esse novo arquivo de salvamento da experiência anterior.

Existe ainda uma questão importante envolvendo os arquivos de salvamento.

Eu possuo um salvamento do Nintendo Wii, mas ele não resolveria minha intenção atual de acompanhar a progressão através das conquistas.

Por isso, continuei com o novo arquivo que estou utilizando no computador.

Quero que essa jornada também faça parte do acompanhamento que venho construindo com o RetroAchievements.

E, apesar de ter precisado recomeçar, continuo gostando muito do jogo.

My Life as a King permanece como um forte candidato a meu novo jogo de conforto.

É uma experiência à qual tenho vontade de retornar, mesmo quando não existe nenhuma grande novidade acontecendo.

Talvez seja justamente isso que define um jogo de conforto.

Não é necessariamente aquele que oferece a maior quantidade de conteúdo ou as mecânicas mais complexas.

É aquele ao qual temos vontade de voltar.

Capítulo 6 — Need for Speed: Nitro e a tranquilidade de não ter pressa

O último jogo que continua aparecendo com frequência na minha rotina é Need for Speed: Nitro.

Tenho jogado de maneira bastante descontraída.

Não estou tentando vencer todas as pistas imediatamente, completar cada objetivo na primeira oportunidade ou avançar o mais rapidamente possível.

Vou jogando em uma velocidade que considero confortável.

E existe uma razão bastante simples para isso.

Eu sei que Need for Speed: Nitro é um jogo longo.

Também sei que, conforme avanço, vou conseguir mais dinheiro e ter acesso a carros melhores.

Portanto, não vejo muito sentido em ficar me estressando agora com determinados objetivos que provavelmente serão mais fáceis quando eu possuir veículos superiores.

Posso continuar avançando, ganhar dinheiro e voltar posteriormente para completar aquilo que ficou para trás.

É uma maneira de jogar que combina bastante com aquilo que estou procurando neste momento.

Quero me divertir.

Não quero transformar cada corrida em uma obrigação.

Na semana anterior, comentei como fiquei satisfeito ao descobrir que podia jogar Need for Speed: Nitro utilizando meu controle de Xbox One, em uma experiência mais próxima dos jogos tradicionais de corrida que conheço.

Essa possibilidade continua tornando o jogo bastante agradável.

Agora, estou aproveitando essa experiência sem pressa.

Não preciso conquistar tudo imediatamente.

Não preciso voltar repetidamente à mesma pista apenas porque deixei algum objetivo incompleto.

Sei que poderei retornar depois.

E essa tranquilidade tem feito muito bem à experiência.

Capítulo 7 — O backlog começa a chamar minha atenção

Enquanto organizava os jogos desta semana, percebi que existe uma característica comum entre várias das experiências que venho mantendo.

Bloons TD 6 parece praticamente infinito.

Cities: Skylines também permite continuar jogando durante uma quantidade enorme de horas.

Fruit Clash e Crossword Master fazem parte de pequenos hábitos cotidianos, sem que eu esteja necessariamente procurando um encerramento.

My Life as a King e Need for Speed: Nitro continuam avançando aos poucos.

E EarthBound é um dos poucos jogos da lista que já está bastante próximo daquilo que considero um objetivo concreto: terminar a aventura.

Isso me fez pensar no meu backlog.

Tenho vários jogos que comecei e deixei pela metade.

Alguns foram interrompidos porque apareceu outra coisa que despertou meu interesse. Outros simplesmente perderam espaço na rotina. E certamente existem aqueles que talvez eu já não tenha tanta vontade de continuar.

Começo a considerar a possibilidade de olhar para essa lista com um pouco mais de atenção.

Talvez esteja chegando a hora de escolher alguns desses jogos e finalmente terminá-los.

Ou, quando perceber que realmente não quero mais continuar determinada experiência, simplesmente decidir deixá-la para trás.

Não preciso necessariamente carregar cada jogo iniciado como uma obrigação permanente.

Mas também não quero continuar acumulando aventuras pela metade quando poderia escolher algumas delas e chegar ao final.

Minha intenção é aumentar o número de jogos terminados.

E talvez a próxima semana represente o começo desse movimento.

Posso procurar algum título do backlog que já esteja relativamente avançado.

Posso escolher alguma experiência mais curta.

Ou posso simplesmente retomar um jogo antigo e descobrir se ainda tenho vontade de terminá-lo.

Por enquanto, ainda não decidi.

Mas a possibilidade está começando a me interessar.

Talvez organizar um backlog não seja apenas descobrir quais jogos ainda faltam terminar, mas também decidir quais histórias ainda merecem meu tempo.

Conclusão — Continuar também faz parte da jornada

A terceira Jornada Gamer Semanal não apresentou nenhum grande lançamento dentro da minha rotina.

Continuei jogando Bloons TD 6, avançando por novas fases e dificuldades em um jogo que ainda parece ter muitas horas pela frente.

Voltei brevemente a Cities: Skylines, apenas para relaxar e continuar um pouco minha cidade.

No celular, mantive meus pequenos hábitos com Fruit Clash e Crossword Master.

Também retomei EarthBound, uma aventura de que gosto muito e que já está bastante avançada. Minha intenção agora é terminá-la, mesmo sabendo que algumas conquistas perdíveis poderão justificar uma segunda campanha no futuro.

Continuei reconstruindo meu reino em My Life as a King, aproximando-me do ponto em que estava antes de perder o salvamento, mas agora com mais estratégia e utilizando as DLCs.

E segui jogando Need for Speed: Nitro de maneira descontraída, sem transformar cada corrida ou objetivo incompleto em motivo para estresse.

Foi uma semana de continuidade.

E, olhando para ela, percebo que isso também representa uma parte importante da minha relação com os videogames.

Nem sempre quero novidades.

Nem sempre preciso de um jogo novo.

Nem sempre estou procurando completar uma lista de conquistas ou alcançar imediatamente o encerramento de uma campanha.

Às vezes, quero apenas continuar jogando aquilo de que gosto.

Mas também começo a sentir vontade de equilibrar um pouco melhor essas experiências com jogos que possuem um final mais definido.

Quero aumentar meu número de jogos terminados.

Quero olhar para o backlog e decidir o que realmente pretendo continuar.

E quero aproveitar essa nova série para acompanhar não apenas aquilo que estou jogando, mas também as mudanças que acontecem nas minhas próprias escolhas.

Talvez a próxima semana traga algum jogo novo para a lista.

Talvez eu retome uma aventura que ficou esquecida.

Talvez finalmente termine algum título que está parado há bastante tempo.

Ou talvez continue jogando os mesmos jogos, porque ainda estou me divertindo com eles.

Por enquanto, não sei.

Mas essa é justamente a parte interessante de registrar a jornada enquanto ela acontece.

Não preciso conhecer o próximo capítulo antes de começar a escrevê-lo.

Uma semana sem jogos novos não é uma semana sem progresso. Às vezes, avançar significa apenas continuar aquilo que ainda nos faz querer jogar.

Esta foi a Jornada Gamer Semanal número três.

Uma semana tranquila, de jogos conhecidos, pequenas continuidades e uma vontade crescente de voltar a terminar algumas aventuras.

Vamos ver se a quarta semana será aquela em que finalmente começarei a enfrentar meu backlog.

sábado, 31 de outubro de 2026

A Biblioteca, interlúdio — sete itens, trinta e dois reais e uma aposta

Sete itens. Trinta e dois reais e quarenta e oito centavos. Oitenta e oito por cento de desconto, duzentos e quarenta e três reais economizados. E eu escrevendo uma série sobre organizar uma biblioteca de mil e quatrocentos jogos, no exato momento em que coloco mais seis dentro dela.

Este não é um novo post. O post sobre duplicatas continua de pé, com a coluna GrupoDuplicata ainda vazia esperando a vez.

Este é um interlúdio, e ele existe porque a vida não respeita cronograma de série. Eu passei um bom tempo escrevendo sobre a necessidade de não comprar o que já se tem, e na quinta-feira às 19h55 eu comprei seis jogos de terror de uma vez. Achar isso engraçado é mais produtivo do que fingir que não aconteceu.

O que Thriller fez comigo antes de eu saber o que era um videoclipe

Existe uma coisa na minha relação com terror que eu nunca consegui datar direito, mas sei de onde vem: o Thriller.

Eu era criança. Michael Jackson não era um artista que eu escolhi ouvir — era uma presença, do tipo que existe na casa antes de a gente entender o que é televisão. E aquele vídeo de quatorze minutos, com o John Landis dirigindo e o Rick Baker fazendo as maquiagens, não era um filme de terror. Era outra coisa.

Demorei muitos anos para entender o que aquilo tinha feito comigo. Porque o Thriller não me ensinou a ter medo. Ele me ensinou que o medo podia ser bonito.

Os mortos saem da terra e dançam. Não perseguem, não devoram — dançam, em coreografia, no meio da rua, com o Michael no meio deles. O monstro não é ameaça, é espetáculo. A morte vira número musical. E uma criança que assiste isso aprende uma coisa que não deveria aprender tão cedo: que existe prazer em olhar para o que assusta, desde que alguém esteja conduzindo o espetáculo.

Thriller não me deu medo de monstros. Me deu a certeza de que monstros são interessantes.

Isso ficou. E é por isso que todo outubro, quando as lojas resolvem que é hora de vender terror com desconto, eu fico suscetível de um jeito específico.

Por que outubro, e não abril

Existe uma explicação de mercado, e ela é óbvia: as lojas colocam terror em promoção em outubro porque é o mês em que terror vende. Não preciso explicar isso.

Mas existe uma explicação de outra ordem, e é a que me interessa. Fora de outubro, terror é um gênero de solidão. Você joga sozinho, no escuro, e ninguém ao seu redor compartilha a experiência. É um gênero que se consome escondido, quase com vergonha de admitir que gosta.

Em outubro, o terror vira coletivo. As pessoas decoram casas, fantasiam, assistem as mesmas coisas, comentam. O medo vira ritual social. E é exatamente esse o registro do Thriller — não o susto, a celebração.

Eu compro terror em outubro porque, nesse mês, comprar terror não parece esquisito. Parece participação.

E aí está a ironia que eu só percebi depois de comprar: os jogos que eu levei não têm nada de celebração. São o oposto do Thriller. Em Thriller, os mortos dançam e você assiste, encantado. Em Outlast, você corre e se esconde, e o espetáculo é a sua própria fragilidade.

Comprei o gênero do espetáculo. Levei o gênero da fuga. Vamos ver o que acontece quando eu abrir.

O que chegou na caixa

O recibo, item por item, sem arredondar nada:

Item Preço O que é
Little Misfortune R$ 11,39 Narrativo, point and click, dos criadores de Fran Bow
The Darkness II R$ 4,49 FPS com poderes demoníacos, baseado em quadrinhos
Outlast 2 R$ 4,79 Terror em primeira pessoa, seita, deserto do Arizona
Outlast R$ 3,75 O original. Asilo, câmera com bateria, sem combate
Never Again R$ 3,11 Terror psicológico de casa, indie
Outlast: Whistleblower R$ 2,71 DLC do primeiro, história paralela
The Shore R$ 2,24 Walking sim lovecraftiano numa ilha
Total R$ 32,48 de R$ 276,33

Duas observações que só um inventário produz.

A primeira: Whistleblower é DLC. A decisão que eu deixei pendente no primeiro post — DLC conta como jogo ou é uma coluna do jogo base — acabou de ganhar um caso real, datado e com preço de dois reais e setenta e um centavos. Para a planilha, é uma linha ou uma anotação? Eu ainda não sei. Mas agora eu tenho o exemplo, e isso é melhor que a dúvida abstrata.

A segunda: o recibo diz The Darkness II (ROW). Rest of world, chave de fora do mercado americano. É o mesmo problema de região que eu passei um post inteiro discutindo, aparecendo de novo, agora do lado da compra em vez do lado do emulador. A diferença é que aqui não me custa nada — chave de loja não tem hash para bater.

A aposta

Trinta e dois reais é barato demais para justificar uma compra. Não existe argumento a construir: o valor se defende sozinho, e qualquer texto tentando provar que foi uma decisão inteligente soaria defensivo.

A pergunta boa é outra, e é mais cruel: quantos desses seis eu realmente abro?

Então vou apostar agora, com o recibo ainda quente, e conferir em janeiro. Sem editar depois, sem ajustar a previsão para parecer que eu sabia.

Vou zerar dois. Little Misfortune, porque é narrativo, curto e tem voz própria — o tipo de jogo que se termina numa sentada porque a história puxa. E The Darkness II, porque não é terror de perseguição: é ação com história, do tipo que eu consigo jogar sentado sem tensão. É o menos hostil da lista, apesar de ser o que tem demônios de verdade.

Vou jogar e não terminar dois. Outlast, porque é o mais conhecido e eu vou querer ver com os próprios olhos do que todo mundo fala — mas terror de perseguição pura é o gênero que me expulsa, e eu já sei disso. E The Shore, por curiosidade lovecraftiana: dois reais e vinte e quatro centavos compram exatamente meia hora de atmosfera antes de eu me cansar.

Não vou abrir ou vou abandonar três. Outlast 2, que é mais longo, mais frustrante e mais divisivo que o primeiro — a crítica é unânime em dizer que ele estica o que o original fazia em cinco horas. Never Again, que é o jogo sobre o qual eu sei menos, e a maior incógnita da aposta: comprei no escuro, e no escuro costuma ficar. E Whistleblower, que só existe se eu terminar Outlast — uma aposta condicional, e portanto a mais perdida de todas.

Se eu acertar, são dois zerados de seis. Um terço. Para uma compra de trinta e dois reais, dá dezesseis reais e vinte e quatro centavos por jogo terminado — que é mais do que eu pagaria por qualquer um deles individualmente, e ainda assim menos do que um ingresso de cinema.

É esse o número que eu quero ver em janeiro.

A promoção nunca é sobre o preço do jogo. É sobre o preço do jogo dividido pela chance de você jogá-lo — e esse segundo número ninguém coloca na etiqueta.

O caso Outlast: eu não comprei o jogo, comprei a linha

Tem uma coisa nesta compra que merece parágrafo próprio, porque é a parte que eu não esperava e é a mais reveladora.

Eu já tenho Outlast. No Switch. Ele está lá, na biblioteca, disponível, e eu poderia jogar hoje sem pagar nada.

E paguei três reais e setenta e cinco centavos para ter de novo, no PC.

Não é por causa do jogo. O jogo é o mesmo. Não é por performance, não é por mod, não é por teclado e mouse — e quem já jogou Outlast sabe que teclado e mouse não melhoram em nada a experiência de correr de um homem de dois metros com a cara deformada.

Eu paguei pela conquista.

E aqui é onde eu preciso ser específico, porque a diferença importa: eu não vou platinar Outlast. Provavelmente não vou fazer 100%. Terror de perseguição não é o gênero em que eu me comprometo com desafio — é o gênero em que eu pulo sustos e continuo mesmo assim.

O que eu quero é o zerado. Aquela linha registrada dizendo que eu cheguei ao fim, em tal data, com tal tempo. O registro de que aquilo aconteceu.

É a distinção que eu passei um post inteiro elogiando: zerado e completado são coisas diferentes, e a maioria dos sistemas de conquista só sabe medir a segunda. Quando eu digo que não vou platinar, eu estou dizendo que não vou perseguir o completado — mas o zerado eu quero, e ele vale por si.

Três reais e setenta e cinco centavos não foi o preço de um jogo que eu já tenho. Foi o preço de uma linha na planilha.

Existe um momento na vida de colecionador em que você para de comprar jogos e começa a comprar registros de que jogou. Esse momento chegou para mim numa quinta-feira de outubro, por menos de quatro reais.

E tem uma consequência prática nisso que só ficou clara depois. Os seis são todos Steam. Eles são, literalmente, os únicos jogos da minha biblioteca inteira que vão gerar número de horas, porque a Steam é a única das seis lojas que devolve esse dado. Todo o resto — Epic, GOG, Amazon, EA, Ubisoft — vai continuar sem histórico, por escolha delas.

Ou seja: eu comprei, sem querer, o único lote da minha coleção que é mensurável.

O que o número vai dizer em janeiro

Em janeiro eu volto com três números: quantos eu zerei, quanto tempo eu efetivamente joguei, e quanto custou cada hora.

Só que o terceiro número vai fazer uma pergunta que eu não estou pronto para responder com honestidade. Se eu jogar quinze horas no total dos seis, o custo por hora é de dois reais e dezesseis centavos — mais barato que qualquer coisa que eu faça no computador. Se eu jogar três horas, o custo por hora sobe para quase onze reais, e aí a comparação deixa de ser com cinema e passa a ser com um jogo que eu já tinha e não joguei.

E é aí que este interlúdio encontra a série principal de novo.

Porque a planilha da minha biblioteca tem mais de mil jogos, e o número de horas concentrado nela é sempre o mesmo padrão: cinco ou seis jogos carregam quase tudo, e o resto divide migalhas. Eu não preciso apostar em nada para saber disso — eu só preciso olhar os dados quando eles chegarem.

A aposta que eu fiz acima não é sobre Outlast nem sobre Little Misfortune. É sobre a hipótese mais confortável que um colecionador pode sustentar: dessa vez eu vou jogar.

Veremos.

Comprar é barato. Jogar é o que custa — e é o único custo que não aparece no recibo.

sexta-feira, 30 de outubro de 2026

A Biblioteca #2 — as lojas sabem o que eu fiz, e só uma aceita contar

No post anterior, eu terminei com uma planilha feia e quatro colunas vazias. Duas delas eu preenchi sem dificuldade. As outras duas me obrigaram a admitir uma coisa incômoda: a minha biblioteca sabe o que eu tenho. Ela não sabe nada sobre o que eu fiz.

Onde o post 1 parou

Vale recapitular, porque o resto deste texto depende disso.

No primeiro post eu exportei o meu LaunchBox para um CSV. Saíram todas as linhas que ele tinha, com título, plataforma, caminho de execução, gênero, desenvolvedor. Deduzi a loja pelo caminho de instalação — Steam, Epic, GOG, Amazon — e a coluna de appid veio de brinde, porque o caminho de execução da Steam já traz o número.

O resultado foi uma planilha com a minha coleção inteira, cada linha sabendo de onde veio. A posse está resolvida. Não preciso voltar a esse assunto, e não vou.

Sobraram quatro colunas vazias: Conquistas, Progresso, Prioridade e GrupoDuplicata. E é aqui que o projeto tropeça, porque essas quatro colunas não são preenchíveis pelo mesmo caminho que eu usei até agora.

O post 1 respondeu "o que eu tenho". O post 2 precisa responder "o que eu fiz" — e são perguntas de naturezas completamente diferentes.

A distinção que destrava tudo

Existem duas perguntas numa biblioteca, e eu levei tempo para separar as duas.

A primeira é posse: o que eu tenho, em qual loja, em qual plataforma. Ela é estável, muda pouco, e o LaunchBox resolveu bem — porque foi exatamente para isso que eu o usei durante anos. Ele era o meu verificador de compra. Abria antes de aproveitar uma promoção para saber se o jogo já estava em alguma outra loja.

A segunda é uso: quanto tempo eu passei, quando foi a última vez, quantas conquistas eu tenho. Ela muda o tempo todo, e não existe nenhum lugar onde eu a tenha centralizado. Nunca existiu.

O LaunchBox tem os campos de tempo e de último acesso no XML. Estão todos vazios — e a razão é simples: eu nunca abri um jogo por ele. Eu abro pela loja. Ele registrou o catálogo, nunca o uso.

Isso não é falha do programa. É consequência do jeito que eu usei. E agora que eu sei a diferença, o problema fica bem menor do que parecia: eu não preciso redescobrir minha biblioteca. Eu preciso enriquecer a planilha que já existe com um dado que está em outro lugar.

Steam: a única que responde

Para jogo digital, quem sabe o que você fez é a loja. Ela precisa saber — é assim que ela mede engajamento, recomenda o próximo título e decide o que entra em promoção.

Só que entre as seis lojas da minha biblioteca, apenas uma devolve esse dado de forma aberta. E não é coincidência que seja a Steam.

O caminho é curto. Você pega a chave em steamcommunity.com/dev/apikey, pega o seu SteamID64, e faz uma chamada. Ela devolve a lista completa de jogos da conta, cada um com appid, nome, minutos totais jogados e timestamp do último acesso.

Tem um detalhe que trava muita gente e não aparece na maioria dos tutoriais: o seu perfil precisa estar com Game details em público. Fica em Perfil > Editar perfil > Configurações de privacidade. Se estiver privado, a API não devolve erro — devolve uma lista vazia. E você fica caçando problema no script quando o problema está na privacidade.

import csv, json, time, urllib.request, urllib.parse

API_KEY  = "SUA_CHAVE_AQUI"
STEAM_ID = "SEU_STEAMID64_AQUI"

url = "https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?" + urllib.parse.urlencode({
    "key": API_KEY,
    "steamid": STEAM_ID,
    "include_appinfo": 1,
    "include_played_free_games": 1,
    "format": "json",
})

with urllib.request.urlopen(url) as r:
    dados = json.load(r)

jogos = dados.get("response", {}).get("games", [])

if not jogos:
    print("Lista vazia. Confira: perfil publico? chave certa? SteamID64 certo?")
    raise SystemExit

with open("steam.csv", "w", newline="", encoding="utf-8-sig") as fh:
    w = csv.writer(fh, delimiter=";")
    w.writerow(["AppID", "Titulo", "MinutosTotais", "Horas", "UltimoAcesso"])

    for j in jogos:
        minutos = j.get("playtime_forever", 0)
        ultimo  = j.get("rtime_last_played", 0)
        data    = time.strftime("%Y-%m-%d", time.localtime(ultimo)) if ultimo else ""
        w.writerow([j["appid"], j.get("name", ""), minutos, round(minutos / 60, 1), data])

print("Steam: {} jogos exportados".format(len(jogos)))

Esse é o único script deste post que devolve um dado que eu nunca tive em lugar nenhum. Minutos jogados, por jogo, sem eu ter aberto nada por launcher nenhum.

E repare no que ele não faz: ele não descobre o que eu tenho. Eu já sei o que eu tenho — está no CSV do post anterior. Ele só traz o que falta.

Por que as outras cinco não respondem

Aqui eu poderia escrever cinco seções técnicas, uma por loja, e seria um texto chato e meio inútil.

O que importa é o padrão: nenhuma das outras cinco devolve histórico de uso. Não é uma questão de dificuldade minha, de ferramenta faltando ou de script mal escrito. É uma decisão de produto de cada uma delas.

A GOG guarda a biblioteca num banco local, mas o banco tem o catálogo, não o histórico. A Epic e a Amazon mantêm dados locais que descrevem o que está instalado — e instalado não é a mesma coisa que possuído, nem de longe a mesma coisa que jogado. EA e Ubisoft não mantêm nada que separe essas três coisas.

Isso não me atrapalha na posse, e é importante deixar isso claro porque era onde eu tinha me perdido antes: a posse das seis já está na planilha, vinda do LaunchBox. Eu não preciso de API nenhuma para saber que tenho o jogo. Eu preciso de API para saber o que fiz com ele — e aí, só a Steam entrega.

De seis lojas, uma me diz quanto tempo eu joguei. E ela não é a que tem a maior parte da minha biblioteca.

Juntando sem refazer

Com o CSV da Steam em mãos, a etapa final é cruzar com a planilha do post 1 — e o appid que eu já tinha extraído do caminho de execução mostra o valor dele aqui. Os jogos da Steam casam exato, sem depender de nome.

Para os que não têm appid, o casamento é por título normalizado — sem parênteses, sem marca registrada, sem pontuação, tudo em minúsculas.

import csv, re

def norm(t):
    t = (t or "").lower()
    t = re.sub(r"(?:\s*[\(\[].*?[\)\]])", " ", t)   # remove parenteses e colchetes
    t = re.sub(r"[™®©]", " ", t)
    t = re.sub(r"[^a-z0-9 ]", " ", t)
    return re.sub(r"\s+", " ", t).strip()

# 1) indice da Steam
por_appid, por_titulo = {}, {}
with open("steam.csv", encoding="utf-8-sig") as fh:
    for l in csv.DictReader(fh, delimiter=";"):
        por_appid[l["AppID"]] = l
        por_titulo[norm(l["Titulo"])] = l

# 2) a planilha do post anterior
with open("biblioteca_launchbox.csv", encoding="utf-8-sig") as fh:
    linhas = list(csv.DictReader(fh, delimiter=";"))

campos = list(linhas[0].keys())
if "Fonte" not in campos:
    campos.append("Fonte")

por_id = por_nome = sem_par = 0

for l in linhas:
    appid = (l.get("AppID") or "").strip()
    s = por_appid.get(appid) if appid else None

    if s:
        por_id += 1
    else:
        s = por_titulo.get(norm(l.get("Titulo")))
        if s:
            por_nome += 1

    if s:
        l["Loja"] = "Steam"
        l["AppID"] = l["AppID"] or s["AppID"]
        l["TempoJogado"] = s["Horas"]
        l["UltimoAcesso"] = s["UltimoAcesso"]
        l["Fonte"] = "Steam API"
    else:
        l["Fonte"] = l.get("Fonte") or ""
        sem_par += 1

with open("biblioteca_enriquecida.csv", "w", newline="", encoding="utf-8-sig") as fh:
    w = csv.DictWriter(fh, fieldnames=campos, delimiter=";", extrasaction="ignore")
    w.writeheader()
    w.writerows(linhas)

print("casados por AppID ....", por_id)
print("casados por titulo ...", por_nome)
print("sem correspondencia ..", sem_par)

Rode e você tem, pela primeira vez, uma planilha em que cada linha sabe de onde veio e, quando é Steam, quanto tempo você gastou nela.

Os "sem correspondência" não são erro. São os jogos das outras cinco lojas, mais eventuais diferenças de nome na Steam. Eles ficam com a coluna Fonte vazia, o que já é uma informação: significa "existe, mas sem histórico disponível".

Os números que aparecem

Com a coluna preenchida, três perguntas que eu não conseguia responder desde o primeiro post ficam respondíveis.

A primeira: quantos jogos da Steam eu nunca abri? Zero minuto é zero minuto. Não é estimativa, não é memória — é registro. E o número costuma ser maior do que a gente imagina.

A segunda: quais eu abri e nunca mais voltei? Último acesso de 2019, dois minutos jogados. Esses são os que a promoção vendeu e a vida não deixou jogar.

A terceira: onde estão as minhas horas de verdade? Provavelmente concentradas em cinco ou seis jogos, enquanto os outros mil e tantos dividem as migalhas. Isso muda a leitura da coleção inteira: o tamanho da biblioteca não mede nada, porque o uso é sempre concentrado.

Mil e quatrocentos jogos é um número de catálogo. Cinco jogos com trezentas horas é um retrato de quem eu sou como jogador.

A assimetria e o que ela muda na prática

Eu esperava que este post fosse sobre scripts. Ele acabou sendo sobre uma coisa mais desagradável.

Os jogos que eu tenho na Steam são os únicos que eu consigo avaliar com números. Os outros eu avalio por memória — e memória, num inventário, é uma fonte péssima. Eu já escrevi isso em outro post e continuo achando.

O efeito prático é meio injusto: uma biblioteca da Epic com duzentos jogos parece menor do que uma biblioteca da Steam com cem, porque a primeira não gera número. E o que não gera número, na prática, não existe.

Isso já está mudando uma coisa na minha forma de comprar, e é a primeira consequência real do projeto: promoção boa numa loja que não registra vale menos do que a mesma promoção numa loja que registra. Não por preferência de marca — por informação. O jogo que entra pela Steam entra na planilha com histórico. O que entra por outra loja entra como uma linha de nome.

O que vem depois

A planilha agora tem tempo, último acesso e uma coluna Fonte que diz de onde cada linha veio. Duas das quatro colunas vazias do post 1 continuam vazias — Conquistas e GrupoDuplicata.

A de conquistas é a próxima e é a mais trabalhosa, porque não vem de loja: vem do RetroAchievements para o retrô e de cada plataforma para o resto. Já sei como fazer, e o ano de RetroAchievements que eu carrego nas costas vai ajudar.

Mas a que está me incomodando agora, e que virou o assunto do post 3, é a GrupoDuplicata. Porque agora que cada linha sabe de onde veio, o que estava escondido fica visível: o mesmo jogo em duas lojas, o remaster que substitui o original, a versão com conquistas e a versão sem.

E aí eu vou ter que responder a pergunta que a planilha faz e não responde sozinha: das três versões, qual é a boa?

A biblioteca só começa a existir quando cada linha sabe de onde veio. Depois disso, ela começa a fazer perguntas que você não queria responder.

quinta-feira, 29 de outubro de 2026

RetroAchievements para iniciantes — o que ninguém explica

O jogo rodou perfeito. Imagem limpa, som certo, controle respondendo. E o RetroAchievements não reconheceu nada. Nenhuma conquista, nenhum aviso, nenhuma explicação — como se o jogo não existisse. Este é o guia que eu queria ter lido naquele dia.

O erro que todo mundo comete na primeira semana

Existe uma expectativa natural quando você instala um emulador: você abre a ROM e o jogo funciona. É assim desde sempre. O emulador lê o arquivo, executa, pronto. Se o arquivo estiver corrompido, ele reclama. Se estiver certo, ele roda.

Quando você conecta o RetroAchievements ao emulador, essa lógica continua valendo para rodar o jogo. Mas passa a existir uma segunda camada, independente, que não tem nada a ver com o emulador conseguir abrir o arquivo. Essa camada pergunta outra coisa: este arquivo específico é o arquivo que eu conheço?

E é aí que a maioria das pessoas trava, porque o jogo roda perfeitamente e não funciona. Não há erro. Não há mensagem. Só silêncio.

Eu passei por isso. E o que descobri é que o problema não estava no emulador, nem na configuração, nem na conta. Estava no arquivo — mais especificamente, em qual arquivo era.

O emulador pergunta "eu consigo rodar isso?". O RetroAchievements pergunta "eu conheço isso?". São duas perguntas diferentes, e a segunda é muito mais exigente.

O conceito que resolve tudo: o hash

Se você entender uma única coisa neste post, que seja esta.

O RetroAchievements não reconhece jogos. Ele reconhece arquivos.

Cada jogo no site é identificado por uma impressão digital do arquivo — o hash MD5, um código calculado a partir do conteúdo byte a byte. Não importa o nome do arquivo, não importa a pasta onde ele está, não importa o que aparece na tela do emulador. Importa o conteúdo exato.

E isso tem uma consequência que explica praticamente todos os problemas que você vai encontrar: qualquer alteração de um byte muda o hash. Qualquer uma. Um caractere de texto trocado. Um cabeçalho adicionado. Um patch aplicado. Uma compressão diferente. Tudo isso produz um arquivo que, para o RetroAchievements, é um arquivo novo — e desconhecido.

Não existe "Super Mario World" como entidade abstrata. Existem dezenas de arquivos diferentes que se chamam Super Mario World, e cada um tem uma impressão digital própria. O RA conhece algumas delas. As outras, não.

Você não coleciona jogos. Coleciona arquivos específicos — e só alguns deles existem para o RetroAchievements.

O meu setup, para você entender de onde eu falo

Antes de seguir para os problemas, vale dizer em que terreno eu ando, porque isso muda o que você vai encontrar.

Eu uso RetroArch para praticamente todos os emuladores. Instalo o RetroArch pela Steam, e isso me dá uma vantagem prática que não tem nada a ver com emulação: o Steam Input. Os controles são reconhecidos pelo sistema da Steam, com perfis, mapeamentos e correções que eu já tenho prontos. Para quem tem mais de um controle e mais de um console emulado, isso economiza uma quantidade absurda de configuração repetida.

A exceção é o Nintendo Wii, que eu rodo no Dolphin. E a razão é a mesma que aparece em outros posts daqui: a NAND. Emular Wii exige uma estrutura de console que o RetroArch não entrega do mesmo jeito, e o Dolphin resolve isso melhor. Então o Wii fica fora do RetroArch, com configuração própria.

Até agora, todos os jogos que eu joguei fora do Wii o RetroArch resolveu completamente. O que significa que a maior parte deste guia vale exatamente para o seu caso, se você usa RetroArch.

Os três motivos pelos quais o seu arquivo não é reconhecido

Quando a ROM não é reconhecida, a causa é sempre uma de três. Elas produzem o mesmo sintoma — silêncio — mas exigem soluções diferentes.

Região. USA, Europe, Japan. São arquivos distintos, com hashes distintos, e às vezes com sets distintos. E existe um detalhe cruel que pega muita gente: em alguns jogos, só a versão japonesa tem conjunto de conquistas completo. O jogo que você conhece, na versão que você tem, pode não ter set nenhum.

Revisão. Rev 0, Rev 1, Rev A, v1.1. Um conjunto construído sobre a Rev 0 não reconhece a Rev 1, mesmo que a diferença entre as duas seja um bug corrigido que você nunca vai notar. O jogo parece idêntico. O arquivo não é.

Modificação. Tradução, hack, patch de correção, cabeçalho adicionado ou removido. É o motivo mais comum e o mais frustrante, e merece uma seção própria.

A ironia da tradução

Aqui está a parte que dói, e ela tem uma ironia que se explica sozinha.

Traduzir um jogo é exatamente o trabalho que quebra o suporte.

O tradutor precisa alterar os bytes do texto dentro do arquivo. Alterar bytes altera o hash. Alterar o hash faz o arquivo deixar de ser aquele que o RetroAchievements conhece. Ou seja: a versão que você consegue ler é, por definição técnica, uma versão diferente da que o RA reconhece.

Não é falha de ninguém. É a natureza do sistema. O RA precisa garantir que ninguém está trapaceando com uma ROM alterada, e a única forma de garantir isso é ser rígido com o arquivo.

Mas aqui vem a boa notícia, e ela é melhor do que eu esperava quando comecei: algumas traduções funcionam.

Existem patches que foram registrados oficialmente no conjunto. Existem sets construídos já considerando a versão traduzida. Existem casos em que o autor do conjunto aceitou o arquivo modificado como hash válido. Não é a regra, mas acontece — e quando acontece, é uma surpresa boa de verdade.

Eu já encontrei jogos em que a versão em português funcionou sem nenhum esforço. Abri, rodou, as conquistas começaram a aparecer. Para quem cresceu jogando o que dava para jogar, sem entender nada do texto, isso tem um peso que vai além da conveniência.

Na maioria das vezes, a tradução quebra o suporte. Em algumas, ela passa. E quando passa, é uma das melhores sensações que a emulação pode dar.

O passo invertido: verifique antes de rodar

Esta é a parte mais útil do post, e é uma mudança de hábito que resolve o problema inteiro.

O instinto é rodar o jogo e ver se as conquistas aparecem. Está errado. Não porque não funcione, mas porque você descobre a resposta depois de perder tempo — e, pior, depois de criar expectativa.

O certo é o caminho inverso: abra a página do jogo no RetroAchievements antes de abrir o emulador.

Na página de cada jogo existe uma seção que lista todos os arquivos aceitos, com o hash de cada um, identificados por região e revisão. É ali que está a resposta. Se o seu arquivo estiver na lista, vai funcionar. Se não estiver, não vai — e você já sabe disso sem ter aberto nada.

Isso muda completamente a experiência. Em vez de tentar e falhar, você consulta e decide. Precisa de dois minutos, e economiza tardes.

E existe o caminho contrário, igualmente útil: se você tem um arquivo e não sabe o que ele é, existe uma busca por hash no site. Você calcula o hash do seu arquivo, joga na busca, e descobre a qual jogo ele corresponde, com região e revisão. Serve tanto para identificar arquivos antigos com nome trocado quanto para confirmar que o seu arquivo é o que você pensa que é.

Para calcular o hash no Windows, sem instalar nada, o próprio sistema resolve:

certutil -hashfile "Caminho\Do\Jogo.sfc" MD5

Ele devolve uma sequência de trinta e dois caracteres. É essa sequência que você compara com a lista da página do jogo, ou cola na busca do site.

Não rode a ROM para descobrir se ela tem conquistas. Abra a página e descubra se você tem a ROM certa.

Os detalhes que ninguém menciona

Estes são os problemas que aparecem depois que você já entendeu o básico, e que fazem a pessoa procurar solução no lugar errado.

O cabeçalho de SNES. Arquivos .sfc e .smc podem conter, ou não, um cabeçalho de 512 bytes no início. Header presente e header ausente geram hashes diferentes, e dependendo do conjunto o RA espera um dos dois. Se o seu arquivo é o mesmo jogo e mesmo assim não bate, suspeite disso primeiro.

PlayStation 1 e o par cue/bin. O arquivo de dados sozinho não basta. O .cue aponta para as faixas, e a estrutura toda importa. E o multidisc traz um problema próprio: cada disco tem seu hash, e carregar o disco errado pode significar progresso não registrado. Vale organizar com .m3u desde o começo.

CHD não é uma garantia. Comprimir para .chd economiza espaço e às vezes não muda nada, mas em vários casos o hash deixa de corresponder ao que o conjunto espera. Não assuma que funciona só porque o jogo abre.

BIOS não é o mesmo problema. BIOS faltando gera erro claro, mensagem, jogo que não abre. Arquivo com hash errado gera silêncio, jogo que abre e não registra. Confundir os dois faz a pessoa reinstalar BIOS por horas quando o problema era outro.

Softcore e Hardcore. Os dois modos existem, e a diferença importa. No Hardcore não há save state, não há rebobinamento, e as conquistas valem mais. No Softcore você joga com as comodidades e as conquistas contam menos. Não existe modo certo — existe a escolha entre a experiência confortável e a experiência com peso.

Nem todo jogo tem conjunto. A maior parte da biblioteca não tem. Você joga normalmente, sem registro, e isso não é erro de configuração. É só ausência de set.

Conjuntos são revisados. Um autor pode refazer um conjunto, e conquistas que existiam podem desaparecer ou mudar de valor. Nunca é uma perda grande, mas acontece.

O bônus que eu não esperava: zerado e completado

Existe uma vantagem do RetroAchievements sobre os outros sistemas de conquistas que eu uso, e ela só apareceu na prática.

O RA não registra apenas conquistas. Ele registra duas coisas separadas: se você zerou o jogo, e se você o completou.

Zerar significa cumprir as condições que o conjunto define como conclusão da campanha — chegar ao final da história, vencer o chefe final, ver os créditos. Completar significa fazer tudo, incluindo as conquistas secundárias, os desafios paralelos, os segredos. São dois estados, não um.

Isso resolve um problema que eu nunca tinha conseguido nomear nos outros sistemas. A conquista sozinha não me dizia se eu havia terminado o jogo ou apenas acumulado objetivos. Um jogo com 40% de conquistas pode estar zerado e incompleto, ou pode estar 40% jogado e longe do fim. Sem a distinção, o percentual é ambíguo.

Com zerado e completado separados, eu tenho duas informações onde antes havia uma. E, na prática, isso muda como eu escolho o que jogar: eu posso perseguir o zerado de um jogo longo sem me comprometer com a completude, ou decidir que aquele jogo merece os dois. É uma decisão que antes eu tomava no escuro.

Um número só me dizia quanto eu tinha feito. Dois números me dizem o que eu terminei e o que eu esgotei — e essas são coisas diferentes.

O que isso ensina sobre a sua biblioteca

Existe uma conexão entre tudo isso e a organização de uma biblioteca grande, e ela é direta.

Quando eu comecei a inventariar a minha coleção, o problema era saber quantos jogos eu tinha. A resposta dependia de decidir o que conta como um jogo — duplicatas, versões, remasters, regiões.

O RetroAchievements resolve esse mesmo problema por outro caminho, e de forma mais brutal: ele só reconhece arquivos. Então mil jogos na planilha podem significar trezentos arquivos reconhecidos, e o resto existe sem registro, sem conquista, sem histórico.

É a mesma pergunta — o que é um jogo? — só que respondida por um sistema que não tem nenhuma paciência com ambiguidade. Ele não negocia. Ou o byte bate, ou não bate.

De certa forma, é uma lição de organização. Uma biblioteca de mil linhas não vale nada se as linhas não correspondem a coisas distintas. E o hash, no fundo, é o mesmo princípio: cada coisa tem uma identidade única, e o resto é nome.

O RetroAchievements não me ensinou a jogar melhor. Me ensinou que nome de arquivo é ficção, e que identidade é conteúdo.

O guia em uma frase

Se você esquecer tudo o que leu, guarde isto: o RetroAchievements reconhece arquivos, não jogos. Todo o resto — região, revisão, tradução, cabeçalho, CUE, CHD — é consequência disso.

E, na prática, a única mudança de hábito que importa é esta: abra a página do jogo antes de abrir o emulador. Dois minutos de consulta contra uma tarde de tentativa.

O resto vem sozinho. Você escolhe a ROM certa, abre o jogo, e as conquistas começam a aparecer na tela. E quando uma tradução funciona — quando aparece aquele jogo em português que você achava que nunca ia poder zerar com registro — vale a pena o trabalho todo.

O jogo que rodou perfeito e não registrou nada não estava quebrado. Ele só não era o arquivo que o RetroAchievements conhecia.

quarta-feira, 28 de outubro de 2026

Wii Fit no Dolphin — o guia definitivo (Balance Board, NAND e unidades corretas)

Procedimento completo para jogar Wii Fit no Dolphin com a Balance Board física, os Miis do console, o save original e as medidas em quilos.

O que este guia resolve

O Wii Fit dentro do Dolphin não é apenas "abrir a ISO e jogar". Faltam três coisas quando se tenta o caminho curto: os Miis, as configurações de sistema e o reconhecimento da placa física. Este guia percorre as sete etapas necessárias para chegar ao resultado completo.

A ordem importa. Fazer a etapa 4 antes da 3, ou a 3 antes da 2, costuma produzir save corrompido ou placa não reconhecida.

  • Etapa 1: backup completo da NAND do Wii (BootMii)
  • Etapa 2: extração do disco do jogo (CleanRip)
  • Etapa 3: importação da NAND no Dolphin
  • Etapa 4: instalação do jogo e das DLCs de WiiWare
  • Etapa 5: conexão da Balance Board física
  • Etapa 6: conferência de unidades e região
  • Etapa 7: diagnóstico de problemas

Requisitos

Item Detalhe
Wii com Homebrew Channel Necessário para rodar BootMii e CleanRip
Cartão SD FAT32, 600 MB livres no mínimo. Cartão de marca conhecida (SanDisk, Samsung, Kingston) — o BootMii é exigente com compatibilidade
Balance Board física O Dolphin não emula a placa. Sem ela, o Wii Fit não passa da tela inicial
Bluetooth no PC Interno ou adaptador USB. Adaptador dedicado é o caminho mais estável
Dolphin atualizado Versão de desenvolvimento recente. As builds antigas não têm suporte completo à placa
Disco do Wii Fit O seu próprio disco. Extrair do original elimina o problema de incompatibilidade de região com o save

Etapa 1 — Backup da NAND no Wii

O backup da NAND é o que traz Miis, configurações, canais e o save do Wii Fit de uma só vez. Sem ele, você terá o jogo sem a sua identidade dentro dele.

1.1 — Preparar o BootMii

O BootMii precisa estar instalado. Se você já tem o Homebrew Channel, abra o HackMii Installer e instale o BootMii. A instalação como boot2 é a preferível em consoles compatíveis, porque roda antes do Menu Wii.

1.2 — Corrigir a tela preta com LED azul piscando

Se ao escolher Launch BootMii a tela ficar preta e a luz azul do drive piscar, o problema não é o console: faltam os arquivos do BootMii no cartão SD.

Baixe o pacote oficial de arquivos do BootMii e extraia na raiz do cartão SD. A estrutura precisa ficar assim:

/SD/
├── bootmii/
│   ├── armboot.bin
│   └── ppcboot.elf

Depois de copiar, recoloque o cartão no Wii e repita o processo. O menu do BootMii deve aparecer.

Se a tela continuar preta mesmo com os arquivos no lugar, troque o cartão SD. O BootMii falha em determinados modelos, especialmente adaptadores de microSD baratos.

1.3 — Fazer o backup

  1. Ligue o Wii e abra o Homebrew Channel
  2. Aperte HOME e escolha Launch BootMii
  3. Navegue com o botão Power (circular) e selecione com o botão Reset, ou use o Wiimote
  4. Selecione o ícone de engrenagem (Options)
  5. Selecione o primeiro botão à esquerda — é o BackupMii
  6. Aguarde. O processo grava nand.bin e keys.bin no cartão

O backup leva de 15 minutos a 1 hora, dependendo do cartão. A luz do drive continua piscando durante todo o processo — isso é normal.

Verificação obrigatória: antes de sair do BootMii, confirme na tela que o processo terminou sem erro. Depois, no PC, verifique se o nand.bin existe e se não está com 0 bytes. Um arquivo vazio significa que o backup falhou e precisa ser refeito com outro cartão.

1.4 — Desativar a parada no BootMii (opcional)

Se o BootMii está instalado como boot2, o Wii para nele a cada inicialização. Para ir direto ao Menu Wii, edite o arquivo SD:/bootmii/bootmii.ini:

VIDEO=NTSC
AUTOBOOT=SYSMENU
BOOTDELAY=0

O BootMii continua acessível pelo Homebrew Channel (HOME > Launch BootMii), então você não perde a rede de segurança.

Etapa 2 — Extrair o disco do jogo

Use o CleanRip no próprio Wii. Ele faz dump completo e verifica o checksum contra o banco Redump.

2.1 — Formato de saída

  • Partição NTFS ou exFAT: grave em ISO direto. É o formato 1:1
  • Partição FAT32: grave em WBFS. O FAT32 tem limite de 4 GB por arquivo e o ISO do Wii Fit passa disso

2.2 — Converter para RVZ

O RVZ é o formato nativo do Dolphin, com compressão sem perda. Se você gravou em WBFS, a conversão acontece dentro do próprio emulador:

Dolphin > botão direito no jogo > Convert File > RVZ

O Dolphin lê ISO, WBFS e RVZ. Nenhum deles afeta o funcionamento da Balance Board nem o save. Evite apenas versões "scrubbed" de terceiros — o dump próprio elimina qualquer dúvida.

Detalhe que resolve a região: extraindo do seu próprio disco, a região do jogo será automaticamente a mesma do seu save e da sua NAND. Isso elimina de saída o problema mais comum de importação.

Etapa 3 — Importar a NAND no Dolphin

Com o cartão SD em mãos, copie o nand.bin e o keys.bin para o PC. No Dolphin:

Tools > Import BootMii NAND Backup

Selecione o nand.bin. O Dolphin descriptografa e monta a memória inteira: Miis, canais, configurações de sistema e saves.

Atenção: a importação substitui a NAND atual do Dolphin. Se você já instalou outros títulos ou criou saves no emulador, faça backup antes.

Tools > Manage NAND > Open NAND Directory
(copie a pasta inteira para um local seguro antes de importar)

Depois da importação, abra o Menu Wii no Dolphin para conferir:

Tools > Load Wii System Menu

O canal do Wii Fit deve estar lá, junto com os seus Miis.

Etapa 4 — Instalar o jogo e as DLCs de WiiWare

Esta etapa é obrigatória para títulos de WiiWare, como o Wii Fit Channel ou qualquer jogo baixado da loja. Se você roda o WAD direto, o título é montado como disco e nunca entra na NAND — e é na NAND que a DLC mora.

4.1 — Instalar o jogo

Dolphin > botão direito no arquivo .wad > Install to NAND

O título passa a aparecer como entrada instalada, sem caminho de arquivo. Isso confirma que a instalação funcionou.

4.2 — Copiar a DLC

DLC de WiiWare não fica no save. Ela mora em duas pastas dentro da NAND, ambas com o prefixo 00010005:

title/00010005/<id_do_jogo>/    → conteúdo da expansão
ticket/00010005/<id_do_jogo>/   → licença de uso

O <id_do_jogo> é o ID4 do jogo com o primeiro caractere em minúsculo — é assim que a Nintendo nomeia as pastas de DLC. Copie as duas do backup da NAND para a NAND do Dolphin, no mesmo caminho.

Sem a pasta ticket, o jogo enxerga o conteúdo mas não reconhece que você tem direito a ele.

4.3 — Ordem de instalação

Instale a DLC antes de carregar o save. Se o save foi criado com conteúdo de DLC e o jogo abrir sem ela, o carregamento falha ou exibe conteúdo faltando — e o sintoma parece save corrompido, quando só faltava a licença.

Etapa 5 — Conectar a Balance Board

O Dolphin não simula a Balance Board. Ela precisa existir fisicamente.

5.1 — Configuração básica

  1. Abra Controllers nas configurações do Dolphin
  2. Na área de Wii Controllers, marque Real Balance Board
  3. Ative Continuous Scanning na configuração do Wii Remote
  4. Segure o botão sync da placa até ela parear

A placa aparece como um Wii Remote especial. Não é necessário mapear botões.

5.2 — Quando o Windows "rouba" o pareamento

Sintoma: a placa conecta no Bluetooth do Windows, mas o Dolphin não a reconhece.

  1. Abra as configurações de Bluetooth do Windows
  2. Remova o dispositivo Balance Board da lista
  3. Volte ao Dolphin e faça o pareamento por ele

O Windows trata a placa como dispositivo de entrada e reserva a conexão. O Dolphin precisa gerenciar o pareamento sozinho.

5.3 — Bluetooth Passthrough (caminho mais fiel)

Entrega um adaptador Bluetooth USB inteiro ao Dolphin, com comportamento idêntico ao do console. Requer um adaptador dedicado, que não será usado pelo Windows.

  1. Descubra o VID e o PID do adaptador no Gerenciador de Dispositivos
  2. Abra Config > Wii
  3. Adicione o adaptador em Whitelisted USB Passthrough Devices
  4. Mapeie uma tecla em Hotkey Settings > Wii and Wii Remote > Press Sync Button
  5. Ative o modo passthrough e sincronize a placa com essa tecla

Etapa 6 — Conferir unidades e região

Se você importou a NAND, as configurações de sistema vieram junto e o jogo já abre em quilos e centímetros. Nada a fazer.

Se algo ainda aparecer em libras ou polegadas, verifique nesta ordem:

  1. Unidades do sistema: Menu Wii > Wii Options > Console Settings
  2. Unidades dentro do jogo: Wii Fit > Settings > Units
  3. Região: a ISO precisa ser da mesma região da NAND. Save de console americano não carrega em ISO europeia

Etapa 7 — Diagnóstico de problemas

Sintoma Causa Solução
Tela preta + LED azul piscando no BootMii Arquivos do BootMii ausentes no SD Extrair o pacote na raiz do cartão (pasta bootmii)
BootMii não abre nem com os arquivos Cartão SD incompatível Trocar por cartão de marca, FAT32, até 32 GB
nand.bin com 0 bytes Falha de escrita no cartão Refazer o backup com outro cartão
Wii Fit sem os Miis NAND não importada Importar o backup BootMii completo
Jogo pede peso em libras Configuração de sistema em NTSC-U Ajustar em Console Settings, ou reimportar a NAND
Save não carrega Região da ISO diferente da NAND Usar o dump do próprio disco
Conteúdo de DLC faltando Jogo rodando direto do WAD ou ticket ausente Instalar na NAND e copiar title + ticket
Placa conecta no Windows mas não no Dolphin Pareamento gerenciado pelo sistema Remover o dispositivo do Windows e parear pelo Dolphin
Placa não aparece na lista Continuous Scanning desativado Ativar nas opções de Wii Remote
Jogo trava na tela de seleção de Mii Mii original não existe na NAND Reimportar a NAND ou recriar o Mii no Mii Channel

Checklist final

  • Backup da NAND feito e verificado (arquivo maior que 0 bytes)
  • bootmii.ini configurado, se quiser boot direto no Menu
  • Disco extraído do próprio console, em ISO ou RVZ
  • NAND importada no Dolphin e Menu Wii funcional
  • Jogo de WiiWare instalado na NAND, não rodando do WAD
  • DLC copiada nas pastas title e ticket
  • DLC instalada antes de carregar o save
  • Real Balance Board ativada com Continuous Scanning
  • Placa pareada pelo Dolphin, não pelo Windows
  • Unidades em quilos confirmadas

Com as sete etapas concluídas, o Wii Fit abre no PC com o mesmo perfil do console: o Mii correto, o histórico de peso, as medidas em quilos e a placa respondendo como respondia na sala.