2. 1주차 진행사항
1. 텍스처 에디터 및 애니메이션 에디터
-
본 프로젝트에서는 던전앤파이터에서 실제 사용되는 이미지 리소스 파일 형식인 NPK 파일을 직접 로드하여 사용하고, 애니메이션의 씬 정보 또는 텍스쳐 정보를 기록한 .animation 파일을 작성하여 텍스처 리소스를 렌더링한다.
-
따라서 ARGB_1555, ARGB_4444, ARGB_8888 형식의 데이터를 이용하여 GDI+ 의 Bitmap 클래스로 관리해야 하며, ZLIB 라이브러리를 이용하여 압축된 데이터를 처리하고, DirectXTex 라이브러리를 이용하여 DDS 파일 포맷의 DXT1, DXT3, DXT5 압축 방식을 사용하는 텍스처 데이터를 처리하여 GDI+ Bitmap 클래스에 사용하도록 전환해야 한다.
-
또한, 보스 몬스터의 패턴 등에 이미지의 회전이 사용되므로 Graphics 객체를 사용하여 회전 처리를 함과 동시에 GDI+ 에 제공되지 않는 선형 닷지 렌더링 기법을 구현해야 한다.
-
자체 제작 리소스 또한 프로젝트 안에서 사용할 수 있도록 이미지 묶음을 NPK 파일로 출력하는 기능 또한 필요하다.
결론적으로, 다음과 같은 기능을 제공하는 것을 목표로 한다:
- NPK 파일로부터 ARGB 및 DXT 형식의 이미지 데이터를 해독하여 GDI+ Bitmap 클래스로 관리.
- 렌더링 옵션에 알파 블렌드, 선형 닷지, 회전 렌더링 기능 제공.
- 이미지 파일로부터 NPK 파일 작성.
기본 상태
-
각각의 버튼을 클릭하여 기능을 실행할 수 있다. 텍스쳐 데이터의 미리보기는 배경에 렌더링된다.
-
W, A, S, D 키로 카메라를 움직일 수 있고, 스페이스바 키로 카메라 위치를 초기 위치로 되돌릴 수 있다.
NPK 파일 불러오기
-
던전앤파이터에서 사용되는 Neople 자체 파일 형식 NPK 파일을 읽어들이고, 해당 파일 안의 앨범과 텍스처 데이터를 볼 수 있다.
-
애니메이션 생성 기능을 통해 시작과 끝 Scene의 인덱스, 재생 속도, 위치 오프셋, 렌더링 각도 및 선형 닷지 렌더링 옵션을 설정하여 플립북 애니메이션을 제작할 수 있다.
-
선형 닷지 기능은 Win32API GDI+ 의 기능으로 제공되지 않기에 추가적인 함수를 구현하였다.
이미지 파일 불러오기
-
자체 제작된 또는 별도로 추가해야 하는 텍스처 리소스를 프로젝트에서 사용할 수 있도록 이미지 파일을 목록에 추가하여 NPK 파일로 만들어내는 기능이다.
-
“이미지 추가” 버튼으로 리스트박스에 이미지를 추가할 수 있고, 프로그램 내부에 미리 할당된 임시 앨범에 저장된다.
-
“NPK로 저장하기” 버튼으로 추가된 이미지를 하나의 앨범 및 NPK 파일로 작성하여 프로젝트에서 사용할 수 있도록 만든다.
-
X, Y 값을 입력 후 오프셋 변경을 하면 입력된 값으로 해당 이미지의 개별적인 오프셋이 지정된다.
애니메이션 편집
-
앞서 NPK 파일 불러오기 에서 제작된 애니메이션 파일을 편집할 수 있는 기능이다.
-
시작과 끝 Scene의 인덱스를 제외한 모든 정보를 수정할 수 있다.
-
“미리보기” 버튼을 통해 실제 변경사항을 적용시키기 전에 프리뷰 화면으로 미리보기가 가능하다.
-
“애니메이션 파일 불러오기” 버튼을 통해 애니메이션 파일을 로드하고, “적용” 을 통해 변경사항을 해당 파일에 덮어씌울 수 있다.
2. 던전 메이커 및 스테이지 메이커
인터페이스를 통해 사용자가 직접 던전과 스테이지를 제작할 수 있도록 하는 에디터이다.
던전 메이커
-
던전 메이커는 다수의 스테이지로 이루어진 던전을 제작, 편집할 수 있는 기능이다.
-
그리드로 이루어진 공간에 스테이지 타일을 생성하여 던전을 만들 수 있다.
-
스테이지 편집을 선택하면 아래의 “스테이지 메이커” 기능으로 넘어가게 된다.
-
제작한 던전은 .dungeon 파일로 저장하거나 불러올 수 있으며, 이후 재차 편집할 수 있다.
-
기본적으로 스테이지의 배경 애니메이션, BGM, 스테이지 크기를 설정할 수 있으며, 스테이지 타일 배치 시 자동으로 주변 이어진 타일을 색출하여 양방향으로 이어지는 게이트(포탈) 객체를 생성한다. 따라서, 스테이지 타일은 이어지는 구역에만 배치하도록 제한했다.
스테이지 메이커
-
스테이지 메이커는 던전에 속하는 스테이지를 직접 편집할 수 있는 기능이다.
-
위 사진과 같이, 추가적으로 스테이지 메이커용 조작 패널 다이얼로그가 제공되며, 이 다이얼로그 창을 통해 몬스터, NPC, 투명 벽의 추가, 선택한 오브젝트의 크기 및 위치 편집 또는 오브젝트 삭제, 현재 스테이지의 크기 조정, 플레이어 활동 영역의 상한 제한선 조정이 가능하다.
-
스테이지에 추가된 오브젝트는 마우스 조작을 통해 클릭으로 오브젝트를 선택하거나 드래그-드랍으로 위치를 조정할 수도 있다.
스테이지와 던전
- 위 던전 메이커와 스테이지 메이커로 생성된 던전 및 스테이지는 .dungeon 파일 형식으로 저장되며, 이후 게임이 플레이될 때 해당 던전 파일을 통해 스테이지를 작성한다.
3. 플레이어블 캐릭터
-
방향키를 통한 기본적인 움직임과 충돌체를 구현했다.
-
키 매니저에 추가적으로 커맨드 기능을 구현하여 달리기 기능을 추가했다.
-
마지막 움직인 방향에 따라 좌우 반전 렌더링이 적용된다.
4. NPC, 일반 몬스터, 포탈, 투명 벽 오브젝트
-
스테이지 메이커를 위한 기본적인 틀을 구현했다.
-
몬스터의 경우 FSM을 추가하여 대기, 이동, 공격을 구현했다.