
Claude Code로 브라우저 기반 POE 스타일 ARPG를 만드는 11일 차 기록: 현재 GitHub에 공개되었으며 실제 POE1 리그는
요약
Claude Code를 활용하여 브라우저 기반의 POE 스타일 ARPG를 개발하는 11일 차 진행 과정을 공유합니다. 캐릭터 리그, 애니메이션, 물리 시뮬레이션, 오디오 시스템 등 게임의 핵심 요소들을 명세 기반(spec-driven) 개발 방식으로 구현했습니다.
핵심 포인트
- Claude Code를 이용한 명세 기반(spec-driven) 개발 방식 적용
- Vitest를 활용한 시뮬레이션 테스트로 토큰 낭비 최소화
- 캐릭터 리그, 천 시뮬레이션, 몬스터 생성 등 복잡한 게임 로직 구현
- GitHub 저장소를 통한 개발 로그 및 소스 코드 공개
안녕하세요 여러분, 3일 차 포스트에 이은 후속 글입니다. 당시 농담의 짧은 버전은 이렇습니다: 제가 포스트를 올린 바로 다음 날 PoE 리그가 시작되었고, 이것을 코딩하는 동안 게임을 플레이하다가 약 일주일 만에 그만두었습니다. 전리품 (Loot) 획득 느낌이 별로였고 리그 메커니즘이 미완성 상태였기에, 제가 드롭률을 직접 제어할 수 있는 작업으로 돌아왔습니다. 이제 이름은 Exiled Casual이며, 저장소 (repo)는 공개되어 있습니다: https://github.com/IT-BAER/exiled-casual
3일 차 이후 추가된 사항:
전체 게임 셸 (Full game shell): 메인 메뉴, 캐릭터를 삭제할 때 해체되는 리그 (rig)가 포함된 캐릭터 선택, 로딩 화면, 옵션.
실제로 서 있을 수 있는 은신처 (Hideout): 보관함 (Stash), 상인 (Vendor), 회당 6개의 포털이 있는 맵 장치 (Map Device).
캐릭터를 위한 하나의 65 관절 리그 (65 joint rig), 애니메이션을 재시작하는 대신 슬롯당 하나의 메쉬 (mesh)를 보여주는 방식의 장비 교체, 그리고 코트는 Verlet 천 시뮬레이션 (Verlet cloth sim)으로 구현되었습니다. 코트의 각 열마다 하나의 3 관절 체인을 사용하며, 각 다리의 캡슐 (capsule)에 충돌하도록 설정되었습니다.
몬스터는 생성된 glb 파일이며, 충돌체 (collision hulls)와 동일한 노드 그래프를 사용하는 Blender 스크립트로 제작된 종별 하나의 스킨드 메쉬 (skinned mesh)와 걷기 및 대기 애니메이션을 가집니다.
다르게 읽히는 스킬들: Ember Bolt, Cinder Ground, Blink, 그리고 벽을 뚫지 않고 벽에서 멈추는 예고 (telegraphs).
죽음, 부활, 쓰러지는 시체 (ragdoll).
아이템으로 소지하는 웨이스톤 (Waystones)으로 여는 아틀라스 노드 (Atlas nodes), 커런시 오브 (Currency Orbs), 제작 (Crafting).
오디오: 거리에 따라 소리가 둔해지고 벽에 반사되며, 모든 것이 하나의 버스 (bus) 상에서 작동하여 볼륨 슬라이더가 정확하게 작동합니다.
바이옴 타일셋 (Biome tilesets), 바위 벽 (Rock Walls), 5가지 디자인이 포함된 하나의 셰이더 (shader)로 구현된 포털 (Portals), 방을 밝히는 화로 (Braziers).
아직 스킬 트리 (Skill tree)가 없습니다. 밸런스는 조정되지 않았습니다. 아직 공개적으로 플레이 가능한 링크는 없으며, 로컬 개발 빌드입니다. 게임 루프 (run loop)가 클릭할 가치가 있을 때까지는 올리지 않을 예정입니다. 전체 과정은 싱글 플레이어이며 오프라인입니다. 모든 것은 Claude Code로 작성되었으며, 명세 기반 (spec-driven)으로 진행됩니다. 저는 차이점 (diffs)을 검토하며, 시뮬레이션은 일반적인 vitest 테스트로 커버되어 게임을 플레이하며 토큰을 낭비하지 않습니다. GitHub 저장소의 개발 로그 (devlog)에서 전체 진행 과정을 팔로우할 수 있습니다. 피드백 환영합니다.
/u/IT-BAER가 제출함 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기