태그 보관물: procedural-generation

procedural-generation

이 절차 적 콘텐츠 생성이 다른 반면 그렇지 않은 이유는 무엇입니까? 않는다고 명시 적으로

온라인 절차 적 콘텐츠 생성 서적을 읽고 있습니다. 2 페이지 1 장에는 PCG가 무엇인지, PCG가 아닌지에 대한 또 다른 예가 있습니다.

이것은 그들에 따라 PCG입니다.

식물로 게임 세계를 빠르게 채우는 게임 엔진 미들웨어

그들에 따르면 이것은 PCG가 아닙니다.

자동으로 생성 된 식생을 통합 할 수있는 게임 엔진

또한 1 페이지에서 그들은 게임 엔진 PCG를 고려하지 않는다고 명시 적으로 말했습니다.

여기서 핵심 용어는 “콘텐츠”입니다. 우리의 정의에서 콘텐츠는 레벨, 맵, 게임 규칙, 텍스처, 스토리, 아이템, 퀘스트, 음악, 무기, 차량, 캐릭터 등 게임에 포함 된 대부분의 콘텐츠입니다 . 게임 엔진 자체는 콘텐츠로 간주되지 않습니다 우리의 정의에서.

PCG 예제는 게임 맵을 인식하고 그에 따라 식물로 채우는 게임의 코드 (또는 모든 게임에 적합한 코드 일 수 있음)입니다. 그리고 PCG가 아닌 예제는 개발자가 사용자 인터페이스를 통해 식물을 오프라인으로 추가 할 수 있다는 점에서 게임 엔진에서 사용할 수있는 옵션과 같습니다.

마지막 것은 나에게서 매우 거친 추측입니다. 언뜻보기에 PCG와 같은 소리를냅니다. 그것들을 차별화하도록 도와주세요.



답변

비유로

회로는 전력을 생성하지 않습니다. 전구는 전력을 생성하지 않습니다. 배터리는 전력을 생성하지 않습니다. 발전된 전력사용하거나 저장 하는 것은 발전기가 아닙니다.

가솔린 구동 발전기 는 발전기 입니다. 태양 전지판 설정 은 발전기 입니다. 그들은 시작될 때 자발적으로 생성 될 것으로 예상 할 수 있습니다. 냉장고와 TV, PC, 히터, 전구 등 다른 것들도 그들이 생산하는 전력을 사용할있습니다 .

마찬가지로 런타임에 실제로 콘텐츠를 생성 하는 코드 나 프로그램 은 PCG입니다. 나머지는 그 절차 적으로 생성 된 컨텐츠 (PGC)의 사용자 일뿐 입니다. 지금,

절차 적 컨텐츠 생성

와 같지 않다

절차 적으로 생성 된 컨텐츠

PGC는 PCG에 관여하는 프로세스 (프로그램)의 결과물입니다.

PCG는 컨텐츠를 일부 또는 다른 사양으로 자율적으로 생성 할 수 있지만 (일반적으로) 수많은 변형으로 개발 (프로그래밍)됩니다. PGC는 그에 의해 더 넓은 알고리즘 사양 내에서 다른 가능한 가능한 컨텐츠 공간의 단일 변형 으로서 생성된다 . PGC는 일단 생성되면 유한 하고 정적 입니다. PCG는 무한대를 처리 합니다.

주소 지정

“절차 적 컨텐트 생성”은 컨텐트를 생성하는 코드 / 응용 프로그램을 말합니다.

런타임에 명령 세트의 일부를 통해 새로운 컨텐츠를 동적으로 생성하는 경우 모든 게임은 PCG 게임으로 간주 될 수 있습니다 .

귀하 (또는 귀하의 엔진)가 컨텐츠를 생성하는 다른 프로그램 코드를 사용하고 컴파일 / 빌드 시간에 해당 컨텐츠를 게임의 일부로 포함 시키면 귀하의 게임 (및 코드)이 PCG가 아닙니다. 그 후:

자동으로 생성 된 식생을 통합 할 수있는 게임 엔진

… 엔진 자체가 런타임에 새로운 컨텐츠를 생성하지 않기 때문에 아티스트, 디자이너 또는 개발자가 수동으로 포함한 다른 곳에서 생성 된 컨텐츠를 사용하기 때문에 PCG가 아닙니다.

게임 맵을 인식

PCG는 인식과 관련이 없습니다. 콘텐츠를 만드는 활동을하는 것과 관련이 있습니다. 일반적으로 PCG 응용 프로그램은 이미 이해하고 작업 할 수있는 자체 형식의 데이터를 생성합니다. 그것들은 일반적으로 외부 소스에서 읽지는 않지만 PCG가 아닌 일반 오래된 프로그램 논리 일뿐입니다. PCG는 모두 세대 에 관한 입니다. 따라서 PCG가 아닌 PCR 🙂

역사적 관점

우리가이 맥락에서 “콘텐츠”로 간주하는 것은 일반적으로 과거에 인간이 스스로 생산 해야 했던 것들을 포함 합니다. 예를 들어, 70 년대와 80 년대에, 거의 모든 게임 (매우 특별한 몇 가지를 제외하고)은 예술, 스토리, 음악, 캐릭터 및 행성 이름 등을 인간이 제작해야했습니다. . 그것은 PCG의 정반대 였습니다.

PCG는 게임 프로그래머가 예술가, 음악가, 작가 등을 고용하는 대신에 자신의 작업을 코드와 통합해야한다는 것을 깨달았지만 여전히 모든 작업 을 코딩뿐만 아니라 코딩 해야합니다. 대신 프로그램을 작성하여 모든 것을 생성하십시오. 이러한 노력은 최초의 진정한 PCG 기능, 모듈 및 프로그램 중 일부였습니다. 완벽한 예는 게임의 코드가 전투 전에 완전히 독특한 레벨을 생성하는 원래의 XCom / UFO 입니다. 이전 (1979)은 Apshai의 사원이었다 .

엘리트 는 다른 경우였습니다. 일부 콘텐츠는 게임 개발 중에 생성되었습니다. 동일한 저자가 작성한 코드뿐만 아니라 사전 생성 된 콘텐츠는 일반적으로 게임 코드의 일부인 추가 생성기 에서 런타임에 elite.exe(즉, 플레이어가 게임을 실행했을 때) 사용되어 세상을 만듭니다. 연주했다.

새로운 예는 Minecraft (및 그로부터 영감을 얻은 다른 게임)입니다. 현대 컴퓨팅 능력 덕분에 수평선을 향한 세계가 문자 그대로 주변을 생성합니다. 이것을 1980 년대 PC-XT에서 플레이 한 Rogue 또는 Moria와 비교해보십시오 . 레벨이 생성되기를 기다려야 할 때가 있습니다! (선택한 게임 설정에 따라).

모든 PCG가 역사적으로 게임 산업에 뿌리를 둔 것은 아닙니다. 예를 들어, 소설 생성기를 쓰는 사람들이 있습니다. 예를 들어, 그래픽 및 계산 기하학 분야의 Ken Perlin은 Perlin Noise 알고리즘을 만들었으며 나중에 아카데미 상을 수상했습니다. 예를 들어, 음악가 Brian Eno는 오랜 시간 동안 음악적 점수의 절차 적 생성에 종사해 왔습니다. 또 다른 예로서, HeroQuest / Warhammer Quest와 같은 비 디지털 보드 게임은 오래 전에 각 플레이마다 다른 게임 보드를 만드는 절차 적 역학을 발명했습니다.


답변