라이엇의 카드게임을 완벽 재현한 개발자, 결국 공개 포기 선언

라이엇의 카드게임을 완벽 재현한 개발자, 결국 공개 포기 선언

9개월간의 대장정, 라이엇 TCG를 완벽 재현하다

지난 4월 1일, 한 개인 개발자가 레딧에 올린 게시물이 게임 개발 커뮤니티에 큰 화제를 불러일으켰다. 이 개발자는 무려 9개월에 걸쳐 라이엇 게임즈의 TCG '리프트바운드'를 완벽하게 재현한 엔진을 혼자서 제작했다고 발표했다.

프로젝트의 규모는 상상을 뛰어넘는다. 총 331,000줄의 러스트 코드, 664장의 카드 완전 구현, 5,900여 개의 테스트 코드까지 포함된 대작이다. 특히 세트 1과 2(Origins & Spirit Forge)의 모든 카드를 구현했으며, 85개 이상의 효과 타입과 34개의 트리거, 50개 이상의 키워드를 지원한다.

가장 인상적인 점: 제로 하드코딩

이 프로젝트에서 가장 놀라운 부분은 모든 카드가 JSON 파일로 구현되었다는 점이다. 엔진 자체는 어떤 카드를 실행하고 있는지조차 알지 못한다. 단순히 데이터에서 트리거, 효과, 타겟, 키워드를 읽어들여 범용 시스템을 통해 실행할 뿐이다.

개발자는 "'if card_name == "Jinx"' 같은 코드는 단 한 줄도 없다"고 강조했다. 카드 하나당 개별 코드를 작성하는 대신, 기존 효과들을 JSON에서 조합하는 방식으로 664장의 카드를 모두 구현할 수 있었다는 것이다.

기술적 도전과제들

개발자가 직면한 가장 큰 어려움들은 다음과 같다:

  • 방대한 규칙 시스템: 800개 이상의 번호가 매겨진 규칙들과 하위 규칙들, 계층화된 순서를 가진 치환 효과, 주문 해결을 위한 체인/우선순위 시스템, 6개의 자원 도메인 등을 모두 내재화해야 했다
  • 카드 간 상호작용: 카드 하나를 작동시키는 것은 쉽지만, 664장의 카드가 서로 영향을 주며 버그 없이 작동하게 하는 것은 완전히 다른 차원의 문제였다
  • 결정론적 시스템: 멀티플레이어와 리플레이 기능을 위해 모든 랜덤 결과가 재현 가능해야 했다. ChaCha8 시드 RNG, 직렬화 가능한 명령어, 부동소수점 배제 등 전체 파이프라인을 완벽하게 구축해야 했다
  • 네트워킹: 클라이언트를 신뢰하지 않는 권위 있는 서버, 서버 측 명령어 검증, 게임 도중 재접속 기능까지 갖춘 시스템 구축이 가장 가파른 학습 곡선이었다

영원히 볼 수 없는 게임

하지만 이 놀라운 프로젝트를 실제로 플레이해볼 방법은 없다. 개발자는 "코드나 실행 파일을 절대 공개하지 않을 것"이라고 분명히 했다. 리포지토리도, 다운로드도, 베타도 없다. 오직 시연 영상만이 이 프로젝트의 유일한 공개 결과물이다.

이는 리프트바운드가 라이엇의 게임이자 라이엇의 지적재산이기 때문이다. 라이엇의 디지털 도구 정책은 자동화된 규칙 실행을 포함한 독립 실행형 클라이언트를 명시적으로 금지하고 있으며, 개발자는 이를 완전히 존중한다고 밝혔다.

개발자는 세트 2에서 작업을 중단한다고 발표했다. "이것은 제품을 만드는 것이 아니라 복잡한 시스템이 내부적으로 어떻게 작동하는지 배우는 것이었다"고 설명했다.

커뮤니티의 반응

레딧 커뮤니티의 반응은 뜨거웠다. 한 유저는 "라이엇이 당신을 고용했으면 좋겠다"며 감탄을 표했고, 다른 유저는 농담 섞인 톤으로 "라이엇이 이 개발자 대신 그가 사용한 AI를 고용할 것"이라고 댓글을 달기도 했다.

개발자의 조언

개발자는 게임 개발이나 시스템 프로그래밍을 배우는 이들에게 다음과 같은 조언을 남겼다:

  1. 약간 두려운 것을 선택하라: TCG 엔진은 시작할 때 불가능해 보였지만, 실제로는 작은 문제들이 쌓인 것일 뿐이었다
  2. 데이터 기반 설계가 구원이다: 카드별 코드 작성을 멈추고 모든 것을 JSON으로 옮긴 순간 프로젝트가 관리 가능해졌다
  3. 모든 것을 테스트하라: 664장의 카드와 복잡한 상호작용에서는 수동 검증이 불가능하다. 5,900개의 테스트는 과도한 것이 아니라 생존을 위한 필수였다
  4. 러스트는 어렵지만 가치 있다: 컴파일러가 당신과 싸울 것이다. 하지만 331,000줄 후에 서버는 절대 크래시되지 않고 게임 상태는 항상 일관된다

이 프로젝트는 개인의 학습 열정이 어디까지 갈 수 있는지를 보여주는 놀라운 사례다. 비록 우리가 직접 플레이해볼 수는 없지만, 한 개발자의 9개월간의 여정 자체가 게임 개발 커뮤니티에 큰 영감을 주고 있다.


원문 링크: https://reddit.com/r/riftboundtcg/comments/1sa0nsw/i_spent_months_learning_rust_by_building_a_tcg/