"랜덤 맵 생성"의 두 판 사이의 차이

jjuiddong
이동: 둘러보기, 찾기
 
(한 사용자의 중간의 편집 19개 숨겨짐)
1번째 줄: 1번째 줄:
  
* 랜덤 맵 생성
+
* 프로젝트 코드 https://github.com/jjuiddong/MapGenerator
  
* 참조 문서
+
== 랜덤 맵 생성 ==
** 스택 오버플로우, 모든 링크는 여기에서 찾을 수 있었다.
+
2D 던젼을 랜덤으로 생성한다. 던젼은 입구, 출구, 광장, 방, 길로 이뤄져 있다. 랜덤으로 생성된 방은 다음 조건을 만족해야 한다.
*** http://stackoverflow.com/questions/11968167/random-2d-tile-map-generating-algorithm
+
 
** 랜덤 맵 생성에 관련된 설명.
+
* 랜덤으로 위치된 광장과 방은 서로 겹치지 않아야 한다.
** http://www.roguebasin.com/index.php?title=Dungeon-Building_Algorithm
+
* 둘 이상의 특정 방은 서로 연관되어서 위치 할 수 있다. (어떤 두개의 방은 항상 반대 방향에 놓여 있어야 한다.)
*** 싱글 액션 RPG게임을 위한 랜덤 맵 생성 알고리즘
+
* 모든 방은 고립되지 않아야 한다.
*** 복도, 문, 비밀문, 방(랜덤 모양), 벽 을 이용해서 랜덤 맵을 생성한다.
+
** 모든 방은 어떤 방에 있든 접근 할 수 있어야 한다.
 +
 
 +
== 맵 생성 ==
 +
# 방을 랜덤하게 위치 시킨다.
 +
# 방을 잇는 길을 생성한다.
 +
## 길이 이어지지 않은 방을 선택한다.
 +
## 방으로부터 나가는 길을 생성한다.
 +
## 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방의 방향으로 가중치를 주어 생성한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.
 +
## 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다.
 +
# 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다. 방에서 밖으로 향하는 길의 개수는 방의 종류마다 다르다.
 +
 
 +
== 참조 문서 ==
 +
* 스택 오버플로우, 모든 링크는 여기에서 찾을 수 있었다.
 +
** http://stackoverflow.com/questions/11968167/random-2d-tile-map-generating-algorithm
 +
* 랜덤 맵 생성에 관련된 설명.
 +
* http://www.roguebasin.com/index.php?title=Dungeon-Building_Algorithm
 +
** 싱글 액션 RPG게임을 위한 랜덤 맵 생성 알고리즘
 +
** 복도, 문, 비밀문, 방(랜덤 모양), 벽 을 이용해서 랜덤 맵을 생성한다.
  
 
* 지형 알고리즘에 관련된 기본적인 내용을 설명.
 
* 지형 알고리즘에 관련된 기본적인 내용을 설명.
 
** http://www-cs-students.stanford.edu/~amitp/gameprog.html
 
** http://www-cs-students.stanford.edu/~amitp/gameprog.html
* 지형 랜덤 생성에 관한 문서 (아주 좋음)
+
* 지형 랜덤 생성에 사이트 (아주 좋음)
**
+
** http://donjon.bin.sh/d20/dungeon/

2014년 11월 3일 (월) 01:58 기준 최신판

[편집] 랜덤 맵 생성

2D 던젼을 랜덤으로 생성한다. 던젼은 입구, 출구, 광장, 방, 길로 이뤄져 있다. 랜덤으로 생성된 방은 다음 조건을 만족해야 한다.

  • 랜덤으로 위치된 광장과 방은 서로 겹치지 않아야 한다.
  • 둘 이상의 특정 방은 서로 연관되어서 위치 할 수 있다. (어떤 두개의 방은 항상 반대 방향에 놓여 있어야 한다.)
  • 모든 방은 고립되지 않아야 한다.
    • 모든 방은 어떤 방에 있든 접근 할 수 있어야 한다.

[편집] 맵 생성

  1. 방을 랜덤하게 위치 시킨다.
  2. 방을 잇는 길을 생성한다.
    1. 길이 이어지지 않은 방을 선택한다.
    2. 방으로부터 나가는 길을 생성한다.
    3. 길은 랜덤하게 향해나가지만, 주위에서 가장 가까운 방의 방향으로 가중치를 주어 생성한다. 이 때 이미 연결된 방은 가중치를 음수로 주어 반사되게 한다.
    4. 방을 만나거나, 길을 만나면, 길을 더이상 잇지 않는다.
  3. 모든 방을 길로 이었다면, 방에서부터 나가는 길을 다시 시작한다. 이 때 가중치는 무시된다. 방에서 밖으로 향하는 길의 개수는 방의 종류마다 다르다.

[편집] 참조 문서

개인 도구
이름공간

변수
행위
둘러보기
도구모음