Claude Code로 홀덤 게임 서버 로직을 개발하며 얻은 교훈
신규 프로토타입 홀덤 게임의 서버 로직을 Claude Code와 함께 개발했다. 이 게임은 유저가 직접 플레이하지 않고, 가상의 홀덤 플레이어 중 한 명에게 베팅하는 방식이다.
진행 과정
섹션 제목: “진행 과정”1. 서버 작업 범위만 텍스트로 정리
섹션 제목: “1. 서버 작업 범위만 텍스트로 정리”프로토타입 기획서를 숙지한 뒤 서버에서 작업할 내용만 텍스트로 모두 정리하고, GPT로 퇴고했다.
- 기획서에는 클라이언트와 서버 개발 내용이 섞여 있다. 서버 범위만 골라 내야 한다.
- “스펙 아웃”, “개발 기간 내 구현 가능하면 구현 희망” 같은 표현은 AI에게 의미가 없다. 구현할지 말지를 정해서 전달한다.
2. 기존 서버 코드를 참고해 구현 요청
섹션 제목: “2. 기존 서버 코드를 참고해 구현 요청”정리한 텍스트를 .md 파일로 만들고, Claude에게 그 파일을 읽어 구현하라고 요청했다. 참고 코드로는 기존 카지노 게임의 서버 로직을 지정했고, 그중 게임성이 비슷한 바카라 로직을 특히 참고하게 했다.
3. 1차 결과물에서 드러난 문제
섹션 제목: “3. 1차 결과물에서 드러난 문제”- 프로토타입인데 기존 프로젝트를 기반으로 DB와 저장 프로시저까지 전부 구현해, 직접 걷어 내야 했다. 당시 Claude Code CLI에서 변경을 부분 선택하는 방법을 찾지 못해, 모두 수락하거나 모두 버려야 했다.
- CRLF/UTF-8,
#include같은 린트 사항을 놓쳐서 다시 시키거나 직접 고쳤다. - 일부 기획은 프롬프트로 쓰기 어려웠다. 예: “유저는 가상의 홀덤 플레이어에게 베팅한다.”
- 불필요한 상속, 불필요하게 구체적인 구현, 정작 필요한 부분의 누락이 있었다. 이 코드를 제거하는 비용이 들었다.
4. 로직은 잘 만들었지만 통신부는 직접 개발
섹션 제목: “4. 로직은 잘 만들었지만 통신부는 직접 개발”몬테카를로 시뮬레이션, 홀덤 승패 판정 같은 로직 자체는 잘 구현했다. 반면 클라이언트와 주고받는 REQ/RES 메시지는 결국 일일이 직접 개발했다. 메시지를 사전에 정의하지 않고 작업하면서 동시에 작성·변경·추가·제거했기 때문에, AI가 참고할 문맥이 없었다.
5. 문서 생성
섹션 제목: “5. 문서 생성”Claude가 생성한 README와 아키텍처 문서는 게임 개요, 핵심 클래스 역할, 게임 상태 전이, 진행 흐름, 컴포넌트 간 데이터 흐름과 의존성까지 담고 있었다. 평소 바쁘다는 이유로 미루던 문서 작업을 Claude에게 맡겨 끝냈다.
이후 테스트와 디버깅에도 더 써 볼 계획이다.
배운 점
섹션 제목: “배운 점”- 단순 반복 코드와 로직 구현을 Claude에게 맡겨 직접 작성하는 양이 줄었다. README, 클래스 다이어그램처럼 미루기 쉬운 작업도 맡겼다.
- 프롬프트로 설명하기 어렵거나, 설명하는 데 시간이 더 드는 요소가 홀덤 게임에는 많았다. 이런 복잡한 부분에서는 개발 시간이 줄지 않았다.
- 클라이언트와의 프로토콜처럼 AI가 문맥으로 알 수 없는 부분은 미리 정의해서 넘겨야 한다.
- 요구사항을 효과적으로 전달하는 프롬프트 작성 능력을 키워, 생성된 코드를 검토·수정하는 후처리 시간을 줄여야 한다.