{"id":2452,"date":"2026-05-12T15:27:52","date_gmt":"2026-05-12T18:27:52","guid":{"rendered":"https:\/\/indiebrasilis.com.br\/?p=2452"},"modified":"2026-05-12T15:27:54","modified_gmt":"2026-05-12T18:27:54","slug":"parser-a-alma-invisivel-dos-adventures","status":"publish","type":"post","link":"https:\/\/indiebrasilis.com.br\/?p=2452","title":{"rendered":"Parser: A Alma Invis\u00edvel Dos Adventures"},"content":{"rendered":"\n<p>Durante muitos anos, os <strong>adventures <\/strong>foram definidos n\u00e3o apenas por suas hist\u00f3rias ou enigmas, mas pela forma como o jogador se comunicava com o jogo. Antes dos menus, \u00edcones e interfaces gr\u00e1ficas dominarem o mercado, existia o <strong>parser<\/strong>, o sistema respons\u00e1vel por interpretar os comandos digitados pelo jogador.<\/p>\n\n\n\n<p>O <strong>parser <\/strong>era, ao mesmo tempo, interface, int\u00e9rprete e narrador silencioso. Era ele quem tentava compreender frases como:<\/p>\n\n\n\n<p><strong>PEGUE A CHAVE<br>ABRA A PORTA<br>USE A CORDA NO GANCHO<\/strong><\/p>\n\n\n\n<p>E transformar aquelas palavras em a\u00e7\u00f5es dentro do mundo virtual. Nos <strong>adventures <\/strong>cl\u00e1ssicos, jogar significava conversar com a m\u00e1quina. Dessa forma, o <strong>parser<\/strong> era o mecanismo que analisava o texto digitado pelo jogador e tentava identificar os verbos, objetos, inten\u00e7\u00f5es e rela\u00e7\u00f5es entre elementos. Seu trabalho era converter linguagem humana em comandos internos compreens\u00edveis pelo jogo.<\/p>\n\n\n\n<p>Quando o jogador digitava: <strong>ABRA A PORTA COM A CHAVE<\/strong> o parser precisava reconhecer a a\u00e7\u00e3o principal (abrir), o objeto alvo (porta) e o instrumento utilizado (chave). Tudo isso era feito em computadores com pouqu\u00edssima mem\u00f3ria e processamento extremamente limitado, l\u00e1 no come\u00e7o dos anos <strong>80<\/strong>.<\/p>\n\n\n\n<p>Nos primeiros <strong>adventures<\/strong>, como <strong>Colossal Cave Adventure<\/strong> e <strong>Zork<\/strong>, os <strong>parsers <\/strong>eram relativamente simples. Normalmente trabalhavam com estruturas curtas: <strong>VERBO + OBJETO<\/strong>. Exemplos: <strong>PEGUE LANTERNA<\/strong>, <strong>ENTRE CAVERNA<\/strong> e <strong>LEIA LIVRO<\/strong>.<\/p>\n\n\n\n<p>Mesmo assim, aquilo parecia revolucion\u00e1rio. Pela primeira vez o jogador podia escrever livremente em vez de escolher op\u00e7\u00f5es fixas. O computador dava a ilus\u00e3o de compreender linguagem natural.<\/p>\n\n\n\n<p>Os computadores dos anos <strong>70 <\/strong>e <strong>80 <\/strong>tinham restri\u00e7\u00f5es severas tai como pouca mem\u00f3ria RAM, processadores lentos e armazenamento limitado. Por isso os <strong>parsers <\/strong>precisavam ser extremamente compactos.<\/p>\n\n\n\n<p>Muitas vezes conheciam poucas dezenas de palavras e isso gerava situa\u00e7\u00f5es cl\u00e1ssicas: <strong>N\u00c3O ENTENDO ESSA PALAVRA<\/strong><br>ou <strong>N\u00c3O SEI COMO FAZER ISSO<\/strong>. O jogador precisava aprender a falar a l\u00edngua do jogo.<\/p>\n\n\n\n<p>Apesar das limita\u00e7\u00f5es, os parsers criavam algo poderoso: a sensa\u00e7\u00e3o de di\u00e1logo. O jogador come\u00e7ava a acreditar que o computador realmente entendia suas inten\u00e7\u00f5es. Esse fen\u00f4meno foi essencial para o encanto dos <strong>adventures<\/strong>.<\/p>\n\n\n\n<p>Ao contr\u00e1rio de outros jogos da \u00e9poca, nos <strong>adventures<\/strong> a imagina\u00e7\u00e3o preenchia o espa\u00e7o entre texto e interpreta\u00e7\u00e3o. Cada resposta parecia parte de uma conversa.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"331\" src=\"https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03b.png\" alt=\"\" class=\"wp-image-2454\" srcset=\"https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03b.png 972w, https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03b-300x102.png 300w, https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03b-768x262.png 768w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/figure>\n<\/div>\n\n\n<p>Com o tempo, os <strong>parsers <\/strong>ficaram mais sofisticados. Passaram a aceitar frases maiores, m\u00faltiplos objetos, preposi\u00e7\u00f5es e comandos compostos. Por exemplo: <strong>PEGUE TODAS AS CHAVES EXCETO A DOURADA<\/strong> ou <strong>COLOQUE O LIVRO NA ESTANTE<\/strong>.<\/p>\n\n\n\n<p>Empresas como a <strong>Infocom <\/strong>ficaram famosas pela qualidade quase liter\u00e1ria de seus parsers. Os jogos tentavam interpretar sin\u00f4nimos, contextos e varia\u00e7\u00f5es de linguagem.<\/p>\n\n\n\n<p>Nos melhores <strong>adventures<\/strong>, o parser fazia parte da personalidade do jogo. Alguns eram bem-humorados, outros ir\u00f4nicos, sarc\u00e1sticos ou misteriosos. Normalmente o <strong>parser <\/strong>podia ser a consci\u00eancia ao lado do jogador ou mesmo a consci\u00eancia do pr\u00f3prio jogador, tipo <strong>N\u00d3S ESTAMOS<\/strong> em oposi\u00e7\u00e3o a <strong>VOC\u00ca EST\u00c1<\/strong>. A resposta do <strong>parser <\/strong>ajudava a construir atmosfera da aventura.<\/p>\n\n\n\n<p>Um simples erro podia gerar mensagens memor\u00e1veis. Isso transformava a intera\u00e7\u00e3o em algo muito mais humano.<\/p>\n\n\n\n<p>Na segunda metade dos anos <strong>80<\/strong>, os <strong>adventures <\/strong>come\u00e7aram a migrar para interfaces gr\u00e1ficas. Jogos como <strong>King&#8217;s Quest<\/strong> ainda utilizavam <strong>parser <\/strong>textual junto aos gr\u00e1ficos. Mas depois vieram os sistemas <em>point-and-click<\/em> da <strong>Lucasfilm Games<\/strong> e da <strong>Sierra<\/strong>, reduzindo gradualmente o uso de digita\u00e7\u00e3o livre.<\/p>\n\n\n\n<p>O jogador passou a selecionar a\u00e7\u00f5es com o mouse, tais como abrir, pegar, falar e empurrar. Isso resolveu problemas de frustra\u00e7\u00e3o, j\u00e1 que o jogador n\u00e3o precisava mais adivinhar palavras aceitas pelo parser. Mas tamb\u00e9m reduziu parte da liberdade imaginativa.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"354\" src=\"https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03c-1024x354.png\" alt=\"\" class=\"wp-image-2455\" srcset=\"https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03c-1024x354.png 1024w, https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03c-300x104.png 300w, https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03c-768x266.png 768w, https:\/\/indiebrasilis.com.br\/wp-content\/uploads\/2026\/05\/texto-03c.png 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Nos <strong>adventures <\/strong>cl\u00e1ssicos, o <strong>parser <\/strong>criava uma rela\u00e7\u00e3o \u00fanica entre jogador e jogo. Cada comando digitado era uma tentativa de comunica\u00e7\u00e3o. Havia algo liter\u00e1rio naquele processo. O jogador escrevia a\u00e7\u00f5es. O computador respondia. A aventura surgia desse di\u00e1logo.<\/p>\n\n\n\n<p>Talvez por isso muitos f\u00e3s considerem os <strong>parsers <\/strong>muito mais do que simples sistemas t\u00e9cnicos. Eles eram mecanismos de imagina\u00e7\u00e3o.<\/p>\n\n\n\n<p>Uma interface baseada em linguagem, criada numa \u00e9poca em que os computadores mal conseguiam exibir algumas linhas de texto na tela. E mesmo assim conseguiam fazer o jogador acreditar que estava conversando com outro mundo.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Pra Brasileiro \u00c9 Tudo Diferente<\/strong><\/p>\n\n\n\n<p>No comecinho dos anos <strong>80 <\/strong>tive um primeiro contato com os adventures, atrav\u00e9s de uma aventura chamada <strong>Asylum<\/strong>, desenvolvida por <strong>William F. Denman Jr<\/strong>. e lan\u00e7ado pela <strong>Med Systems Software<\/strong>. Foi desse contato e pouco depois de digitar de um livro uma aventura chamada <strong>City Of Alzam<\/strong>, que decidi fazer o meu primeiro <strong>adventure<\/strong>, o <strong>Aventuras na Selva<\/strong>.<\/p>\n\n\n\n<p>Seguindo a tradi\u00e7\u00e3o j\u00e1 estabelecida, comecei pela estrutura mais simples: <strong>verbo+objeto<\/strong>. Na \u00e9poca o computador para o qual o jogo se destinava s\u00f3 possu\u00eda letras mai\u00fasculas e n\u00e3o tinha acentua\u00e7\u00e3o. <strong>MA\u00c7\u00c3 <\/strong>teria que ser <strong>MACA<\/strong>, mesmo que uma <strong>MACA <\/strong>fosse necess\u00e1ria no enredo.<\/p>\n\n\n\n<p>Depois de lan\u00e7ada a ventura, na revista <strong>Micro Sistemas<\/strong>, migrei para um computador bem mais potente: mais mem\u00f3ria, mais flexibilidade de grava\u00e7\u00e3o (disquetes 5 1\/4) e letras mai\u00fasculas e min\u00fasculas, mas ainda sem acentua\u00e7\u00e3o. Esse detalhe s\u00f3 foi resolvido com a migra\u00e7\u00e3o para os computadores <strong>MSX<\/strong>. Finalmente eu poderia criar uma aventura que respeitasse completamente a gram\u00e1tica da l\u00edngua portuguesa.<\/p>\n\n\n\n<p>Foi f\u00e1cil? Nem de longe. Mesmo hoje \u00e9 preciso cuidado com letras acentuadas pois elas geralmente fazem parte do conjunto estendido do c\u00f3digo <strong>ASCII <\/strong>e quase nunca s\u00e3o padronizadas. Mas esse n\u00e3o era o meu pior pesadelo.<\/p>\n\n\n\n<p>Como todo bom brazucadev eu queria usar h\u00edfen nos textos de resposta do <strong>parser<\/strong>, para dar um visual mais elegante aos par\u00e1grafos. Isso pode parecer simples, mas voc\u00ea (seja sincero) realmente lembra de todas as regras de hifena\u00e7\u00e3o que aprendeu na escola? Pois \u00e9!<\/p>\n\n\n\n<p>Com o aparecimento dos monitores planos, de grande resolu\u00e7\u00e3o, a hifena\u00e7\u00e3o foi se tornando desnecess\u00e1ria, ainda que fosse elegante. Os percal\u00e7os que passei eram mais em dire\u00e7\u00e3o \u00e0 complexidade da interpreta\u00e7\u00e3o, tipo reconhecer adjetivos, adv\u00e9rbios, a\u00e7\u00f5es compostas e principalmente a\u00e7\u00f5es complementares. Aprecie esse pequeno exemplo: <strong>PEGUE A CHAVE E GUARDE-A NA MALA<\/strong>. Ou algo assim: <strong>PEGUE A CHAVE E GUARDE-A<\/strong> (computador: <strong>ONDE?<\/strong>) <strong>NA MALA<\/strong>.<\/p>\n\n\n\n<p>At\u00e9 o final dos anos <strong>90<\/strong>, meu <strong>Sistema Editor de Adventures<\/strong> deu suporte a todos esses recursos mas a dire\u00e7\u00e3o que a evolu\u00e7\u00e3o dele seguiu (<strong>Zeus<\/strong>, <strong>Micro Aventuras<\/strong> e <strong>G\u00eanesis<\/strong>) privilegiou outro caminho: interfaces mais simples, que facilitam a indu\u00e7\u00e3o do jogador, e com a\u00e7\u00f5es pre estabelecidas.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>E AI A IA Nasceu<\/strong><\/p>\n\n\n\n<p>Em pleno ano da gra\u00e7a de <strong>2026 <\/strong>fica dif\u00edcil n\u00e3o fazer a pergunta: e se a gente fizer um adventure usando intelig\u00eancia artificial? N\u00e3o usando a <strong>IA <\/strong>como ferramenta pois isso j\u00e1 \u00e9 feito h\u00e1 v\u00e1rios anos, mas sim implement\u00e1-la dentro da estrutura do parser. Heim? Heim? Heim?<\/p>\n\n\n\n<p>Pergunta: a <strong>IA <\/strong>vai ser coautora ou autora aut\u00f4noma? Consegue ver a sutiliza aqui? Num modelo podemos ter uma parceira &#8220;cheia de ideias&#8221; e no outro a, a, <strong>Skynet<\/strong>. Brrr\u2026<\/p>\n\n\n\n<p>J\u00e1 que vamos usar a <strong>IA <\/strong>em sua plenitude, por que n\u00e3o deixar que ela conduza inclusive os procedimentos iniciais? A minha primeira pergunta ao <strong>GPT <\/strong>foi: \u00e9 poss\u00edvel integrar a <strong>IA <\/strong>a uma estrutura do <strong>parser <\/strong>de um <strong>adventure<\/strong> cl\u00e1ssico?<\/p>\n\n\n\n<p>Macacos me mordam: n\u00e3o s\u00f3 respondeu como j\u00e1 mandou um exemplo em <strong>html <\/strong>para que eu pudesse testar. E com ele algumas &#8220;melhorias&#8221; sem que nem tivessem sido pedidas. Dai em diante a brincadeira ficou extremamente divertida. Muda daqui, muda dali e a cada nova vers\u00e3o mais coisas bacanas foram adicionadas.<\/p>\n\n\n\n<p>O resultado est\u00e1 aqui mesmo, <strong><a href=\"https:\/\/tilt.net\/advents-IA\/adv-01\/\" target=\"_blank\" rel=\"noreferrer noopener\">no link a seguir (clique aqui)<\/a><\/strong>. Mas aten\u00e7\u00e3o ao experimento: o objetivo \u00e9 avaliar como a <strong>IA<\/strong> responde aos comandos do jogador. Se quiser saber mais sobre esse modelo espec\u00edfico (coautoria por sugest\u00e3o da pr\u00f3pria <strong>IA<\/strong>) fique antenado no <strong>IndieLab <\/strong>aqui do <strong>IndieBrasilis<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durante muitos anos, os adventures foram definidos n\u00e3o apenas por suas hist\u00f3rias ou enigmas, mas pela forma como o jogador [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2453,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[613],"class_list":["post-2452","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-narrativas","tag-indielab"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2452"}],"version-history":[{"count":1,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2452\/revisions"}],"predecessor-version":[{"id":2456,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2452\/revisions\/2456"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=\/wp\/v2\/media\/2453"}],"wp:attachment":[{"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/indiebrasilis.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}