Domanda

Mi piacerebbe scrivere un gioco di strategia in cui la sua mappa sarà piastrellata in 3D. Ho letto alcuni articoli su Gamedev ma la maggior parte di loro sta cercando di implementare il 3D nello spazio 2D. Mi chiedo come oggigiorno sia implementato usando le schede 3D. Mi chiedo se l'utilizzo di Irrlich sarà eccessivo (ha un bel nodo di scena heightmap).

Grazie in anticipo, ternyk

È stato utile?

Soluzione

La carta 3D ha poco a che fare con la rappresentazione mondiale. L'osservazione "3D nello spazio 2D" è corretta perché è essenzialmente ciò che la maggior parte di questi giochi sta facendo. Le tessere possono ancora essere memorizzate come sempre (cioè una sorta di matrice 2D, forse suddivisa in blocchi più gestibili), e tutto ciò che deve cambiare è la rappresentazione grafica di ogni tessera. Invece di una bitmap, possono fare riferimento a un modello 3D o a uno o più materiali in caso di terreno. Il rendering è più o meno lo stesso di sempre: per ogni tessera sullo schermo, disegna la rappresentazione di quella tessera (qualunque essa sia) in una determinata posizione. Il rendering 3D renderà le tessere in 3 dimensioni anziché 2 e richiederà l'intera trasformazione dallo spazio del modello allo spazio del mondo e allo spazio della telecamera, ma questo vale per tutti i giochi, piastrellati o meno.

Irrlicht non è certamente eccessivo per un gioco del genere, soprattutto se vuoi essere in grado di renderizzare modelli 3D sopra le tue tessere. Scrivere il tuo semplice motore 3D non è tremendamente difficile, ma è un grande sforzo per un beneficio minimo o nullo rispetto a quelli liberamente disponibili. È difficile dire se soddisfa esattamente le tue esigenze, dal momento che non sei entrato in alcun dettaglio, ma in generale librerie gratuite come Irrlicht e OGRE sono buone scelte per creare giochi se sei impostato su C ++.

Altri suggerimenti

La maggior parte ha già ricevuto risposta da Kylotan e sono d'accordo.

Aggiunta ad esso:

L'uso di un motore come Irrlicht non è eccessivo, in realtà renderà il tuo lavoro più semplice in quanto ti libera da attività standard noiose e soggette a errori relative all'utilizzo di direct3d / opengl.

In genere è importante distinguere tra la rappresentazione del mondo interno di un gioco e la sua visualizzazione. Solo perché un gioco utilizza modelli 3d e terreno 3d non significa che utilizza gli stessi dati per la sua rappresentazione interna del mondo di gioco. Molto spesso si trova un modello semplificato. Kylotan si è allineato in un modo, ma puoi anche avere un terreno basato su una mappa di altezza con un modello più semplice sotto. Un array 2d con ogni elemento che rappresenta una tessera della tua scena con le sue proprietà specifiche del gioco (matrice di quale tipo di unità può inserire questa tessera, i costi di movimento, può costruire edifici ecc.). Il terreno visivo può essere completamente separato da questi dati.

Per quanto riguarda le caratteristiche del terreno, OGRE offre un'implementazione del terreno molto migliore di Irrlicht in termini di flessibilità, prestazioni e qualità visiva. Non so se sia rilevante per il tuo gioco. Vedi http://www.ogre3d.org/forums/viewtopic.php ? f = 11 & amp; t = 50674

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top