클래식 타일 엔진에서 작동하지만 무작위로 생성되는 게임을 설계하고 있습니다. 이를 수행하는 기존 게임이나 알고리즘이 있습니까? 내가 찾은 절차 생성 알고리즘은 타일 시스템을 사용하지 않습니다 ... 타일 시스템을 사용하여 전체 "세계"를 생성하는 가장 좋은 방법은 무엇입니까? 나는 블록의 미로에 대해 이야기하고 있지 않지만 전반적인 "세계지도"에 감사합니다.
클래식 타일 엔진에서 작동하지만 무작위로 생성되는 게임을 설계하고 있습니다. 이를 수행하는 기존 게임이나 알고리즘이 있습니까? 내가 찾은 절차 생성 알고리즘은 타일 시스템을 사용하지 않습니다 ... 타일 시스템을 사용하여 전체 "세계"를 생성하는 가장 좋은 방법은 무엇입니까? 나는 블록의 미로에 대해 이야기하고 있지 않지만 전반적인 "세계지도"에 감사합니다.
답변:
귀하의 질문은 절차 적 컨텐츠 생성 분야로 연결됩니다.
연속 / 아날로그 방식에서 파생 된 타일 기반 세계 생성
연속적으로, 나는 타일이 아닌, 아날로그 인 것을 의미합니다. 예를 들어 벡터화 된지도입니다. 연속 기술을 사용하여 생성 한 다음 수량화 할 수 있습니다. 예를 들어 고해상도 Perlin 노이즈 이미지를 생성 한 다음 타일 맵 크기에 맞게 해상도를 줄이고 픽셀을 샘플링하여 하이트 맵을 제공하십시오. (하이트 맵은 세상을위한 훌륭한 출발점이 될 수 있습니다.) 이것은 타일에 적용하는 방법과 관련하여 수행 할 작업을 보여주지 않은 소스보기를 언급했기 때문입니다.
"깜박임"조각 접근 방식을 사용한 타일 기반 세계 생성
타일 (셀) 기반 접근 방식을 사용하면 예를 들어 보지 않고 비트 단위로 월드를 생성하는 일종의 블라인드 생성을 수행 할 수 있습니다. 바로 옆에있는 타일이지만 곤충의 작업처럼 보입니다. 이것은 전형적인 CA (셀룰러 오토마타)이며, 더 큰 규모의 지능을 보여줍니다.
더 넓은 세계관을 사용한 타일 기반 세계 생성, 하향식
타일별로 월드 타일을 빌드하는 데 더 지능적인 접근 방식이 필요합니다. 지역별로 먼저 빌드하기 때문입니다. 이런 식으로 당신은 예를 들어 제어 할 수 있습니다. Tarn Adams가 Dwarf Fortress에서 한 것처럼 다른 생물 군계, 정치 지역 등. 물론 이것은 세상을 어떻게 나누고 싶은지 조금 생각해야합니다. 여러 가지 방법이 있으므로 자신의 연구를 수행해야합니다.
절차 적 컨텐츠 생성은 매우 광범위한 주제이므로 실제로 원하는 내용과 진행 방법에 대한 확실한 아이디어를 얻기 전에 충분한 양의 독서를해야 합니다. 악마는 항상 상세 합니다. 이러한 이유로이를위한 좋은 소스는 rec.games.roguelike.development 메일 링리스트 (타일 기반 절차 세계에 대한 수많은 정보), AmitP의 게임 프로그래밍 페이지 ( "기타 주제"아래) 및 마지막입니다. 절차 컨텐츠 생성 위키 .
절차 적 생성은 거대한 주제입니다. 당신은 얼마나 깊이 갈 것입니까?
Nick Wiggill의 답변은 최고입니다. 일관성있는 임의 지형을 만드는 수학적 방법을 살펴 보라고 제안함으로써 그 점을 추가하고 싶습니다.
Perlin 노이즈 는 부드러운 임의성을 생성하는 좋은 방법을 제공하며 모든 종류의 지형에 적합합니다. 침식 시뮬레이션은 실제 높이 인상을 줄 수 있습니다 (타일 기반 게임을하고 있기 때문에 필요하지는 않지만)
Tribal Trouble의 제작자 인 Oddlabs가 이와 같은 논문에서 논의한 많은 기술 들은 2D 및 저해상도에서도 잘 작동합니다. 이런 종류의 접근 방식에 더 익숙하다면 이러한 기술을 익히는 것이 좋습니다.
Spelunky의 절차 적 공간 -Darius Kazemi의 절차 적 컨텐츠 생성 에 대한 훌륭한 소개
Spelunky는 Derek Yu의 2D 게임으로 절차 적 수준이 뛰어납니다.
절차 적 컨텐츠 위키 http://pcg.wikidot.com/도 있습니다