랜덤맵을 만들고 있는데, 너무 무작위적이었더니 좀 재미가 없더라고.

그래서, 두가지 규칙을 지켜서 만들기로 했어. 


1. 유저 동선을 일관성 있게 유지할 것

   예) 스테이지 시작 -> 상점 방문 -> 첫번째 몬스터 만남 -> 퀘스트 주는 아저씨 만남 -> 필드에서 몬스터 사냥해서 열쇠 획득 -> 열쇠로 봉인된 길 해제 -> ...

2. 막다른 길이 없을 것


그럼 내가 했던 방법론 공유해볼께.


일단 첫번째로는 서사를 일직선형태의 데이터 구조로 표현했음. 오딘인스펙터로 대충 아래처럼 정의함.

a14004ad2a0ab4618eff81fb06df231d0b7bedf3bd3c80f345eb4a




그리고 위 서사를 랜덤한 원으로 만들기로 했음. 

일단 PPT로 대충 기획 하고

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285bc193d62f1eba31b9da921a4c8cfe7e7eca7354e6ecd0b7f


유니티에서 원들끼리 서로 안겹치게 해서 아웃라인을 그려봄.

a14004ad2a0ab4618eff8efb06df231d04019f290993737ddb30



그리고, 위에 그린 원을 뼈대로 절차 생성 알고리즘 태워서 아래처럼 그렸어.

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285d1753e64450883e0133ff8b91d2edd7d8fbd235ce663898641


예시로 만든 랜덤맵은 아래 서사 흐름으로 만들어져.

1. 호수 근처의 회색 타일에서 시작하고

2. 상인의 집을 만나고,

3. 필드에서 몬스터 잡아서 열쇠를 얻고

4. 보라색 결계가 있는 첫번째 관문을 지나

5. 두번째 필드에서 여러가지 몬스터들을 다시 잡아. 두번째 필드에도 작은 강물이나 호수가 보이는게 특징이야.

6. 두번째 관문앞 보스와 전투해서 두번째 열쇠를 얻고

7. 두번째 관문을 통과하고

8. 동굴속으로 들어가면서 스테이지 종료



그럼 이제 서사를 유지한채 딸깍하면 만들어지는것들 쭉 보여줄께

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285bc193d62f1eba31b9da921a499cdb7bdeba3631e9f8ad210


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285bc193d62f1eba31b9da921a4cacde6b5eca5324e67d6b12c


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285bc193d62f1eba31b9da921a4cfcde2e7b7a0311b4acdcaea


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce981fa1bd625311d97a35fa10c2fdf02e7bcc18af6bd708ee7c107cf36fad4f8e80285bc193d62f1eba31b9da921a4cdcde5e4ecab6b1946968866


오늘의 일지 끝!

그럼 모두 힘내라!