2. 1주차 진행사항

  1. 텍스처 에디터 및 애니메이션 에디터
  2. 던전 메이커 및 스테이지 메이커
  3. 플레이어블 캐릭터
  4. NPC, 일반 몬스터, 포탈, 투명 벽 오브젝트



1. 텍스처 에디터 및 애니메이션 에디터

  • 본 프로젝트에서는 던전앤파이터에서 실제 사용되는 이미지 리소스 파일 형식인 NPK 파일을 직접 로드하여 사용하고, 애니메이션의 씬 정보 또는 텍스쳐 정보를 기록한 .animation 파일을 작성하여 텍스처 리소스를 렌더링한다.

  • 따라서 ARGB_1555, ARGB_4444, ARGB_8888 형식의 데이터를 이용하여 GDI+ 의 Bitmap 클래스로 관리해야 하며, ZLIB 라이브러리를 이용하여 압축된 데이터를 처리하고, DirectXTex 라이브러리를 이용하여 DDS 파일 포맷의 DXT1, DXT3, DXT5 압축 방식을 사용하는 텍스처 데이터를 처리하여 GDI+ Bitmap 클래스에 사용하도록 전환해야 한다.

  • 또한, 보스 몬스터의 패턴 등에 이미지의 회전이 사용되므로 Graphics 객체를 사용하여 회전 처리를 함과 동시에 GDI+ 에 제공되지 않는 선형 닷지 렌더링 기법을 구현해야 한다.

  • 자체 제작 리소스 또한 프로젝트 안에서 사용할 수 있도록 이미지 묶음을 NPK 파일로 출력하는 기능 또한 필요하다.

결론적으로, 다음과 같은 기능을 제공하는 것을 목표로 한다:

  1. NPK 파일로부터 ARGB 및 DXT 형식의 이미지 데이터를 해독하여 GDI+ Bitmap 클래스로 관리.
  2. 렌더링 옵션에 알파 블렌드, 선형 닷지, 회전 렌더링 기능 제공.
  3. 이미지 파일로부터 NPK 파일 작성.



alt text

기본 상태

  • 각각의 버튼을 클릭하여 기능을 실행할 수 있다. 텍스쳐 데이터의 미리보기는 배경에 렌더링된다.

  • W, A, S, D 키로 카메라를 움직일 수 있고, 스페이스바 키로 카메라 위치를 초기 위치로 되돌릴 수 있다.


alt text

NPK 파일 불러오기

  • 던전앤파이터에서 사용되는 Neople 자체 파일 형식 NPK 파일을 읽어들이고, 해당 파일 안의 앨범과 텍스처 데이터를 볼 수 있다.

  • 애니메이션 생성 기능을 통해 시작과 끝 Scene의 인덱스, 재생 속도, 위치 오프셋, 렌더링 각도 및 선형 닷지 렌더링 옵션을 설정하여 플립북 애니메이션을 제작할 수 있다.

  • 선형 닷지 기능은 Win32API GDI+ 의 기능으로 제공되지 않기에 추가적인 함수를 구현하였다.


alt text

이미지 파일 불러오기

  • 자체 제작된 또는 별도로 추가해야 하는 텍스처 리소스를 프로젝트에서 사용할 수 있도록 이미지 파일을 목록에 추가하여 NPK 파일로 만들어내는 기능이다.

  • “이미지 추가” 버튼으로 리스트박스에 이미지를 추가할 수 있고, 프로그램 내부에 미리 할당된 임시 앨범에 저장된다.

  • “NPK로 저장하기” 버튼으로 추가된 이미지를 하나의 앨범 및 NPK 파일로 작성하여 프로젝트에서 사용할 수 있도록 만든다.

  • X, Y 값을 입력 후 오프셋 변경을 하면 입력된 값으로 해당 이미지의 개별적인 오프셋이 지정된다.


alt text

애니메이션 편집

  • 앞서 NPK 파일 불러오기 에서 제작된 애니메이션 파일을 편집할 수 있는 기능이다.

  • 시작과 끝 Scene의 인덱스를 제외한 모든 정보를 수정할 수 있다.

  • “미리보기” 버튼을 통해 실제 변경사항을 적용시키기 전에 프리뷰 화면으로 미리보기가 가능하다.

  • “애니메이션 파일 불러오기” 버튼을 통해 애니메이션 파일을 로드하고, “적용” 을 통해 변경사항을 해당 파일에 덮어씌울 수 있다.



2. 던전 메이커 및 스테이지 메이커

인터페이스를 통해 사용자가 직접 던전과 스테이지를 제작할 수 있도록 하는 에디터이다.


alt text

던전 메이커

  • 던전 메이커는 다수의 스테이지로 이루어진 던전을 제작, 편집할 수 있는 기능이다.

  • 그리드로 이루어진 공간에 스테이지 타일을 생성하여 던전을 만들 수 있다.

  • 스테이지 편집을 선택하면 아래의 “스테이지 메이커” 기능으로 넘어가게 된다.

  • 제작한 던전은 .dungeon 파일로 저장하거나 불러올 수 있으며, 이후 재차 편집할 수 있다.

  • 기본적으로 스테이지의 배경 애니메이션, BGM, 스테이지 크기를 설정할 수 있으며, 스테이지 타일 배치 시 자동으로 주변 이어진 타일을 색출하여 양방향으로 이어지는 게이트(포탈) 객체를 생성한다. 따라서, 스테이지 타일은 이어지는 구역에만 배치하도록 제한했다.


alt text

스테이지 메이커

  • 스테이지 메이커는 던전에 속하는 스테이지를 직접 편집할 수 있는 기능이다.

  • 위 사진과 같이, 추가적으로 스테이지 메이커용 조작 패널 다이얼로그가 제공되며, 이 다이얼로그 창을 통해 몬스터, NPC, 투명 벽의 추가, 선택한 오브젝트의 크기 및 위치 편집 또는 오브젝트 삭제, 현재 스테이지의 크기 조정, 플레이어 활동 영역의 상한 제한선 조정이 가능하다.

  • 스테이지에 추가된 오브젝트는 마우스 조작을 통해 클릭으로 오브젝트를 선택하거나 드래그-드랍으로 위치를 조정할 수도 있다.


alt text

스테이지와 던전

  • 위 던전 메이커와 스테이지 메이커로 생성된 던전 및 스테이지는 .dungeon 파일 형식으로 저장되며, 이후 게임이 플레이될 때 해당 던전 파일을 통해 스테이지를 작성한다.



3. 플레이어블 캐릭터

  • 방향키를 통한 기본적인 움직임과 충돌체를 구현했다.

  • 키 매니저에 추가적으로 커맨드 기능을 구현하여 달리기 기능을 추가했다.

  • 마지막 움직인 방향에 따라 좌우 반전 렌더링이 적용된다.



4. NPC, 일반 몬스터, 포탈, 투명 벽 오브젝트

alt text

  • 스테이지 메이커를 위한 기본적인 틀을 구현했다.

  • 몬스터의 경우 FSM을 추가하여 대기, 이동, 공격을 구현했다.