글 작성자: Doublsb

오늘은 제작일지라기보단 계획에 가깝다.

 

SRPG이다보니 좌표 중심의 구현을 하려 하는데, 헷갈리는 게 한 둘이 아니라서 써보면서 생각하려 한다.

 

우선 이 맵부터. Size로는 10x5의 맵이다.

좌표계를 우측 모서리가 x라고 치고, 박스가 있는 위치를 말하면 (0, 3)이다.

 

...이것부터 좀 고통스럽다. 0부터 시작하는 좌표계로 연산을 하면 사람 머리에서 헷갈리고,

그렇다고 1부터 시작하는 좌표계로 연산을 하면 코딩할 때 헷갈린다.

 

일단은 1부터 시작하는 좌표계를 사용하려고 하는데, 미래에 버그가 많이 난다면 여백을 준비해뒀으니 불만을 토하길 바란다. 내가 보기엔 훗날 100퍼센트 이 아래에 뭔가 써질듯.


 

제정신이냐

 

 


타일과 오브젝트는 분리하여 구현해야 할 것 같다.

 

타일은 게임 실행 내내 변동되지 않는 값이나, 오브젝트는 그렇지 않다.

게임 도중에 사라질 수도 있고, 이동할 수도 있다.

 

지금은 아무런 생각 없이 오브젝트를 맵 하위에 두고 있었으나, 이러면 움직일 때 문제가 된다.

이동할 때마다 transform의 parent를 바꿔주는 건 낭비이며, 관리하기에도 쉽지 않다.

 

다만 오브젝트 자체가 좌표값을 가지고 있어야 하는가에 대해서는 부정적이다.

SrpgCore에서 좌표를 키로 두고, 오브젝트 정보를 저장해두면 관리할 수 있을 것이다.

 

해당 좌표로 캐릭터가 이동할 수 있는지 알아보려면, 리스트를 모두 조사해서 결과값을 얻어내면 되겠지.

 

예시

Dictionary는 Serialize가 불가능하므로, 맵 메이킹 단계에서 JSON 파일로 저장할 때 변환 과정을 만들어줘야겠다.

각 스테이지가 시작할 때, 해당 타일맵 씬을 로드하고 JSON 오브젝트 정보로 오브젝트를 생성해야겠다.

 

일단 다른 생각을 전부 접고, 아래의 것들을 준비해야 한다.


목표

 

- 예시 타일맵 씬 (3x6)    //x, y 좌표가 제대로 작동하는지 확인하기 위함

- 예시 오브젝트 정보 JSON 파일


작업해야 할 것

 

- 오브젝트 데이터 클래스

- 오브젝트 데이터 클래스의 JSON<->딕셔너리 구현

- 해당 좌표의 정보를 리턴하는 메서드 구현 (isAccessible)

반응형