- 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
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 deixando isso explícito no AGENTS.md, ele ignora e volta para o jeito simples, o que é frustrante
Se a JetBrains tivesse conectado sua capacidade de refatoração e inspeção de código à IA, parece que estaria muito mais à frente
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
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
O Claude é forte com entradas baseadas em imagem, mas pode ser fraco com diagramas em ASCII
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 reverte desfez o trabalhogit revertnão é um comando destrutivo, então, se houve perda de dados, provavelmente foigit reset --hardjj statusno 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++
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
Só 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
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
Fiquei curioso sobre como verificar a quantidade de contexto restante no Claude Code
/contextHá 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