A titolo di analogia
Un circuito non genera energia. Una lampadina non genera energia. Una batteria non genera energia. Nessuna delle cose che usano o immagazzinano energia generata , sono generatori di energia.
Un generatore a benzina è un generatore di corrente . Una configurazione del pannello solare è un generatore di corrente . Ci si può aspettare che si generino spontaneamente quando vengono lanciati. Altre cose possono usare quell'energia che generano: frigoriferi e televisori e PC e riscaldatori e lampadine.
Allo stesso modo, qualsiasi codice o programma che genera effettivamente il contenuto stesso in fase di esecuzione è PCG. Il resto sono solo utenti di quel contenuto generato proceduralmente (PGC). Adesso,
Generazione di contenuti procedurali
non è lo stesso di
Contenuto generato proceduralmente
PGC è l'artefatto risultante di un processo (programma) che si impegna nel PCG.
Il PCG è sviluppato (programmato) al punto da poter produrre autonomamente contenuti secondo alcune o altre specifiche, ma in (tipicamente) innumerevoli variazioni; PGC viene generato in questo modo come un'unica variazione degli spazi di contenuto possibili altrimenti illimitati all'interno di quella specifica algoritmica più ampia. I PGC sono finiti e statici una volta generati. I PCG gestiscono l' infinito (o abbastanza vicino).
Affrontare le specifiche
"Generazione di contenuti procedurali" si riferisce a codice / applicazioni che generano contenuti.
Qualsiasi gioco può essere considerato un gioco PCG se, in fase di esecuzione , genera dinamicamente nuovi contenuti tramite parte del suo set di istruzioni.
Se tu (o il tuo motore) utilizzate un altro codice di programma che genera contenuto, quindi includete quel contenuto come parte del gioco in fase di compilazione / creazione , quindi il gioco (e il relativo codice) NON è PCG. Quindi:
un motore di gioco in grado di integrare la vegetazione generata automaticamente
... non è PCG, poiché quel motore stesso non produce nuovi contenuti in fase di esecuzione, utilizza semplicemente i contenuti generati da altre parti, che sono stati inclusi manualmente da artisti, designer o sviluppatori.
riconosce la mappa del gioco
PCG non ha nulla a che fare con il riconoscimento. Ha a che fare con il lavoro attivo di creazione di contenuti. Generalmente le applicazioni PCG producono il proprio formato di dati che possono già comprendere e lavorare. In genere non leggono da fonti esterne, anche se quando lo fanno, è semplicemente la vecchia logica del programma ... non il PCG in quanto tale. PCG è tutto basato sulla generazione . Quindi PCG e non PCR :)
Prospettive storiche
Ciò che consideriamo "contenuto" in questo contesto generalmente copre quelle cose che, in passato, gli umani hanno dovuto produrre da soli. Ad esempio negli anni '70 e '80, praticamente tutti i giochi (ad eccezione di alcuni molto speciali) dovevano avere la sua arte, la sua trama, la sua musica, i suoi personaggi e i nomi dei pianeti, e simili, prodotti da un essere umano . Quello era l' opposto polare del PCG.
PCG ha cominciato quando i programmatori di gioco resi conto che al posto della trafila di assunzione di artisti, musicisti, scrittori, ecc - e poi ancora la necessità di integrare il loro lavoro con il codice, o peggio ancora, fare tutto quel lavoro se stessi , così come la codifica - che potevano invece scrivi programmi per generare tutta quella roba per loro. Tali sforzi furono alcune delle prime funzioni, moduli e programmi veramente PCG. Un esempio perfetto è l' XCom / UFO originale , in cui il codice del gioco genera un livello completamente unico per te prima del combattimento. Ancora prima (1979) era il Tempio di Apshai .
Elite è stato un caso diverso: parte del suo contenuto è stato generato quando il gioco era in fase di sviluppo; non solo quel codice era stato scritto dagli stessi autori, ma anche quel contenuto pre-generato veniva in genere utilizzato in fase di esecuzione elite.exe
(ovvero quando il giocatore eseguiva il gioco) da ulteriori generatori che facevano parte del codice del gioco , creando il mondo giocato in.
Un esempio più recente è Minecraft (e altri giochi ispirati da esso) in cui il mondo si genera letteralmente intorno a te mentre cammini verso l'orizzonte, grazie in gran parte alla moderna potenza di calcolo. Paragonalo a Rogue o Moria riprodotti su un PC-XT negli anni '80, per i quali potresti doverti sedere qualche volta in attesa del livello da generare! (a seconda delle impostazioni di gioco scelte).
Non tutto il PCG è storicamente radicato nel settore dei giochi. Ad esempio, ci sono quelli che scrivono generatori di fiction. Ad esempio, Ken Perlin nel campo della grafica e della geometria computazionale ha creato l'algoritmo Perlin Noise, per il quale gli è stato successivamente assegnato un premio accademico. Ad esempio, il musicista Brian Eno è da tempo impegnato nella generazione procedurale di spartiti musicali. E come altro esempio, i giochi da tavolo non digitali come HeroQuest / Warhammer Quest hanno inventato molto tempo fa le dinamiche procedurali per creare un tabellone diverso per ogni gioco.