FPS Game — AI-driven Unity Shooter
🎯 개요
Unity 엔진을 기반으로
게임플레이 로직, 적 AI, 네트워크 구조를 통합적으로 설계한 1인칭 슈팅 게임 프로젝트입니다.
규칙 기반 적 AI의 한계를 직접 경험한 후,
FSM → Behavior Tree → 강화학습(PPO)으로 진화하는
적 AI 구조를 단계적으로 구현하며
게임 AI 설계 방식의 확장 가능성을 실험했습니다.
✨ 주요 특징
- FPS 게임플레이 및 무기 시스템 직접 구현
- 멀티 맵 기반 FPS 게임플레이
- Unity ML-Agents 기반 학습 파이프라인
- 적 AI 행동 구조의 단계적 진화:
- FSM 기반 규칙형 AI
- Behavior Tree 기반 행동 분기
- Unity ML-Agents + PPO 강화학습 실험 구조
- Node.js + MongoDB 기반 게임 서버
- 로그인 / 인벤토리 / 상점 / 확률 테이블 관리
- 향후 멀티플레이 및 AI 서버 연동을 고려한 구조적 확장성
🏗️ 아키텍처
- Unity 기반 FPS 클라이언트
- Enemy NPC AI Pipeline
- FSM → BT → ML-Agents (PPO)
- Game Server (Node.js + MongoDB)
- 유저 인증 및 게임 데이터 관리
- 멀티플레이 및 AI 서버 연동 확장 고려
→ 상세 설계 문서
🔑 핵심 기능
- 무기별 일반 공격 / 특수 공격 분리 설계
- 맵 전환 및 무기 밸런싱 시스템
- 적 AI 진화 과정:
- FSM 기반 규칙형 AI
- Behavior Tree 기반 조건 분기
- PPO 강화학습을 통한 상황 적응형 행동
⚙️ 구현 세부 사항
- Unity ML-Agents 기반 PPO 학습
- NavMesh 기반 경로 탐색 최적화
- Node.js 서버를 통한 데이터 영속화
- GitFlow 기반 개발 및 버전 관리
🧩 기술적 과제와 해결
- 예측 가능한 적 행동 문제 → 규칙 기반 AI에서 강화학습 기반 정책으로 전환
- 복잡한 FPS 환경에서의 이동 경로 문제 → NavMesh 통합
- 1인칭 시점 안정성 문제 → 카메라 위치 및 이동 로직 재설계
📊 결과
- 베타 버전 데모 릴리스
- 플레이 영상 공개