Skip to content

alzseven/PixelDungeonClone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixelDungeonClone

image

이 프로젝트는 인기 로그라이크 게임인 Pixel Dungeon과 그 파생작인 Shattered Pixel Dungeon에 깊은 영감을 받아 개발된 C++ 및 WinAPI 기반의 로그라이크 게임 클론 프로젝트입니다.

개요

본 프로젝트는 Pixel Dungeon의 핵심 재미 요소인 절차적 던전 탐험, 턴 기반 전투, 아이템 활용 등의 로그라이크 메커니즘을 직접 C++와 WinAPI를 사용하여 구현해보는 것을 목표로 시작되었습니다. WinAPI와 Direct2D를 통해 기본적인 게임 엔진 및 렌더링 파이프라인을 구축하고, 사운드 처리를 위해 FMOD Studio를 통합하여 플레이 가능한 형태의 로그라이크 게임을 만드는 과정에 중점을 두었습니다.

✨ 주요 특징

  • 무한한 던전 탐험: 매 게임 시작 시 절차적 생성 알고리즘으로 완전히 새로운 구조의 던전이 생성되어 신선한 경험을 제공합니다.
  • 전략적인 턴 시스템: 플레이어와 맵 상의 모든 엔티티(몬스터, 아이템 등)가 턴 단위로 행동하며, 깊이 있는 전략적 판단을 요구합니다.
  • 안개 속 시야(FoV): 시야(Field of View) 시스템을 통해 플레이어의 시야 내 영역만 밝히고, 탐험했던 영역은 맵만 어둡게 활성화하고 그위의 엔티티들은 표시하지 않습니다.
  • 기초 전투 시스템: 몬스터와 기본적인 공격 및 방어 메커니즘을 통해 상호작용합니다.
  • 몬스터 인공지능: 플레이어를 인지하고 추적 및 공격하는 기본적인 몬스터 AI가 구현되어 있습니다.
  • 아이템 획득 및 활용: 던전에서 아이템을 줍고, 인벤토리 시스템을 통해 관리하며, 필요에 따라 사용할 수 있습니다.
  • 플레이어 중심 카메라: 플레이어의 위치를 따라 자동으로 이동하는 카메라 시스템으로 편리하게 던전을 탐색할 수 있습니다.

💻 기술 스택

  • 언어: C++
  • 그래픽 API: Direct2D (하드웨어 가속 2D 그래픽 렌더링)
  • 사운드 API: FMod Studio (사운드 효과 및 배경음악 처리)
  • 개발 환경: Microsoft Visual Studio

🎮 현재 구현된 기능

현재 프로젝트에는 기본적인 로그라이크 게임 플레이를 위한 핵심 기능들이 구현되어 있습니다. 플레이어는 단일 층의 던전을 탐험하고, 3종류의 몬스터와 전투하며, 장비(3종) 및 소비(회복 물약 1종) 아이템을 사용하여 생존을 시도할 수 있습니다.

구현된 주요 기능들은 다음과 같습니다.

  • 턴 기반 시스템: 플레이어와 맵 상의 모든 엔티티(몬스터, 아이템 등)가 번갈아 행동하는 고전적인 턴제 진행 방식
  • 절차적 던전 생성: 게임 시작 시마다 다른 구조의 던전 맵 자동 생성
  • 시야(FoV) 시스템: 플레이어 시야 범위 내 영역만 표시 및 탐험 완료 영역 별도 표시
  • 플레이어 중심 카메라: 플레이어를 자동으로 따라 이동하며 던전을 보여주는 화면 스크롤 기능, 화면 밖의 타일들은 랜더링 되지 않도록 함
  • 기초 전투: 몬스터와 기본적인 공격 및 방어 상호작용 로직
  • 몬스터 AI: 플레이어를 인지하고 추적 및 공격하는 기본 인공지능
  • 아이템 시스템: 던전에서 아이템 획득, 인벤토리에 보관 및 인벤토리 UI를 통한 사용
  • 게임 상태 처리: 플레이어 사망 시 게임 오버 처리 및 관련 화면 표시
  • 타일맵 툴: 게임 테스트를 위한 던전의 형태를 임의로 배치하여 그 모양대로 레벨을 생성가능한 툴

이를 통해 기본적인 '탐험 - 전투 - 아이템 활용 - 사망'에 이르는 핵심 게임 루프가 플레이 가능한 형태로 구현되어 있습니다.

🚀 설치 및 실행

프로젝트를 빌드하고 실행하기 위해서는 Microsoft Visual Studio와 FMod Studio API 가 필요합니다. 다음 메뉴얼은 FMod Studio API가 C:\Program Files (x86) 에 설치되어있음을 전제로 합니다.

  1. 이 저장소를 로컬 환경으로 클론합니다.
  2. Visual Studio 2019 (또는 그 이상 버전)에서 클론한 저장소의 .sln 파일을 엽니다.
  3. Visual Studio에서 솔루션 구성을 'Release' 또는 'Debug'로 설정하고 솔루션을 빌드합니다.
  4. 빌드가 성공하면, 실행파일이 있는 디렉토리에 C:\Program Files (x86)\FMOD SoundSystem\FMOD Studio API Windows\api\core\lib 내의 실행환경에 맞는 디렉토리 내의 fmod.dll을 복사해서 불여넣습니다.
  5. 이후 생성된 실행 파일(.exe)을 실행하여 게임을 플레이할 수 있습니다.
  6. 모든 조작은 마우스로 이루어집니다. 이동하고 싶은 곳을 클릭하면 이동할수 있고, 아이템을 획득하거나, 몬스터를 공격하는 액션 역시 모두 해당 위치를 클릭하는것으로 실행 가능합니다.

팀원 및 역할 분담

  • alz7 : 게임 시스템 & 총괄
  • kimmjiinn : 게임시작화면, 몬스터 AI, FOV
  • Piplub : 맵 - 레벨 - 게임씬 구조 생성, 마우스 매니저 구현 구현, 카메라 구현, 타일맵 툴, 게임오버 구
  • RakunBear : UI 설계, 조합, 연동, 피격&HP, 9Patch
  • loy98 : 몬스터 & 캐릭터 구현, 턴제 시스템 적용, 아이템 & 인벤토리

🙏 참고 자료 및 감사

이 프로젝트는 Watabou의 Pixel Dungeon 및 Evan의 Shattered Pixel Dungeon 게임에 깊은 영감을 받아 개발되었습니다.

About

원티드게임개발자양성과정2기 - WinAPI_최종프로젝트 - Pixel Dungeon모작

Topics

Resources

Stars

Watchers

Forks

Contributors 5