Skip to content

NearthYou/DEAD.NET

 
 

Repository files navigation

🧟 DEAD.NET – 2D·3D 혼합 서바이벌 시뮬레이션

헥사 타일 기반 맵과 실시간 이벤트로 구성된 PC 서바이벌 시뮬레이션 게임


개요

항목 내용
플랫폼 Unity
장르 생존 시뮬레이션 / 2D + 3D 하이브리드
개발 기간 2023.03.17 ~ 2024.05.05 (14개월)
팀 구성 8명 (기획 2, 개발 2, 아트 3, 사운드 1)
포지션 게임플레이 프로그래머 / 시스템 설계 / 최적화
영상 YouTube
저장소 GitHub
빌드 파일 Drive

프로젝트 설명

DEAD.NET은 ‘60 Seconds!’에서 영감을 받아, 제한된 시간 내 자원을 수집하고 이후 생존을 이어가는 챕터형 서바이벌 시뮬레이션 게임이다.
Unity 엔진을 활용해 2D + 3D 타일맵 환경을 조합했으며, 챕터 1까지 완성하여 발표회, 부스 시연 및 공모전 제출을 완료했다.

2024 인디크래프트 챌린저 부문 TOP 20 선정


맡은 기능

1. 맵, 오브젝트, 엔티티 관리 시스템

  • 헥사 타일 기반의 맵 생성 및 구조 설계
  • 맵 타일 위에 자원, 몬스터, 구조물 등 엔티티 동적 배치
  • 시간 흐름에 따라 맵 상태, 이벤트, 날씨 변화 처리

2. 플레이어 상호작용

  • 타일 클릭을 통한 이동, 조사, 수집 인터랙션 처리
  • 자원 소비 및 상태 변화 (체력, 디버프, 아이템 사용) 반영
  • 이벤트 우선순위 및 충돌 처리 설계

3. 몬스터 시스템

  • 좀비 AI 시스템 구현 → 플레이어 추적, 공격, 이동 로직 설계
  • 좀비 스폰 및 관리 → 시간대별 스폰, 수량 조절, 상태 관리
  • 좀비 타입별 행동 패턴 → 일반 좀비, 특수 좀비 등 다양한 AI 구현

4. 드론 시스템

  • 드론 AI 시스템 구현 → Explorer, Distrubtor 드론 타입별 행동 로직 설계
  • 드론 설치 및 관리 → 타일 위 드론 배치, 상태 관리, 제거 시스템
  • 드론 효과 시스템 → 탐색 범위 확장, 방해 효과 등 특수 기능 구현

5. 최적화 및 성능 개선

  • 수동 최적화 구현 → 플레이어 시야 범위 내 오브젝트만 렌더링 활성화 (FPS 20 → 60)
  • 헥사타일 Astar 알고리즘 최적화 → 우선순위 큐, 캐시 적용으로 70-90% 성능 향상

문제 해결 사례

헥사 타일 A* 길찾기 구현

문제: 기존 그리드 기반 A* 알고리즘이 헥사 타일에 부적합

해결:

  • 큐브 좌표계 기반으로 헥사 타일 구조 파악
  • 헥사 전용 맨해튼 거리 계산법 적용
  • 이동, 추적, 공격 등의 행동 구현에 적용

최적화 구현

문제: 오브젝트 수가 많아짐에 따라 심각한 프레임 드랍 발생. Unity의 오클루전 컬링은 실시간 생성 오브젝트에 적용 불가.

해결:

  • 플레이어 중심 반경만 렌더링 오브젝트 활성화
  • 고정된 타일에는 static batching 적용
  • Renderer 컴포넌트 직접 제어 → SetActive 대신 renderer.enabled 사용으로 성능 향상
  • 배치 처리 시스템 → 여러 오브젝트를 그룹화하여 한 번에 렌더링 상태 변경
  • 상태 캐싱 시스템 → 이전 상태와 비교하여 변경된 오브젝트만 처리
  • FPS 20 → 60 성능 향상

셰이더 ZTest 수정으로 아이콘 가림 문제 해결

문제: 자원 아이콘이 배경 오브젝트에 가려짐

해결:

  • Sprites/Default 셰이더를 복제하여 ZTest Always로 수정
  • 자원 아이콘만 해당 셰이더 적용 → 항상 최상단 표시
  • 시각적 정보 전달력이 향상됨
ZTest Always // 기존 Less → Always

About

DEAD.NET Repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 84.3%
  • ShaderLab 12.2%
  • HTML 2.6%
  • HLSL 0.9%