배경 및 목표
매달 플레이하는 TRPG 시스템인 ‘크툴루의 부름(Call of Cthulhu)’의 캐릭터 생성(캐릭터 빌딩) 과정이 복잡하고 수작업이 많아, 평균 1시간 이상 소요되는 비효율성 발견.
→ 복잡한 룰북의 규칙을 알고리즘화하여 자동으로 주사위를 굴려주고 능력치 점수를 연산·관리하는 웹 유틸리티를 개발, 캐릭터 빌딩 시간을 획기적으로 단축하는 것을 목표로 진행.
역할
전 과정 주도 (1인 개발: 룰북 도메인 로직 · 상태 설계 · UI · 정적 배포)
주요 업무 및 성과
① 룰북 기반 도메인 로직 코드화 및 능력치 연산
- 크툴루의 부름(CoC) 공식 룰북을 철저히 분석하여, 주사위(3D6, 2D6+6 등) 굴림 메커니즘을 디지털화.
- 기본 특성(근력, 민첩성, 지능 등)에 따른 파생 능력치(체력, 이성치, 마력, 이동력 등) 및 직업 기능 점수 분배 규칙의 복잡한 연산 로직을 정교하게 코딩하여 데이터 무결성 확보.
- 상태 단일 출처화 원값만 저장하고 파생값은 매번 연산하도록 하고, 나이 조정·대용 보너스 같은 규칙을 한 곳에서 처리해 값이 어긋나지 않게 함.
- 룰북 단일 출처화 룰북 페이지 번호와 상수를 설정 파일 한 곳에 모으고, 무기 105종·직업 30종을 룰북과 대조해 전사 오류를 정정.
- 시대 전환 1920년대와 현대 중 고르면 재력표·전문 분야·현대 전용 기능이 그에 맞게 바뀜.
- 모바일·태블릿 지원(2026.01) 햄버거 메뉴, 이름 열을 고정한 무기표 가로 스크롤, 남은 기능 점수 플로팅 버튼 추가.
② 데이터 이동성 확장을 위한 JSON Import/Export 시스템 구현
- 생성된 캐릭터 시트 데이터를 로컬 기기에 저장하거나 불러올 수 있는 JSON 기반 데이터 내보내기/가져오기 기능 개발.
- 전체 JSON 외에 AI 롤플레잉용 ‘간략화 내보내기’를 두어, 생성형 AI 챗봇에 넣기 좋은 최소 항목만 추려 AI와 연계한 TRPG 플레이가 가능하도록 함 (실제 세션 진행에 활용 중).
③ 1920년대 조서 느낌으로 화면 전면 개편
- 디자인 1920년대 서류 질감의 디자인 토큰과 타자기 서체를 적용하고, 괘선 기반 UI를 Tailwind CSS·Radix UI로 다시 만들어 라이트·다크를 지원.
- 서체 분리 서체를 게임 속성으로 분리해 설정 파일에서 관리(2026.08).
결과
① 복잡한 주사위 계산과 점수 분배 과정을 자동화하여, 기존 평균 1시간 이상 소요되던 캐릭터 빌딩 시간을 약 10분 내외로 대폭 감소 (약 83%의 시간 단축).
② 2023년 첫 공개 이후 2026년까지 룰북 대조 교정, 모바일 지원, 화면 개편을 이어 가며 세션에서 계속 쓰이는 도구로 유지.
회고
즐겨 하던 취미에서 마주한 불편함을 개발자로서 어떻게 해결할 수 있을지 고민하며 시작한 프로젝트였다. 방대한 두께의 룰북 규칙들을 코드로 이식하는 과정에서 복잡한 로직을 꼼꼼하게 구현하는 능력을 길렀다.
프로젝트 초기에는 React 숙련도가 낮아 최적화에 어려움이 있었다. 이후 생성형 AI를 활용해 코드 리뷰와 최적화를 진행하며 기존 구조의 아쉬운 점들을 파악했고, 이를 바탕으로 리팩토링을 수행하며 한 단계 더 성장할 수 있었다.