콘텐츠로 이동

Claude Code로 홀덤 게임 서버 로직을 개발하며 얻은 교훈

신규 프로토타입 홀덤 게임의 서버 로직을 Claude Code와 함께 개발했다. 이 게임은 유저가 직접 플레이하지 않고, 가상의 홀덤 플레이어 중 한 명에게 베팅하는 방식이다.

1. 서버 작업 범위만 텍스트로 정리

섹션 제목: “1. 서버 작업 범위만 텍스트로 정리”

프로토타입 기획서를 숙지한 뒤 서버에서 작업할 내용만 텍스트로 모두 정리하고, GPT로 퇴고했다.

  • 기획서에는 클라이언트와 서버 개발 내용이 섞여 있다. 서버 범위만 골라 내야 한다.
  • “스펙 아웃”, “개발 기간 내 구현 가능하면 구현 희망” 같은 표현은 AI에게 의미가 없다. 구현할지 말지를 정해서 전달한다.

2. 기존 서버 코드를 참고해 구현 요청

섹션 제목: “2. 기존 서버 코드를 참고해 구현 요청”

정리한 텍스트를 .md 파일로 만들고, Claude에게 그 파일을 읽어 구현하라고 요청했다. 참고 코드로는 기존 카지노 게임의 서버 로직을 지정했고, 그중 게임성이 비슷한 바카라 로직을 특히 참고하게 했다.

  • 프로토타입인데 기존 프로젝트를 기반으로 DB와 저장 프로시저까지 전부 구현해, 직접 걷어 내야 했다. 당시 Claude Code CLI에서 변경을 부분 선택하는 방법을 찾지 못해, 모두 수락하거나 모두 버려야 했다.
  • CRLF/UTF-8, #include 같은 린트 사항을 놓쳐서 다시 시키거나 직접 고쳤다.
  • 일부 기획은 프롬프트로 쓰기 어려웠다. 예: “유저는 가상의 홀덤 플레이어에게 베팅한다.”
  • 불필요한 상속, 불필요하게 구체적인 구현, 정작 필요한 부분의 누락이 있었다. 이 코드를 제거하는 비용이 들었다.

4. 로직은 잘 만들었지만 통신부는 직접 개발

섹션 제목: “4. 로직은 잘 만들었지만 통신부는 직접 개발”

몬테카를로 시뮬레이션, 홀덤 승패 판정 같은 로직 자체는 잘 구현했다. 반면 클라이언트와 주고받는 REQ/RES 메시지는 결국 일일이 직접 개발했다. 메시지를 사전에 정의하지 않고 작업하면서 동시에 작성·변경·추가·제거했기 때문에, AI가 참고할 문맥이 없었다.

Claude가 생성한 README와 아키텍처 문서는 게임 개요, 핵심 클래스 역할, 게임 상태 전이, 진행 흐름, 컴포넌트 간 데이터 흐름과 의존성까지 담고 있었다. 평소 바쁘다는 이유로 미루던 문서 작업을 Claude에게 맡겨 끝냈다.

이후 테스트와 디버깅에도 더 써 볼 계획이다.

  • 단순 반복 코드와 로직 구현을 Claude에게 맡겨 직접 작성하는 양이 줄었다. README, 클래스 다이어그램처럼 미루기 쉬운 작업도 맡겼다.
  • 프롬프트로 설명하기 어렵거나, 설명하는 데 시간이 더 드는 요소가 홀덤 게임에는 많았다. 이런 복잡한 부분에서는 개발 시간이 줄지 않았다.
  • 클라이언트와의 프로토콜처럼 AI가 문맥으로 알 수 없는 부분은 미리 정의해서 넘겨야 한다.
  • 요구사항을 효과적으로 전달하는 프롬프트 작성 능력을 키워, 생성된 코드를 검토·수정하는 후처리 시간을 줄여야 한다.