FPS Game

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인칭 시점 안정성 문제 → 카메라 위치 및 이동 로직 재설계

📊 결과

  • 베타 버전 데모 릴리스
  • 플레이 영상 공개


🔗 링크