랜덤맵을 만들고 있는데, 너무 무작위적이었더니 좀 재미가 없더라고.
그래서, 두가지 규칙을 지켜서 만들기로 했어.
1. 유저 동선을 일관성 있게 유지할 것
예) 스테이지 시작 -> 상점 방문 -> 첫번째 몬스터 만남 -> 퀘스트 주는 아저씨 만남 -> 필드에서 몬스터 사냥해서 열쇠 획득 -> 열쇠로 봉인된 길 해제 -> ...
2. 막다른 길이 없을 것
그럼 내가 했던 방법론 공유해볼께.
일단 첫번째로는 서사를 일직선형태의 데이터 구조로 표현했음. 오딘인스펙터로 대충 아래처럼 정의함.
그리고 위 서사를 랜덤한 원으로 만들기로 했음.
일단 PPT로 대충 기획 하고
유니티에서 원들끼리 서로 안겹치게 해서 아웃라인을 그려봄.
그리고, 위에 그린 원을 뼈대로 절차 생성 알고리즘 태워서 아래처럼 그렸어.
예시로 만든 랜덤맵은 아래 서사 흐름으로 만들어져.
1. 호수 근처의 회색 타일에서 시작하고
2. 상인의 집을 만나고,
3. 필드에서 몬스터 잡아서 열쇠를 얻고
4. 보라색 결계가 있는 첫번째 관문을 지나
5. 두번째 필드에서 여러가지 몬스터들을 다시 잡아. 두번째 필드에도 작은 강물이나 호수가 보이는게 특징이야.
6. 두번째 관문앞 보스와 전투해서 두번째 열쇠를 얻고
7. 두번째 관문을 통과하고
8. 동굴속으로 들어가면서 스테이지 종료
그럼 이제 서사를 유지한채 딸깍하면 만들어지는것들 쭉 보여줄께
오늘의 일지 끝!
그럼 모두 힘내라!
이런 거 완성하고 나면 쾌감 쩔듯
어케했누
와 좋다
고수ㄷㄷ
멋지네