안녕하세요, 데브시스터즈 스튜디오 킹덤에서 전투 클라이언트 프로그래머로 일하고 있는 김용욱이라고 합니다. 게임 데이터를 JSON 형태로 엑셀에 수기 입력할 때, 오타나 잘못 입력된 값을 런타임 실행 전에 발견하기 어렵다는 문제가 있었습니다. 이 문제를 해결하기 위해 JSON Schema를 이용해 JSON 데이터를 자동 검증하게 되었는데, 그 과정에서 JSON Schema를 역직렬화되는 게임 데이터 클래스로부터 자동 생성하고 Contract Resolver를 이용하거나 JSON Schema 자체를 후처리하여 이용했습니다. 또한 텍스트 에디터인 Visual Studio Code와 연동하여 자동완성과 실시간 검증이 가능한 시스템을 만들었고, 그 결과 생산성을 높이고 오류를 줄일 수 있었습니다. 이 글에서는 (1) 왜 JSON으로 데이터를 입력하는지 (2) JSON Schema의 필요성 (3) Schema 생성 및 커스터마이징 방법 (4) VS Code 연동 활용까지 순서대로 다룹니다. 게임 개발을 할 때, 많이 쓰이는 패턴이 “로직을 데이터로 작성하는” 것입니다. 예를 들어 민트사탕맛 쿠키가 스킬을 사용하면, 스킬 사용 직후 아군에게 공격력 증가, 방어력 증가 버프를 부여하고, 0.5초 뒤에 가로 세로 4 범위의 적군에게 공격력 비례 피해를 입힌다. 1.5초 뒤에 가장 체력이 낮은 아군에게 최대 체력 비례 회복을 부여한다. 는 스킬이 있다고 하면, 이를 코드에서 모두 처리할 수도 있지만 아래와 같이 데이터로 표현할 수도 있습니다. (설명을 위해 만든 가상의 데이터 구조입니다) SkillIdSkillTypeSkillValuesTimingTargetMintCandy-001Add_BuffAttackPoint, 0.2, DefencePoint, 0.20AlliesMintCandy-002AttackAttackPoint, 0.50.5Enemies, Rectangle, 4x4MintCandy-003HealAttackPoint, 0.251.5Allies, LowestHP, 1 데이터 형식으로 로직을 분리할 경우, 기획자가 데이터만 수정해 가면서 빠른 이터레이션이 가능하다는 장점이 있으며, 데이터 수정만으로 버그 수정이나 콘텐츠 업데이트를 진행 가능하다는 장점이 있습니다. 테이블 형식을 이용할 경우 기획자에게 익숙한 인터페이스인 스프레드시트를 활용할 수 있고, 데이터 역직렬화(텍스트 혹은 바이너리 형태로 된 데이터 포맷에서 코드에서...
쿠키런: 킹덤의 전투 데이터, JSON Schema로 검증하고 자동완성하기
2 months ago
17
Related
Fastmail, EU 데이터 리전 제공
6 hours ago
4
goshot - 코드 스크린샷 생성기
7 hours ago
4
내가 좋아하는 소프트웨어 강연들
7 hours ago
3
Sublime Text 같은 편집기는 더 이상 나오지 않는다
7 hours ago
3
OpenAI의 우발적 Hugging Face 공격 타임라인
8 hours ago
3
DNS에서 도메인 판매 여부를 알리는 _for-sale 레코드
10 hours ago
5
덴마크, AI 부정행위 막기 위해 서면 과제 구두 소명 의무화
10 hours ago
5
“코드는 결코 어려운 부분이 아니었다”는 말은 모든 프로그래머에 대한 모욕이다
11 hours ago
8
Tips
click
Trending
Popular
필리핀 “中 관영매체, 필리핀인을 원숭이로 묘사…인종차별”
3 weeks ago
146
北핵실험 연구한 美학자, 中에 20개월째 구금…외교문제 비화
3 weeks ago
120
디노티시아, ICML26서 ‘STAR-KV’ 논문 발표··· ‘KV 캐시 75% 압축에도 성능 보존’
4 weeks ago
80
© Clint's Theme Park 2026. All rights are reserved










English (US) ·