Terreni procedurali in 3D: cosa è stato fatto? Ci sono algo e / o teorie comuni al riguardo? [chiuso]


10

Oltre alla programmazione, la modellazione di un ambiente richiede molto tempo.

Non conosco il tempo di lavoro coinvolto, ad esempio, in un livello sotterraneo di WoW, o in altri splendidi ambienti simili a città, ambienti futuri, giungle, fantasie, ecc., Ma questo tipo di lavoro è realizzato da zero dagli artisti.

Quali sono le tecniche coinvolte nel randomizzatore di livello TorchLight e altri titoli hanno somiglianze con questo? Esiste un cognome per tali tecniche?


Penso che le mappe di Torchlight siano in 2D, con grafica 3D. Non ricordo di avere aree della mappa 3D come la Blackrock Spire di WoW, dove i tunnel vanno sopra o sotto l'altro. Probabilmente puoi usare uno qualsiasi dei generatori di dungeon 2D di Roguelikes ( pcg.wikidot.com/pcg-algorithm:dungeon-generation ).
entro il

Divertente riferimento, questa demo da 4 KB: youtube.com/watch?v=_YWMGuh15nE
Oskar Duveborn il

La generazione di dungeon 2D è già stata trattata su gamedev.stackexchange.com/questions/2663/… .

Risposte:


8

I Roguelike fanno questo genere di cose da quando sono stati inventati, e sono il "seme" di Torchlight (e Diablo) da cui hanno preso le loro idee.

Non so specificamente di Torchlight, ma in generale, quello che stai cercando si chiama "Generazione a livello procedurale".

Carburante genera proceduralmente una zona così difficile da non adattarsi al DVD in cui il gioco entra. Mi è particolarmente piaciuto leggere la serie di Shamus Young .

Un altro esempio interessante di contenuto generato proceduralmente è il gioco non ancora rilasciato da Introversion, chiamato Subversion . Dai un'occhiata alla Parte 12 in quella pagina; è particolarmente succoso.

Parlando di città generate proceduralmente, c'è anche un po 'di middleware in giro - controlla http://www.procedural.com/ .

Per altri giochi / middleware, controlla la pagina Wikipedia di Generazione procedurale e il Wiki di generazione procedurale .


2

(Link citati nel link pastebin: http://pastebin.com/PpJknMuT )

Bene, potresti dire che ci sono 2 tipi diversi. Dipende da quello che vuoi. Ad esempio, se prendiamo un recente gioco GTA, centinaia di artisti sono stati usati per creare la città e per personalizzarla. La generazione procedurale potrebbe essere usata qui, ma sarebbe usata come strumento per artisti piuttosto che qualcosa in esecuzione sul motore di gioco in quanto non desideriamo in particolare un layout di città diverso per ogni gioco.

Quindi la mia tesi di laurea era sulla generazione procedurale di città con la suddivisione in zone della città: [1]

Questo strumento viene utilizzato dall'artista per creare una città, consentendo al contempo il controllo su diversi aspetti se lo richiedono. La generazione della città è simile ai sistemi L visti dal lavoro di Pascal Mueller: [2] La suddivisione in zone della città funziona come una mappa immagine che prende le probabilità delle zone (commerciali, residenziali, industriali) dai dati pixel rgb. Sarebbe possibile automatizzare la generazione se lo si desidera, ma per rendere credibili le città, l'algoritmo dovrebbe essere molto più complesso utilizzando la meccanica dell'intelligenza artificiale della popolazione anziché il sistema L e gli algoritmi del rumore.

La generazione al volo può essere vista in [3] o immagino che l'esempio più semplice sarebbe l'elicottero: [4]

Qualcosa di simile a Torchlight sarebbe Infinity: Quest for Earth [5]

In Infinity, la galassia e ogni cosa al suo interno viene generata con un valore seme che quindi crea tutte le altre variabili utilizzate per generare tutto ciò che è contenuto nella galassia (pianeti, soli, ecc.) Il collegamento parla di come funziona in modo più dettagliato.


Sì, lo capisco: uno non vorrebbe sempre avere livelli casuali con la generazione da un seme o altro. Il fatto è che la cosa che vogliamo fare per la generazione di livelli è semplicemente facilitare il lavoro di un designer di livelli in modo che non debba fare tutto con maya o max. La generazione di livelli non è sempre progettata per generare solo livelli, ma può anche far sì che il software generi al volo blocchi di geometria, anziché condurre un file di grandi dimensioni contenente tutta la geometria, come una mappa di altezza, ma per insiemi di livelli specifici, come un giungla, un ufficio o una città: chiediamo solo all'artista di fare le trame e alcuni
jokoon

e alcuni comuni pezzi di geometria che vogliamo ripetere. Non sto parlando di livelli solo procedurali, ma per il grande mondo, questo è un must per risparmiare memoria.
jokoon

Che tipo di ambiente di gioco vuoi? Voglio dire, se hai una città, allora solo gli edifici sarebbero ripetuti in diversi orientamenti .. I paesaggi sono come dici molto più facili da generare al volo .. Questo dipende davvero dal gioco che vuoi fare, quindi sarebbe qualcosa di simile Morrowind / Oblivion o GTA o qualcos'altro?
Sycren,

1

Minecraft utilizza il rumore Perlin 2D per generare terreno all'aperto. Può avere livelli praticamente infiniti (moriresti di vecchiaia prima di arrivare al limite) che vengono generati mentre i giocatori esplorano. Utilizza (probabilmente) anche il rumore 3D Perlin per generare grotte sotterranee.


Tecnicamente il limite del mondo di Minecraft è irraggiungibile: man mano che ci si avvicina a circa un terzo (IIRC), il gioco inizia a impadronirsi e salva ogni secondo ed è ingiocabile. ;-)
Il comunista Duck

-1

Quali sono le tecniche coinvolte nel randomizzatore di livello TorchLight.

Saranno solo numeri casuali che verranno messi in algoritmi di livello lì.

e altri titoli hanno somiglianze con questo?

Wikipedia .

Sebbene discutibile Left 4 Dead ha usato tecniche simili in lì AI Director.

Esiste un cognome per tali tecniche?

Frattali, ricorsioni, sistemi L e semplici vecchi algoritmi. Ciascuno combinato con numeri casuali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.