바이브 코딩으로 11년 전 유비소프트가 죽인 게임을 되살려냈습니다. GPT Sol 5.6이 게임을 다시 실행하는 데 결정적인 역할을 했습니다.
I used vibe coding to perform necromancy on a game Ubisoft killed 11 years ago. GPT Sol 5.6 made most of the major breakthroughs in getting the game to run again.
핵심 요약
AI 에이전트를 활용해 11년 전 서비스가 종료된 게임 '스파르타쿠스 레전드'를 리버스 엔지니어링으로 부활시킨 사례입니다.
- 리버스 엔지니어링 — AI 에이전트를 활용해 게임 바이너리를 분석하고 서버 연결 문제를 해결함.
- 게임 부활 — 2013년 출시 후 종료된 '스파르타쿠스 레전드'를 다시 실행 가능하게 만듦.
- 멀티플레이어 복구 — P2P 방식의 대전 로직을 분석해 멀티플레이어 기능을 성공적으로 구현함.
- AI의 효율성 — 복잡한 리버스 엔지니어링 작업을 AI를 통해 며칠 만에 완료함.
스파르타쿠스 레전드(Spartacus Legends)는 2013년 유비소프트가 동명의 TV 쇼와 연계해서 내놓은 무료 게임이야. 쿵푸 팩토리(Kung Fu Factory)가 개발했는데, 전형적인 페이투윈(P2W) 격투 게임이었지. 게임 내 재화인 실버를 노가다해서 대부분 아이템을 얻을 순 있었지만, 기본적으로는 악랄한 과금 유도 시스템을 갖추고 있었어. 당시엔 평이 별로였지만, 지금 와서 추억 보정 때문인지 좋게 기억하는 사람들도 꽤 있더라고. 검투사 테마 격투 게임이 워낙 귀하다 보니 다시 해보고 싶어 하는 팬들이 많았지.
나는 이 게임의 바이너리를 리버스 엔지니어링하려고 기드라(Ghidra), RPCS3 라이브 디버깅, 그리고 AI 에이전트 3개를 동원했어. 처음엔 claude code를 썼는데, 내가 AI 쪽은 잘 몰라서 그런지 초기 진행 속도가 진짜 답답하더라. 첫 세션 컨텍스트를 거의 다 채워갈 때쯤, 10시간 넘게 우리를 괴롭히던 "온라인 서비스 이용 불가" 메시지 창을 뚫을 수 있겠다는 감이 왔어. 새벽 3시라 토큰도 다 떨어져서 자러 가려던 참이었는데, RPCS3용 모델 제어 프로토콜이 있는지 확인해 보자는 생각이 들더라고. 찾아보니까 얼추 비슷한 게 있더라! 최소한 에이전트가 게임 실행 중에 메모리를 읽고 건드릴 수 있게 해주는 툴은 있었어.
클로드는 그 툴을 써보기도 전에 나는 GPT 5.6(Codex 기반, 구독 새로 함)으로 갈아탔어. GPT Sol은 바로 PINE(Protocol for Instrumentation of Emulators)을 활용한 자체 툴링을 만들기 시작했는데, 윈도우를 통해 에뮬레이터 메모리를 직접 읽는 방식이랑 조합해서 툴 자체의 한계까지 돌파해버리더라.
20분 정도 지났나? Sol이 게임 로그인 장벽을 완전히 박살 내버렸어. 2015년 이후로 아무도 실시간으로 본 적 없는 타이틀 화면이 내 눈앞에 뜨더라. 그 뒤로는 게임이 거의 완벽하게 돌아갔어.
알고 보니 게임 내에서 망해버린 유료 재화 시스템과 관련된 부분만 내 서버 에뮬레이터가 클라이언트의 호출을 처리해주면 되는 구조였어. 그 외에는 게임 로직이 거의 클라이언트 사이드에 다 들어있더라고.
GPT Sol은 멀티플레이어 구현에서도 대박을 터뜨렸어. Sol이 요약한 내용은 이거야:
멀티플레이는 처음엔 불가능해 보였지만, 바이너리를 까보니 유비소프트 서버가 시뮬레이션하는 게 아니라 호스트 권한의 P2P 방식이었어. RPCN이 이미 매치메이킹, 신호 전달, 리더보드 기능을 제공하고 있었고. 1프레임 매치메이킹 레이스랑 RPCS3 가상 포트 전달 문제를 추적한 끝에, 결국 클라이언트 두 개가 연결돼서 검투사를 교환하고, 전투에 진입해서 결과까지 제대로 뽑아내고, 메뉴로 돌아와서 원래 게임 내 리더보드에 기록까지 남기는 걸 성공했지.
저 요약본에선 간단하게 넘어갔지만, 사실 저 추적 과정이 나한텐 엄청나게 긴 싸움이었어. 클로드랑 새로운 Grok 4.6이랑 붙잡고 씨름하면서 고치려고 애썼거든. 그러다 GPT 주간 사용량이 갑자기 초기화된 걸 확인하고 바로 Sol한테 문제를 넘겼더니, 프롬프트 10개 만에 해결해 버리더라.
결론: 5일 동안 프로젝트를 진행해 본 결과, Sol의 리버스 엔지니어링 실력은 진짜 미쳤어. 주간 사용량만 하루 만에 다 안 썼어도 맨날 이것만 붙잡고 있었을 거야. 어쩌다 보니 주간 사용량이 두 번이나 초기화된 덕분에 겨우 성공할 수 있었지.
다들 이미 알겠지만, 이런 AI 덕분에 몇 달 걸릴 리버스 엔지니어링 작업을 며칠 만에 끝낼 수 있게 됐어. AI는 바이너리에서 패턴을 찾아내는 능력이 진짜 압도적이야. 내 경험상 Sol은 그 리버스 엔지니어링 지식들을 엮어서 목표를 달성하는 데 최적화되어 있어. 나는 거의 Sol medium만 썼는데, 요즘 깃허브에 리버스 엔지니어링 프로젝트가 쏟아져 나오는 게 괜한 게 아니더라.

