16 pontos por GN⁺ 2026-01-19 | 1 comentários | Compartilhar no WhatsApp
  • Claude Code foi integrado ao jogo de código aberto RollerCoaster Tycoon 2 (OpenRCT2) em um projeto experimental para fazer a IA operar um parque de diversões de verdade
  • A IA analisou mais de 100 métricas, como finanças, reclamações dos visitantes e dados de falhas nos brinquedos, e executou automaticamente decisões de gestão, como instalar barracas de bebidas, contratar funcionários e ajustar o preço de entrada
  • Por meio da ferramenta de CLI rctctl, todas as ações no jogo são realizadas pela linha de comando, em uma estrutura projetada de forma semelhante ao kubectl do Kubernetes
  • O Claude mostrou pontos fortes em análise de dados, ajuste de preços e gestão de funcionários, mas revelou limitações em tarefas espaciais como conectar caminhos, posicionar montanhas-russas e reconhecer o terreno
  • O experimento confirmou que o ponto central no design de agentes é a legibilidade do ambiente e a qualidade da interface

Visão geral do projeto

  • A Ramp Labs integrou o Claude Code ao RollerCoaster Tycoon 2 para testar a IA operando diretamente o parque
    • O Claude analisa mais de 100 tipos de dados no jogo, como finanças, satisfação dos visitantes e estado dos brinquedos
    • Com base nisso, propõe automaticamente ações como adicionar barracas de bebidas, contratar mecânicos e aumentar o valor do ingresso
  • O objetivo do experimento era obter aprendizados para o design de agentes de IA em ambientes B2B SaaS
  • RollerCoaster Tycoon foi escolhido por refletir operações de negócios centradas no cliente e loops de feedback digitais

Por que RollerCoaster Tycoon?

  • A Ramp está desenvolvendo pequenos agentes especializados por tarefa, adotando uma abordagem que leva em conta limites de segurança e de contexto
  • Ainda assim, havia interesse em experimentar um agente único com permissões amplas
  • RollerCoaster Tycoon oferece um ambiente que combina economia, clientes e gestão operacional, com uma estrutura semelhante à operação de SaaS
  • A interface do jogo se parece com um dashboard B2B SaaS e também combina bem com a interface de terminal retrofuturista do Claude

Capacidades e limitações do Claude

  • Foi feito um fork do OpenRCT2 para adicionar uma janela de terminal, permitindo que o Claude controlasse o jogo por linha de comando
  • A CLI rctctl cobre todas as ações possíveis para o usuário e se comunica com o estado do jogo via JSON-RPC
  • Em vez de visão, o Claude entende informações espaciais por meio de uma saída de mapa em ASCII

Pontos fortes do Claude

  • Conhecimento do jogo: tem amplo conhecimento sobre RCT e opera naturalmente até em um ambiente de jogo dos anos 90
  • Coleta de informações: integra e analisa diversos indicadores, como feedback dos visitantes e dados financeiros
  • Manipulação digital: é forte em tarefas não espaciais, como abrir e fechar brinquedos, ajustar preços, contratar funcionários e executar marketing
  • Posicionamento de instalações: consegue posicionar com estabilidade estruturas simples, como banheiros e barracas de bebidas

Pontos fracos do Claude

  • Conexão de caminhos: tem dificuldade com tarefas espaciais, como encontrar rotas e conectar entradas e saídas
  • Posicionamento de montanhas-russas: falha ao reconhecer obstáculos e terreno ao instalar brinquedos grandes
  • Percepção de espaço tridimensional: não consegue lidar com inclinações, estruturas subterrâneas nem projetar montanhas-russas personalizadas
  • Em resumo, o Claude é forte em gestão baseada em informação, mas fraco em manipulação visual e espacial

Processo de build

  • Com base no OpenRCT2 (C++), foram adicionados a janela de terminal do Claude, a CLI rctctl, a camada de RPC e o código de teste
  • A versão inicial foi planejada com ChatGPT o3-Pro Deep Research e depois reimplementada com GPT-5.1-codex
  • O trabalho levou mais de 40 horas no total, e a ausência de um loop de feedback foi apontada como o maior gargalo
  • A eficiência de QA aumentou ao fazer o próprio Claude registrar relatórios de bugs no repositório

Principais aprendizados

  • Legibilidade do ambiente (Environment Legibility): o Claude se destaca com interfaces de dados claras, mas é fraco em representações espaciais baseadas em texto
  • Valor dos agentes de codificação: atualizações recentes de modelos, como o Claude Opus 4.5, foram refletidas imediatamente, acelerando o desenvolvimento
  • Importância do loop de desenvolvimento: sem um loop automático de QA, a produtividade cai drasticamente
  • Vantagem da experiência: a melhor forma de entender como os LLMs funcionam é experimentar e jogar diretamente

Execução e informações de código aberto

  • São necessários macOS (Sonoma ou superior), Xcode, CMake, Ninja e RCT2 (original)
  • A CLI rctctl usa uma estrutura de comandos no estilo kubectl, e o Claude controla o jogo via JSON-RPC
  • Artefatos gerados no build:
    • OpenRCT2 (versão com terminal embutido)
    • rctctl (ferramenta de CLI)
    • Assets de sprites
  • Todo o código está disponível no GitHub (jaysobel/OpenRCT2), com demonstrações ao vivo na Twitch

Conclusão

  • O Claude Code mostra ao mesmo tempo o potencial e os limites da automação operacional
  • RollerCoaster Tycoon funciona como um campo de testes de transição entre interfaces gráficas e sistemas inteligentes
  • Insight central: o sucesso ou fracasso de agentes de IA depende da clareza do ambiente e da qualidade do design da interface

1 comentários

 
GN⁺ 2026-01-19
Opiniões do Hacker News
  • Sempre acho uma pena que o nível das ferramentas que meu LLM usa seja baixo demais
    Eu, na IDE, faço refatoração, rastreio de símbolos, vejo usos de funções etc. com um clique, mas o LLM só usa comandos primitivos como grep, diff e cat
    Fico me perguntando se há tentativas de dar ao LLM ferramentas melhores para escrever e refatorar código

    • Mesmo dando acesso a VSCode Diagnostics ou a um servidor LSP, o LLM sempre tenta usar só as ferramentas básicas de CLI
      Mesmo deixando isso explícito no AGENTS.md, ele ignora e volta para o jeito simples, o que é frustrante
    • Surpreende que a maioria das ferramentas de desenvolvimento com IA seja baseada em VSCode
      Se a JetBrains tivesse conectado sua capacidade de refatoração e inspeção de código à IA, parece que estaria muito mais à frente
    • O Claude Code passou a ter suporte oficial a LSP na versão de dezembro de 2025, mas ainda parece ter sido treinado com foco em ferramentas simples
      Na verdade, o LLM tem mais vantagem em resolver problemas combinando ferramentas de baixo nível
      Um script Python complexo de 20 linhas, para um humano, o LLM cria em 0,5 segundo
    • O Zed Editor oferece ao LLM recursos baseados em LSP diretamente, reduzindo a dependência de grep
    • O LLM não precisa necessariamente de recursos de IDE como um humano
      Como entende e combina trechos de código rapidamente, recursos de refactoring podem acabar causando mais confusão
      Se receber ferramentas demais, há o risco de perder clareza de julgamento
  • Sou o autor. Compartilho links bônus
    Script da sessão usando o claude-code-transcripts de Simon Willison
    Post no Reddit
    Repo do projeto OpenRCT2

    • Fiquei curioso se a avaliação foi feita por capturas de tela ou telas visualizadas, em vez de CLI
      O Claude é forte com entradas baseadas em imagem, mas pode ser fraco com diagramas em ASCII
    • Há quem mencione as limitações visuais e espaciais do Claude e ache que modelos da OpenAI talvez sejam melhores em entender imagens
  • Assim como no projeto de agentes para o mundo real, os limites de um agente de propósito geral estão na visibilidade do ambiente e na força da interface
    Por isso, faz mais sentido ver agentes não como automação de “inteligência”, mas de “diligência”

  • Houve um caso em que, por usar a palavra “revert” de forma errada, o Codex executou de fato git revert e desfez o trabalho

    • Surpreende que essas ferramentas não salvem os logs de trabalho de forma reproduzível
      git revert não é um comando destrutivo, então, se houve perda de dados, provavelmente foi git reset --hard
    • Para evitar esse tipo de acidente, é preciso haver um recurso de controle de permissões de comandos
    • Por isso também há quem proponha usar Jujutsu; colocar jj status no prompt seria mais seguro
  • É impressionante que este jogo tenha sido desenvolvido por uma única pessoa em assembly
    Dá vontade de encontrar o desenvolvedor e agradecer
    A tentativa com Claude Code também foi marcante e despertou meu interesse

  • Foi interessante a parte em que o projeto foi concluído com vibe-coding sem praticamente conhecer C++

    • Normalmente vibe-coding vem com “terminei em poucas horas”, mas desta vez foi revigorante ver um cronograma realista
    • O processo de tentativa e erro deles, e de resolução dos problemas, foi realmente muito interessante
    • Se algo assim existisse em 1997, acho que eu teria gasto todo o meu dinheiro para comprar
      A geração de hoje parece não entender bem o valor desse tipo de ambiente
  • A entrevista no fim do vídeo foi marcante
    Ferramentas de colaboração entre IA e humanos, como CLI no estilo kubectl, feedback do Claude e sistemas de alerta, estão se tornando cada vez mais importantes
    Se dermos à IA o mesmo contexto que humanos conseguem entender visualmente, podemos obter resultados muito melhores

    • Mas uma estrutura em que a IA melhora a si mesma, na prática, não funciona tão bem
      aumentar o contexto não gera aprendizado, e no fim é preciso fine-tuning
  • O texto foi interessante, mas faltou análise dos resultados sobre o quão bem a IA realmente jogou

    • Na prática, ela era boa em gerenciar finanças, mas fraca em construir estruturas
      Como tinha dificuldade para entender o mapa 2D, só construiu coisas como banheiros e barracas de cachorro-quente
      Com um modelo multimodal, provavelmente teria se saído bem melhor
    • Algumas pessoas veem que o ponto central da IA é a capacidade de gerar, não de verificar
  • Fiquei curioso sobre como verificar a quantidade de contexto restante no Claude Code

    • Dá para ver na hora com o comando /context
    • Também dá para adicionar uma exibição de uso de contexto na status line
      Há até plugin que visualiza a capacidade restante com uma barra colorida
  • Acho que, para esse tipo de experimento, jogos por turno como Civilization seriam mais adequados
    Porque o mapa tem estrutura em grade e o progresso acontece por turnos