"랜덤 맵 생성"의 두 판 사이의 차이
jjuiddong
(→맵 생성) |
(→맵 생성) |
||
12번째 줄: | 12번째 줄: | ||
## 길이 이어지지 않은 방을 선택한다. | ## 길이 이어지지 않은 방을 선택한다. | ||
## 방으로부터 나가는 길을 생성한다. | ## 방으로부터 나가는 길을 생성한다. | ||
− | ## 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 | + | ## 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방의 방향으로 가중치를 주어 생성한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다. |
## 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다. | ## 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다. | ||
# 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다. | # 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다. |
2014년 11월 2일 (일) 23:28 판
랜덤 맵 생성
2D 던젼을 랜덤으로 생성한다. 던젼은 입구, 출구, 광장, 방, 길로 이뤄져 있다. 랜덤으로 생성된 방은 다음 조건을 만족해야 한다.
- 랜덤으로 위치된 광장과 방은 서로 겹치지 않아야 한다.
- 둘 이상의 특정 방은 서로 연관되어서 위치 할 수 있다. (어떤 두개의 방은 항상 반대 방향에 놓여 있어야 한다.)
- 모든 방은 고립되지 않아야 한다.
- 모든 방은 어떤 방에 있든 접근 할 수 있어야 한다.
맵 생성
- 방을 랜덤하게 위치 시킨다.
- 방을 잇는 길을 생성한다.
- 길이 이어지지 않은 방을 선택한다.
- 방으로부터 나가는 길을 생성한다.
- 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방의 방향으로 가중치를 주어 생성한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.
- 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다.
- 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다.
참조 문서
- 스택 오버플로우, 모든 링크는 여기에서 찾을 수 있었다.
- 랜덤 맵 생성에 관련된 설명.
- http://www.roguebasin.com/index.php?title=Dungeon-Building_Algorithm
- 싱글 액션 RPG게임을 위한 랜덤 맵 생성 알고리즘
- 복도, 문, 비밀문, 방(랜덤 모양), 벽 을 이용해서 랜덤 맵을 생성한다.
- 지형 알고리즘에 관련된 기본적인 내용을 설명.
- 지형 랜덤 생성에 사이트 (아주 좋음)