# Claude Code로 롤러코스터 타이쿤을 플레이해봤어요

> Clean Markdown view of GeekNews topic #25951. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25951](https://news.hada.io/topic?id=25951)
- GeekNews Markdown: [https://news.hada.io/topic/25951.md](https://news.hada.io/topic/25951.md)
- Type: news
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-19T10:19:02+09:00
- Updated: 2026-01-19T10:19:02+09:00
- Original source: [labs.ramp.com](https://labs.ramp.com/rct)
- Points: 16
- Comments: 1

## Summary

Claude Code를 **OpenRCT2**에 통합하여 AI가 직접 놀이공원을 운영하는 실험을 진행했는데요. AI는 재정과 손님 만족도 등 100여 개 지표를 분석해 매대 설치나 입장료 조정 같은 결정을 자동 수행했으며, **CLI 도구 rctctl**을 통해 모든 조작을 명령줄로 처리했습니다. 실험 결과 Claude는 데이터 기반 관리에는 강점을 보였지만, **공간 인식과 경로 설계**에서는 한계를 드러냈습니다. 아직 이런 형태의 진행까지는 무리가 있는 것 같네요.

## Topic Body

- **클로드 코드**를 오픈소스 게임 **RollerCoaster Tycoon 2(OpenRCT2)** 에 통합해, AI가 실제로 놀이공원을 운영하도록 실험한 프로젝트  
- AI는 **재정, 손님 불만, 놀이기구 고장 데이터** 등 100여 개 지표를 분석해, 음료 매대 설치·직원 고용·입장료 조정 등 관리 결정을 자동 수행  
- **CLI 도구 rctctl**을 통해 게임 내 모든 조작을 명령줄로 수행하며, **Kubernetes의 kubectl**과 유사한 구조로 설계  
- Claude는 **데이터 분석·가격 조정·직원 관리**에는 강점을 보였으나, **경로 연결·롤러코스터 배치·지형 인식** 등 공간적 과제에서는 한계를 드러냄  
- 실험을 통해 **에이전트 설계의 핵심은 환경의 가독성과 인터페이스 품질**임을 확인함  
  
---  
  
### 프로젝트 개요  
- Ramp Labs는 **Claude Code**를 **RollerCoaster Tycoon 2**에 통합해, AI가 공원 운영을 직접 수행하도록 실험  
  - Claude는 게임 내 재정, 손님 만족도, 놀이기구 상태 등 100여 개 데이터를 분석  
  - 결과를 바탕으로 **음료 매대 추가, 정비공 고용, 입장료 인상** 등의 조치를 자동 제안  
- 실험 목적은 **B2B SaaS 환경에서의 AI 에이전트 설계 교훈**을 얻는 것  
- RollerCoaster Tycoon은 **고객 중심의 비즈니스 운영과 디지털 피드백 루프**를 반영하는 게임으로 선택  
  
### 왜 RollerCoaster Tycoon인가  
- Ramp는 **작업별 소규모 에이전트**를 개발 중이며, 보안과 맥락 한계를 고려한 접근을 취함  
- 그러나 **광범위한 권한을 가진 단일 에이전트**에 대한 실험적 욕구가 있었음  
- RollerCoaster Tycoon은 **경제·고객·운영 관리**가 결합된 환경으로, SaaS 운영과 유사한 구조 제공  
- 게임의 인터페이스는 **B2B SaaS 대시보드**와 유사하며, Claude의 **레트로-퓨처리즘적 터미널 인터페이스**와도 잘 어울림  
  
### Claude의 능력과 한계  
- OpenRCT2를 포크해 **터미널 창**을 추가하고, Claude가 명령줄로 게임을 제어하도록 구현  
- **rctctl CLI**는 사용자가 가능한 모든 조작을 커버하며, **JSON-RPC**를 통해 게임 상태와 통신  
- Claude는 시각 대신 **ASCII 지도 출력**으로 공간 정보를 파악  
  
#### Claude의 강점  
- **게임 지식**: RCT 관련 지식이 풍부하고, 90년대 게임 환경에서도 자연스럽게 작동  
- **정보 수집**: 손님 피드백, 재정 데이터 등 다양한 지표를 통합 분석  
- **디지털 조작**: 놀이기구 개폐, 가격 조정, 직원 고용, 마케팅 실행 등 비공간적 작업에 강함  
- **시설 배치**: 화장실·음료 매대 등 단순 구조물은 안정적으로 배치 가능  
  
#### Claude의 약점  
- **경로 연결**: 길 찾기, 입구·출구 연결 등 공간적 작업에 어려움  
- **롤러코스터 배치**: 대형 놀이기구 설치 시 장애물·지형 인식 실패  
- **입체 공간 인식**: 경사, 지하 구조, 맞춤형 코스터 설계 불가능  
- 결론적으로 Claude는 **정보 기반 관리에는 강하지만, 시각·공간적 조작에는 약함**  
  
### 빌드 과정  
- OpenRCT2(C++)를 기반으로 **Claude 터미널 창, rctctl CLI, RPC 계층, 테스트 코드**를 추가  
- 초기 버전은 **ChatGPT o3-Pro Deep Research**로 계획, 이후 **GPT-5.1-codex**로 재구현  
- 총 40시간 이상 소요되었으며, **피드백 루프 부재**가 가장 큰 병목으로 지적  
- Claude가 직접 **버그 리포트를 저장소에 작성**하도록 하여 QA 효율을 높임  
  
### 주요 교훈  
- **환경 가독성(Environment Legibility)** : Claude는 명확한 데이터 인터페이스에서는 뛰어나지만, 텍스트 기반 공간 표현에는 약함  
- **코딩 에이전트의 가치**: 최신 모델 업데이트(Claude Opus 4.5 등)가 즉시 반영되어 개발 속도 향상  
- **개발 루프의 중요성**: 자동 QA 루프가 없으면 생산성이 급감  
- **경험의 우위**: LLM의 작동 원리를 이해하는 가장 좋은 방법은 직접 실험과 플레이  
  
### 실행 및 오픈소스 정보  
- macOS(Sonoma 이상), Xcode, CMake, Ninja, RCT2(정품) 필요  
- `rctctl` CLI는 **kubectl 스타일 명령 구조**로, Claude가 JSON-RPC를 통해 게임을 제어  
- 빌드 결과물:  
  - OpenRCT2 (터미널 내장 버전)  
  - rctctl (CLI 도구)  
  - Sprite 자산  
- 전체 코드는 GitHub(jaysobel/OpenRCT2)에서 공개, Twitch에서 실시간 시연 가능  
  
### 결론  
- Claude Code는 **운영 자동화의 잠재력과 한계**를 동시에 보여줌  
- RollerCoaster Tycoon은 **그래픽 인터페이스와 지능형 시스템의 과도기적 실험장**으로 기능  
- 핵심 통찰: **AI 에이전트의 성패는 환경의 명료함과 인터페이스 설계 품질에 달려 있음**

## Comments



### Comment 49456

- Author: neo
- Created: 2026-01-19T10:20:02+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46588972)   
- 내 LLM이 사용하는 **도구 수준이 너무 낮음**이 늘 아쉬움  
  나는 IDE에서 리팩토링, 심볼 추적, 함수 사용처 보기 등을 클릭 한 번에 하지만, LLM은 grep과 diff, cat 같은 원시적인 명령만 씀  
  LLM에게 더 나은 **코드 작성·리팩토링 도구**를 주려는 시도가 있는지 궁금함  
  - VSCode Diagnostics나 LSP 서버 접근 권한을 줘도, LLM은 늘 기본 CLI 도구만 쓰려 함  
    AGENTS.md에 명시해도 무시하고 단순한 방식으로 돌아가서 답답함  
  - AI 개발 도구가 대부분 **VSCode 기반**이라 놀라움  
    JetBrains가 가진 리팩토링·코드 인스펙션 능력을 AI와 연결했다면 훨씬 앞서갔을 것 같음  
  - Claude Code가 2025년 12월 버전에서 **LSP를 공식 지원**했지만, 여전히 단순 도구 중심으로 학습된 듯함  
    LLM은 오히려 저수준 도구를 조합해 문제를 푸는 데 강점이 있음  
    인간에게는 복잡한 20줄짜리 Python 스크립트를 LLM은 0.5초 만에 만들어냄  
  - Zed Editor는 LSP 기반 기능을 LLM에게 그대로 제공해, grep 의존도를 줄여줌  
  - LLM은 인간처럼 IDE 기능이 꼭 필요하지 않음  
    코드 조각을 빠르게 이해하고 조합하므로 **refactoring 기능**이 오히려 혼란을 줄 수 있음  
    너무 많은 도구를 주면 판단력이 흐려질 위험이 있음  
  
- 작성자임. **보너스 링크**를 공유함  
  [Simon Willison의 claude-code-transcripts를 이용한 세션 스크립트](https://htmlpreview.github.io/?https://gist.githubusercontent.com/jaysobel/dfeed9a65ce7209274acf9ada0eaa65e/raw/claude_code_rollercoaster_tycoon_transcript.html)  
  [Reddit 포스트](https://www.reddit.com/r/ClaudeAI/comments/1q9fen5/claude_code_in_rollercoaster_tycoon/)  
  [OpenRCT2 프로젝트 Repo](https://github.com/jaysobel/OpenRCT2)  
  - CLI 대신 **스크린샷이나 시각화된 화면**으로 평가했는지 궁금함  
    Claude가 이미지 기반 입력에는 강하지만 ASCII 도식에는 약할 수 있음  
  - Claude의 **시각·공간 인식 한계**를 언급하며, OpenAI 모델이 이미지 이해에는 더 뛰어날 것 같다는 의견이 있음  
  
- 현실 세계의 에이전트 설계처럼, 범용 에이전트의 한계는 **환경의 가시성**과 **인터페이스의 강도**에 있음  
  그래서 우리는 에이전트를 ‘지능’이 아닌 ‘성실함’을 자동화하는 존재로 보는 게 맞음  
  
- “revert”라는 단어를 잘못 써서 Codex가 실제로 `git revert`를 실행해 **작업 내용을 되돌린 사건**이 있었음  
  - 이런 도구들이 **작업 로그를 재생 가능하게 저장하지 않는 것**이 놀라움  
    `git revert`는 파괴적 명령이 아닌데, 데이터 손실이 있었다면 아마 `git reset --hard`였을 가능성이 있음  
  - 이런 사고를 막으려면 **명령 권한 제어** 기능이 필요함  
  - 그래서 Jujutsu를 쓰자는 의견도 있음, `jj status`를 프롬프트에 넣으면 안전함  
  
- 이 게임이 **어셈블리 코드로 단 한 명이 개발**했다는 점이 놀라움  
  개발자를 찾아 감사 인사를 전하고 싶음  
  Claude Code의 시도도 인상적이라 관심이 생김  
  
- C++을 전혀 모른 채 **vibe-coding**으로 프로젝트를 완성했다는 부분이 흥미로움  
  - 보통 vibe-coding은 “몇 시간 만에 끝냈다”고 하지만, 이번엔 **현실적인 일정**을 제시한 점이 신선함  
  - 그들의 시행착오와 문제 해결 과정이 정말 흥미로웠음  
  - 1997년에 이런 게 있었다면 내 전 재산을 들여서라도 샀을 것 같음  
    요즘 세대는 이런 환경의 가치를 잘 모르는 듯함  
  
- 영상 마지막의 인터뷰가 인상 깊었음  
  kubectl 스타일 CLI, Claude의 피드백, 경고 시스템 등 **AI와 인간의 협업 도구**가 점점 중요해짐  
  인간이 시각적으로 이해할 수 있는 맥락을 AI에게도 제공하면 훨씬 나은 결과를 얻을 수 있음  
  - 하지만 AI가 스스로를 개선하는 구조는 실제로는 잘 작동하지 않음  
    단순히 **컨텍스트를 늘리는 것**만으로는 학습이 일어나지 않고, 결국 미세조정(fine-tuning)이 필요함  
  
- 글이 흥미로웠지만, AI가 실제로 게임을 얼마나 잘했는지 **결과 분석**이 부족했음  
  - 실제로는 재정 관리에는 능했지만, **건물 짓기**에는 약했음  
    2D 맵 이해가 어려워서 화장실과 핫도그 가판대 정도만 지었음  
    멀티모달 모델이라면 훨씬 나았을 것 같음  
  - 어떤 사람은 AI의 핵심은 **생성 능력**이지 검증이 아니라고 봄  
  
- Claude Code에서 **컨텍스트 잔여량**을 어떻게 확인하는지 궁금했음  
  - `/context` 명령으로 바로 확인 가능함  
  - 상태줄(status line)에 **컨텍스트 사용량 표시**를 추가할 수도 있음  
    색상 막대로 남은 용량을 시각화하는 플러그인도 있음  
  
- 이런 실험에는 **Civilization 같은 턴제 게임**이 더 적합하다고 생각함  
  맵이 격자 구조이고, 턴 단위로 진행되기 때문임
