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


18

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

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

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

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

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

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

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

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

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


9
두 남자를 비교해보십시오. 한 방에 들어가서보고, 방을 기준으로 가구를 만들고 방에 가구를 넣습니다. B도 똑같이하지만 가구를 만든 사람인 IKEA에 가서 방에 가구를 넣습니다. A와 B가 가구를 만들고 있다고 말할 수 있습니까? 그것이 그들이 지적하려는 차이점입니다. 처음부터 가구를 만들지 않는 한 실제로 가구를 만드는 것이 아니라 기존 가구를 새로운 방식으로 사용하는 것입니다.
Flater

답변:


27

비유로

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

가솔린 구동 발전기 는 발전기 입니다. 태양 전지판 설정 은 발전기 입니다. 그들은 시작될 때 자발적으로 생성 될 것으로 예상 할 수 있습니다. 냉장고와 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와 같은 비 디지털 보드 게임은 오래 전에 각 플레이마다 다른 게임 보드를 만드는 절차 적 역학을 발명했습니다.


6
매우 사소한 기술 예외-게임 자체가 절차 적으로 생성 된 개념 증명 연구 프로젝트 / 게임이있었습니다. 즉, 목표, 규칙 및 어느 정도까지는 표현이 모두 런타임에 동적으로 생성되었습니다. 컨텐츠와 엔진 사이의 경계가 다소 흐려 지지만 "생성하는"리트머스 테스트는 여전히 유효합니다. 탁월한 증류.
Pikalek

3
@Pikalek 나는 그 사고 방식에 전적으로 동의합니다. 우리는 Lisp가하는 한 그것을 취할 수 있습니다. 궁극적으로 명령과 데이터 사이에는 구별이 없습니다. 그래도 대답에 지나치게 복잡한 것을 원하지 않았습니다. 댓글 주셔서 감사합니다.
엔지니어

2
@Adocad : 나는 당신이 대답에서 약간의 세부 사항을 놓쳤다 고 생각합니다. "당신 (또는 당신의 엔진)이 콘텐츠를 생성 하는 다른 프로그램 코드를 사용 하고 컴파일 / 빌드 시간에 게임의 일부로 그 콘텐츠 를 포함 시키면 게임 ( 코드는 PCG가 아닙니다 " 프로그램에 의해 생성 된 콘텐츠 대신 게임에 프로그램을 포함시키고 게임이 필요할 때 (로컬로, 플레이어의 컴퓨터에서) 프로그램을 시작하면 실제로 오프라인 PCG 일 것입니다. 그러나 PCG 생성 결과를 단순히 포함하는 경우에는 그렇지 않습니다 (현재는 정적 인 상태 임).
Flater

2
@AC : 절차 상 생성 된 컨텐츠 또는 절차 적 컨텐츠 생성 으로 분류 할 때 구별이 더 명확하다고 생각합니다 .
Flater

4
@Flater 감사합니다. 절차 상 생성 된 컨텐츠를 오프라인 및 / 또는 런타임에 생성 할 수 있지만 절차컨텐츠 생성 은 명시 적으로 런타임입니다. ( 나중에 컴파일 될 컨텐츠를 생성 하는 도구 PCG를 수행하고 있지만 해당 컨텐츠가 사전 생성 및 컴파일 된 후에는 해당 컨텐츠를 사용하는 게임이 PCG를 수행 하지 않습니다 )
AC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.