Domanda

A causa della mancanza di capitale e di tempo, dobbiamo fare il nostro gioco in 2D anche se io (lo sviluppatore) preferirei che fosse fatto in 3D. Odierei che gli utenti si unissero al gioco, solo per pensare che la grafica non andasse bene. Anche se suppongo che dobbiamo solo provare a fare del nostro meglio.

Detto questo, vorrei sviluppare il gioco in modo tale che, qualora fosse il momento, possiamo portarlo in 3D il più facilmente possibile. Conosco giochi che hanno dovuto riscrivere l'intera cosa da zero. Odierei farlo, quindi vorrei usare alcuni suggerimenti / linee guida durante la programmazione del gioco in modo che, quando passiamo al 3D, sarà semplice come cambiare il codice di 1-5 classi di rendering grafico (o vicino) e la grafica 3D verrebbe eseguita.

P.S È un gioco di ruolo multiplayer ( Non un MMORPG, per ora molto più piccolo)

È stato utile?

Soluzione

  

A causa della mancanza di capitale e di tempo siamo   dover fare il nostro gioco anche in 2D   sebbene io (lo sviluppatore) preferirei   se è stato fatto in 3D. Odierei per   gli utenti di unirsi al gioco, solo per pensare   la grafica sembra male e se ne va.   Anche se suppongo che dobbiamo solo provare   e facciamo del nostro meglio.

Non credo che tutto debba essere 3D per avere un bell'aspetto. Il 2D ben fatto può apparire molte volte migliore di una grafica 3D standard. Per avere una grafica 3D eccezionale devi impegnarti seriamente. Se il tuo budget non lo consente, preferirei fare un grande sforzo nello sviluppo del gameplay.

Basti pensare a Diablo II (un po 'datato) che non è 3D ma ha ancora una grafica piacevole e di bell'aspetto.

È certamente possibile costruire un'architettura che potrebbe rendere più semplice cambiare la rappresentazione grafica, ma penso che non sarà quasi mai così semplice come hai descritto. Ovviamente, se si desidera solo il 3D per il bene del 3D, è possibile farlo (anziché le bitmap ora si rendono i modelli 3D), ma questo è in qualche modo inutile. Se si desidera utilizzare il 3D, il giocatore dovrebbe essere in grado di utilizzarlo (ad esempio spostando la videocamera, avendo più gradi di libertà, ...) ma questo dovrebbe essere considerato nell'intero progetto del gioco e quindi seriamente influenza il gameplay.

Altri suggerimenti

Il modo più semplice per raggiungere questo obiettivo è scrivere il gioco in 3D e renderizzare le viste usando una proiezione da 3d a 2d, ad es. in pianta o in elevazione. Se la meccanica interna dei giochi è in 2D e provi a passare a un vero frame 3d, probabilmente faresti meglio con una riscrittura. Dipende anche in parte da cosa intendi per 3D e se hai un'efficace opzione di mappatura. Ad esempio, Microsofts Age of Empires è reso in 3D, ma funzionerebbe perfettamente come un piano 2D. D'altro canto, uno sparatutto in prima persona come Half Life o Quake non lo farebbe.

È possibile utilizzare la vista ortogonale GL. Questo ti permetterà di disegnare sullo schermo usando solo coordinate 2D, se vuoi 3D in seguito, passa dalla vista Orto a Prospettiva e hai il 3D, tuttavia non penso che ti aiuterà a riutilizzare il codice, poiché la vista orto 2D di solito è fatto con trame e non puoi trasformare una trama in una mesh 3D.

Forse un approccio migliore è quello di fare tutto in 3D e impostare la fotocamera per guardare dall'alto, se lo fai in seguito puoi passare al 3D semplicemente spostando la fotocamera e realizzando modelli e trame migliori. Questa opzione suona meglio, ma ti dà più lavoro con la portabilità trade-off da 2D a 3D senza modifiche al codice.

Un MVC dovrebbe aiutare.

E credo che tu sia già a conoscenza, ma hai già guardato Java3D ? Forse avere una vista di rendering 3D sostituibile basata su questo (ma che non è necessariamente lucido e pronto per la produzione) ti manterrà onesto in modo da non finire legato al 2D in un modo orribile. Potrebbe essere semplice come rendere le tue cose 2D con un po 'di posizionamento Z aggiunto.

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