기획자 본인만큼 잡다한 블로그

greentec.egloos.com

포토로그




로그라이크 게임 제작 - 랜덤 던전 만들기 프로그래밍

지난 게시물에 그래픽 압축을 했기 때문에 이제 던전을 만들 준비가 되었다. 던전을 만들기 위해 다양한 방법을 모색하던 중 최근 넷핵에 올라왔던 어떤 분의 작업이 블로그에도 올라와 있는 것을 보았다. 마지막 부분에 나와 있는 작업을 참고하여 나도 재귀적인 프로세스로 던전을 만들어보게 되었다.

간단히 설명하면 아래 그림과 같다. 먼저 필드 중앙에 방을 하나 만들고, 그것과 인접하고 크기는 좀 더 작아진 방을 확률적으로 만든다. 임계값에 도달할 때까지 (여기서는 4번째 실행 후 멈춤) 방을 계속 만들거나, 확률에 의해 방을 만들지 않고 멈추게 된다. 이 과정에서 방을 배치할 때 이미 다른 방이 그 자리를 선점하고 있는지는 체크하지 않고 덮어씌운다.



이런 프로세스로 완성된 던전은 아래와 같은 모습이 된다. 연결 통로에 문을 달지 않았지만, 문만 달면 꽤 자연스러워질 것 같다. 오래 전에 에이전트(스파이더) 방식으로 만들었던 맵과도 비슷해 보이지만 연결성을 보장하기 때문에 더 유용하다.



이렇게 랜덤 던전을 만들었으니, 다음에는 안개를 넣어볼 차례다.


덧글

댓글 입력 영역

애드센스