2009-12-02 14 views
6

con alcuni amici abbiamo avviato questo progetto basato su java amatoriale indipendente dalla piattaforma per un gioco di simulazione di combattimento spaziale (qualcosa come la lunga saga morta del comandante di ali). Nessuno di noi è un programmatore 3D, quindi la strada sarà lunga.OpenGL per simulatori di spazio

La mia domanda è: al nostro posto inizieresti ad imparare OpenGL (forse tramite GLUT) o c'è una possibilità migliore oggi? Che dire di Direct3D? Qualche libro che potresti suggerire? Abbiamo ordinato un paio, in particolare

  • di Dave Shriner OpenGL Programming Guide
  • di Luca Benstead inizio OpenGL Game Programming

Grazie :-)

+1

Se non hai mai fatto prima la programmazione 3D, probabilmente vorrai impostare i tuoi mirini un po 'più in basso rispetto al simulatore spaziale. almeno all'inizio. Forse un cubo rotante? Se inizi con l'obiettivo di creare il prossimo comandante di ali, ti stai preparando per il fallimento. – Breton

+1

Hai ragione, all'inizio sarà qualcosa come "guerre cubiche" –

+1

Assicurati di ottenere la fonte aggiornata per "La programmazione del gioco OpenGL di Luke Benstead per principianti". Il codice sul cd non funziona 'out of the box'. È possibile ottenere il codice aggiornato qui: http://www.kazade.co.uk/downloads/boglgp/ –

risposta

5

Considerare l'utilizzo di un motore 3d open source come Ogre3D o Irrlicht. In questo modo puoi concentrarti sulla realizzazione di un gioco: contenuti, gameplay.

Entrambi i motori definiscono un livello di astrazione che può essere associato ai backend Direct3D o OpenGL.

EDIT: all'inizio non ho notato che hai citato Java, comunque entrambi i motori supportano i binding Java.

+1

Grande, non sapevo Irrlicht. Sembra ottimizzato per i giochi FPS, ma immagino sia un buon inizio. –

+0

C'è anche il motore di gioco Yake (http://www.yake.org/) costruito sopra Ogre. –

0

Se si vuole rimanere indipendente dalla piattaforma DirectX ha vinto fare come è limitato alle piattaforme Microsoft Windows

1

Bene, se non hai mai fatto prima la programmazione di grafica 3D, vai per semplicità e impara a partire. C'era una serie di tutorial davvero belli di NeHe (Neon Helium) per OpenGL, che era la strada che ho seguito.

2

È possibile scegliere un motore 3D open source come Ogre3D.

Ma se si vuole veramente scrivere il motore grafico da soli (molto interessante), iniziare imparando l'algebra lineare. Non le cose abbastanza avanzate, ma dovresti essere molto tranquillo nell'esprimerti nei vettori di traduzione, nelle matrici di rotazione e simili.

Se avete già familiarità con questi concetti, scegliete Direct3D o OpenGL - questo dipende più dalla piattaforma disponibile. Se ti piace codificare in un ambiente Mircosoft, scegli Direct3D, tutto il resto, scegli OpenGL.

La scelta di librerie aggiuntive dipende dal linguaggio di programmazione. Le alternative migliori di GLUT sono probabilmente SDL (C) o Qt (C++).

1

Ho trovato OpenGL più facile da iniziare con la curva di apprendimento non è così ripida. È possibile ottenere risultati rapidi che aiutano molto con la frustrazione/motivazione iniziale. Tonnellate di aiuto, ecc. Parole di avvertimento: la programmazione 3D è intrinsecamente complessa e spenderai più energia nella costruzione della tecnologia grafica rispetto al gioco stesso. Considerare l'adozione di Ogre3D se si vuole veramente vedere il gioco finito: o) (disclaimer: so che ci sono anche altri motori ma Ogre è stabile, comprovato e fornito con una buona documentazione)

3

Se si decide di apprendere la grafica di basso livello programmando invece di utilizzare un motore 3d di livello superiore come Ogre3D o Irrlicht, consiglio di iniziare con OpenGL ES 2.X, che è un sottoinsieme di OpenGL.

OpenGL ES 2.X è un sottoinsieme semplificato di OpenGL per sistemi embedded con hardware programmabile come i telefoni. Ad esempio, in OpenGL ci possono essere diversi modi per svolgere compiti, ma in Open GL ES 2.X, c'è solo un modo.Poiché in OpenGL ES 2.X c'è meno scelta, c'è molto meno da imparare a padroneggiare OpenGL ES 2.X. La Guida alla programmazione di OpenGL ES 2.0 è di 480 pagine e la Guida alla programmazione di OpenGL, la settima edizione, è di 936 pagine.

Inoltre, l'uso di OpenGL ES 2.X offre un pubblico di hardware più ampio per il gioco. Poiché è un sottoinsieme di OpenGL, il codice scritto per OpenGL ES 2.X funzionerà su un sistema OpenGL completo con modifiche minime o nulle. La grafica del tuo gioco può funzionare su una gamma di macchine target dai desktop agli smartphone.

+0

Grazie, in realtà penso che OpenGL ES sia esattamente il sottoinsieme OpenGL che stavo cercando. –

+0

consiglio molto molto buono! (e WebGL è anche basato su ES 2) –

Problemi correlati