본문 바로가기
DirectX/[갠플] Maple Story 모작

22-07-28

by GameStudy 2022. 7. 28.

 

본 모작은 상업적 용도가 아닌, 공부 목적의 모작입니다.


 

0. 하루 느낀점

  - GameEngineBase 프로젝트 상의 오류를 발견했음.

    그러나, 그당시 나는 아래의 이유로 덮고 싶었음.

    1. 그렇게 크리티컬한 오류는 아니었음.

      물론 미래는 어떻게 될지 모르지만.. 당시엔 그렇게 판단..

    2. 해당 프로젝트에 의존하는 하위 프로젝트가 많음.

      잘못 수정될 시에 후환이 두려웠음.

    3. 게다가 동기들에게 물어봐도 해결책이 쉽사리 나오지 않음.

      다만, 어느부분에서 잘못되었는지만 파악 가능했음.

    4. 완벽한 포폴은 없다..?

  - 하지만 함께 파악했던 동기분들은 반드시 지금 고쳐야 한다고 함.

    그래서 엔진 프로그래머분께 보고되었고, 쉽게 픽스되었음.

  - 걱정이 너무 많다보니, 잘못된 결정을 하게되었다고 생각됨.

    지금 드는 생각은, 오류 보고까지 덮어버리면 안됨.

    어차피 엔진 프로그래머분께서 판단하실테니까.

 

 

1. 씬 이동 액터

  1-1. 엔진 구현 내용

    - 루트 액터만 넘어갈 수 있음.

      즉, 상위 Parent가 없는 Actor만 이동 가능.

    - 레벨이 정리될 때, 이동 Actor는 레벨 정리되기 직전에 따로 빼둠.

      그리고 이전 레벨에선 삭제시킴. 랜더러또한 함께 넘어가게됨.

    - 따라서, 이동시킬 Actor 클래스는 State 멤버로 자신을 갖고 있게끔 

      컨텐츠단에서 구현하도록 권장함.

 

  1-2. 컨텐츠 구현 내용

    - 이전에는 각 레벨별로 플레이어를 만듦.

      엔진에 구현된 대로 플레이어를 딱 한번 만들고 

      해당 플레이어를 계속 이동시킴.

    - 기존에 각 Scene에서 플레이어를 이동 시킴.

      해당 코드가 스파게티화 되어서 하나의 플레이어 위치를

      엉키게 만듦. 바로 픽스되었음.

 

 

2. 디버깅용 키 구현

  - 이동, 공격, F1F2 설명을 imgui에 적고 싶었으나,

    한글 처리가 엔진에서 되지 않아서 실패..

  - 엔진 코드를 만지면 안되지만, 잠깐 만져서 구글링한 결과를

    반영 시켜 보았지만 그래도 실패..

  - 결국 컨텐츠단에서 콘솔창을 이용해 출력했음.

 

 

3. 엔진의 Contents 관련 코드 동기화

  - 엔진 프로그래머분께서 컨텐츠 부분의 코드를 수정하심.

  - 간단하게 확인 후, 동기화 시킴.

 

 

4. Veil의 메인 카메라 이동.

  - Scene 이동시 알파블랜딩을 통해서 Fade In/Out이 됨.

    이전에 구현했던 건데, UI 카메라가 구현된 후로 버그 발생.

  - 파악된 이유로는 알파 블랜딩에 쓰이는 검은 장막(Veil 클래스 개체)을

    다음 Scene의 랜더링 대상에 안넣어줘서 발생.

  - 엔진 프로그래머분께 보고 드린 상태.

 

 

'DirectX > [갠플] Maple Story 모작' 카테고리의 다른 글

22-08-01  (0) 2022.08.01
22-07-29  (0) 2022.07.30
22-07-27  (0) 2022.07.27
22-07-25  (0) 2022.07.25
22-07-23  (0) 2022.07.23

댓글