🔹프로젝트 소개
조선십이기사단은 전통 조선을 배경으로, 십이간지 동물들이 펼치는 멀티플레이 플랫폼 파이터 게임입니다.
📚 세계관
19세기 조선 말기, 흥선대원군의 강력한 척화 정책으로 외부 문물이 차단된 조선은 영적 균형이 깨지고 어둠의 세력이 나라를 위협하게 됩니다. 이에 조선의 신령스러운 동물들, 바로 십이간지 수호신들은 '이계의 문(異界의 門)'을 열어 기사도 정신과 갑옷, 무구를 받아들여 새로운 십이간지 기사단으로 재탄생합니다. 이계에서 들어온 신비한 갑옷과 힘은 '명운의 징표'라는 신령스러운 문양으로 나타나며, 이 징표를 가질 수 있는 자는 오직 최후까지 살아남은 단 하나의 수호자뿐입니다. 이에 십이기사단은 각자의 힘을 겨루어 최강의 수호자를 선발하는 의식을 치르게 됩니다.
🔹프로젝트 개요 및 개발 일정
- 프로젝트명: 조선십이기사단
- 장르: 액션, 대전형 플랫폼 파이터 게임
- 개발 기간: 2025.03.31 ~ 2025.04.18 (약 3주)
- 개발 엔진: Unreal Engine 5.5
- 협업 도구: Slack, Notion, Figma, GitHub
🕹️ 게임 특징
- 직관적이고 타격감 있는 플랫폼 파이터 스타일 전투 시스템
- 동양의 전통 십이간지가 기사단으로 재탄생한 독특한 세계관
- 각 캐릭터마다 특성에 맞는 고유한 스킬과 궁극기
- 전통 한국 건축물을 기반으로 한 맵 디자인
- 상태 이상 효과(독, 출혈, 스텔스 등)를 포함한 스킬 시스템
🔹팀원 및 역할
이름 | 역할 |
차정민 | Team Lead, PM, Creative Director - 게임 디자인: 캐릭터, 맵, 플로우, 스탯, 스킬 밸런스 전반 - PM: 일정, 리소스 관리 - 코드 설계: Buff & StatComponent, DeathVolume, Knight 3종 스킬 - 오디오: BGM 3 트랙, SFX 40종 제작 및 믹싱 - 아트 & UI: 스킬, 캐릭터, 맵 아이콘, 메뉴 HUD 레이아웃 |
한상혁 | Game Mode & Systems Programmer - 6-계층 GameMode (Main/Lobby/Single/Story/Match) 설계 - Enum-기반 UI 컨트롤러 - 세션-Join 흐름 C++ 리팩터링 |
백종규 | Lead Programmer - 캐릭터 Base Class 상속 구조 설계 - 이동, 애니메이션 API 작성 - RPC/Replication 캐릭터 간 동기화 |
최명일 | AI Programmer - AI 캐릭터 제작(Behavior Tree, BT RandomSelector C++ 확장) - Random Move To 노드, BTS_FocusTargetService 구현 - 타격/피격 블루프린트 |
이지원 | Modeler, VFX Artist - VFX & 애셋 14종 제작 - 캐릭터 3종 리소스 제작 및 커스텀 컬러 버전 |
김지황 | UI Programmer - 캐릭터 Head-Up "Ready" WidgetComponent - 캐릭터 스킬 코드 보조 |
🔹기획&아트 (게임 디자인)
🐭🐮🐯 캐릭터
🌐맵
➡️게임 플로우
🔹주요 기능 (핵심 기술)
아키텍처 & 코드 계층 구조
계층 | 핵심 클래스 | 역할 | 특징 |
컨트롤러 | MainPlayerController | 로컬 입력 처리 | Enhanced Input Subsystem으로 맵핑 컨텍스트 동적 주입 |
캐릭터 베이스 | PlayerCharacter | 이동, 전투, 애니, 네트워크 공통 로직 | 컴포넌트 기반 구조(Stat/Buff/Weapon/Shield) + RPC(Server/Multicast) 패턴 |
파생 캐릭터 | OxKnight, RatKnight, TigerKnight | 고유 스킬, 궁극기 | 한 줄의 코드 추가만으로 새 캐릭터 확장 가능 |
전투 핵심 시스템
- Stat Component: HP/공격력/방어력 초기화 & 변경, 사망 브로드캐스트
- Buff Component: 버프/디버프 등록 → Tick 마다 지속시간 반영
- 멀티플 배수(공격/방어/이동) 계산으로 스택 설계
- 독/출혈(DoT), 스텔스, 이동속도 변화, 방어 증폭 등
- 데미지 산식: 버프에 의한 실시간 변동 반영
- 타게팅 로직: 전방 60° 시야 + 거리 기반 스코어로 가장 가까운 적 선택
- 더블점프 & 대시: LaunchCharacter로 물리적 가속, 몽타주 싱크
- 가드 시스템: 버튼 누르고 있는 동안 방어자세, 게이지 UI에 남은 시간 표시
네트워크
- RPC 3단계: Client → Server(권한) → Multicast(모두)
- ➡️애니메이션/이펙트 지연 없음
캐릭터별 하이라이트 스킬
캐릭터 | W Skill | R Ultimate | 기술 포인트 |
OxKnight | "철벽수호" - 4초간 방어 +40%, 이동 ½ | "맹렬한 돌진" - 돌진 후 광역 슬로우(0.1×) | 서버에서 버프 부여 → 멀티캐스트로 VFX/SFX/애님몽타주 동기화 |
RatKnight | "쥐구멍" - 적 슬로우(0.7×) + 본인 은신 5초 | "1등 난타" - 독 DoT(1%/s, 4초) | 머티리얼 Swap으로 반투명화 |
TigerKnight | "어흥! 호랑이의 분노" - 공격 +30% & 속도 ×2, 5초 | "왕의 심판" - 출혈 DoT + 방어↓ 20%, 4초 | 연속 버프 스택/타겟 디버프 조합 |
🎬시연 영상
🖥️GitHub
https://github.com/NbcampUnreal/1st-Team2-CH4-Project
GitHub - NbcampUnreal/1st-Team2-CH4-Project
Contribute to NbcampUnreal/1st-Team2-CH4-Project development by creating an account on GitHub.
github.com
🗒️발표자료
조선십이기사단 발표자료.pptx
이 브라우저 버전은 더 이상 지원되지 않습니다. 지원되는 브라우저로 업그레이드하세요.
docs.google.com
💭KPT 회고
✅ Keep - 현재 만족하고 있는 부분
- 캐릭터의 스킬 및 스텟 컴포넌트 구조를 유연하고 확장 가능하게 설계한 덕분에 개발 후반부에도 효율적인 작업이 가능했다.
- 역할이 중첩되거나 공백이 발생하는 경우 적극적으로 커뮤니케이션하여 신속히 문제를 해결할 수 있었던 점이 만족스러웠다.
- UI, 사운드, 아이콘 등 다양한 에셋 작업을 병행하여 게임의 퀄리티를 높이고자 했던 시도가 성공적이었다.
⚠️ Problem - 불편하게 느끼는 부분
- C++ 코드와 블루프린트를 혼합해 작업하다 보니 종종 연동이 원활하지 않아 트러블슈팅에 예상보다 많은 시간을 소비했다.
- 프로젝트 초기 단계에 다양한 기능과 아이디어를 추가했지만, 시간과 인력이 부족하여 일부 핵심 기능 구현이 미흡했던 부분이 아쉬웠다.
- 에셋 제작과 코드 작업을 병행하다 보니 작업의 우선순위 관리가 어렵고 일정이 지연되는 상황이 종종 발생했다.
🚀 Try - Problem에 대한 해결책, 당장 실행 가능한 것
- 다음 프로젝트부터는 코드와 블루프린트 연동을 더 꼼꼼히 사전 테스트하고, 특히 핵심 기능은 완전한 프로토타입이 먼저 나오도록 초기에 작업하자.
- 프로젝트의 기획 단계에서부터 MVP(Minimum Viable Product) 범위를 명확히 정하고, 필수 기능을 먼저 구현한 후 추가 기능을 선택적으로 개발하도록 일정 관리를 철저히 하자.
'Dev. > 프로젝트' 카테고리의 다른 글
[언리얼5] 멀티플레이 비대칭 PvP 게임 :: 가디언 앤 시커 (Guardian And Seeker) (0) | 2025.07.17 |
---|---|
[UE 프로젝트] FPS/TPS 슈팅 게임 :: Symbio(심바이오) (2) | 2025.03.07 |
제 1회 스파르타 게임잼 참여기(3월 1일 ~ 3일) (0) | 2025.03.04 |
C++로 콘솔 텍스트 RPG 게임 만들기 :: [레인보우 가디언] (1) | 2025.02.14 |