Monopoly game 3D interfaccia grafica [chiusa]

6

Ho creato un gioco Monopoly con una grafica 2D in Java per il mio esame finale al college.

Sento che il gioco non sembra molto buono e voglio aggiungere una grafica 3D. Il mio problema è che non ho mai fatto programmazione 3D e non so come creare oggetti 3D.

Qualcuno può dirmi dove posso creare oggetti 3D e quale libreria usare per la programmazione 3D che mi consentirà di creare rapidamente un'interfaccia grafica 3D? Ho solo altre due settimane per farlo. Questo può essere fatto?

    
posta Nistor Alexandru 15.05.2012 - 09:23
fonte

6 risposte

16

Imparare sia a creare grafica 3D sia a programmare il rendering 3D in sole due settimane sarà difficile.

La programmazione di grafica 3D coinvolge molti concetti non banali da comprendere, tra cui matrici e quaternioni. Se in cima a questo vuoi imparare un software 3D come Maya o Blender, questo è quasi impossibile.

Come antipasto, dovresti dare un'occhiata ad alcuni tutorial OpenGL .

Ora, se posso esprimere la mia opinione, ti suggerirei di passare le tue 2 settimane migliorando l'esperienza utente nel tuo gioco in 2d. Un gioco monopolio non ha bisogno di grafica 3D per essere bello. Invece potresti provare ad aggiungere animazioni o effetti 2D, o suoni, o modalità di gioco.

Modifica

Altre risposte suggeriscono di utilizzare motori di livello superiore. Anche se questo può essere fatto, non penso che rientri nell'ambito di un esame (presumo che l'autore sia invitato a sviluppare il gioco da solo).

E vorrei anche raccomandare di comprendere le basi della grafica 3D prima di usare un motore di livello superiore (ma questa è la mia opinione).

    
risposta data 15.05.2012 - 09:32
fonte
5

Sono d'accordo con gli altri poster qui - probabilmente non sarai in grado di implementare sia il codice / motore per il tuo gioco sia i contenuti 3D necessari in 2 settimane.

Tuttavia, se la parte operativa della tua domanda è "Sento che il gioco non sembra molto buono e voglio aggiungere una grafica 3D". quindi potresti non aver bisogno di implementare un motore 3D nel tuo gioco.

Negli anni '80 e '90, prima che le schede video fossero considerate l'hardware standard nei computer, la maggior parte dei "veri" giochi 3D che rendevano 3D al volo (nel software) mostravano il 3D come wireframe, e successivamente flat, low-count poligoni - questo non perché le persone non sapevano come creare una grafica 3D "più bella" - le macchine al momento non erano abbastanza potenti.

La maggior parte dei giochi erano in realtà 2D, ma utilizzavano vari approcci per "simulare" un aspetto 3D.

L'utilizzo della grafica isometrica è un approccio.

Un altro approccio era creare modelli 3D, ma invece di creare un motore 3D per il gioco e caricare / animare il modello al volo - pre-renderli grafici (probabilmente usando un raytracing programma) in una serie di immagini che possono essere animate. (cioè pre-rendering del modello a vari angoli, o in varie fasi di un'animazione a piedi e stringete semplicemente le immagini insieme.) Questo può essere combinato con l'approccio isometrico sopra menzionato.

Potresti essere in grado di utilizzare queste idee per creare una versione 3D "similare" / "falsa" del tuo gioco nelle 2 settimane che hai citato, ma penso che sarà un programma molto serrato, ma probabilmente più di- in grado di imparare una vera programmazione 3D e capire come utilizzare uno strumento di modellazione 3D e generare modelli 3D per il tuo gioco.

    
risposta data 15.05.2012 - 16:44
fonte
1

Suggerirei di lavorare ad un livello più alto. Dai un'occhiata a Unity 3D (unity3d.com). È un ordine di grandezza più semplice da utilizzare rispetto alla codifica di qualcosa direttamente in OpenGL e si integra con molti strumenti. Anche quando superi le difficoltà di ottenere il tuo primo cubo rotante sullo schermo, la prossima domanda sarà come mostrare un modello. E poi, come lo animate. Questi sono davvero complicati e vorrai usare un framework che lo renda più semplice (ad es. Unity 3D).

Infine, vorrai anche dare un'occhiata a Blender (www.blender.org). È gratuito, e praticamente lo strumento ideale quando si desidera fare la modellazione 3D senza spendere centinaia o migliaia di dollari. Accade anche di integrarsi alla perfezione con lo strumento di cui sopra.

    
risposta data 15.05.2012 - 09:50
fonte
0

Suggerisco anche di lavorare a un livello più alto, ma Unity non è lo strumento giusto per Java. Non so molto delle librerie 3D in Java, ma questo link potrebbe essere un inizio (forse altri ne conoscono meglio / più facilmente ). Anche quello che ha detto XGouchet è vero. Imparare queste librerie è ancora difficile e creare una buona arte 3D per il programmatore medio ancora di più.

    
risposta data 15.05.2012 - 11:24
fonte
0

La grafica 3D è difficile, e 2 settimane sono un po 'di tempo. Sei stato avvertito. Ma può essere fatto se sei molto dedicato e desideroso di imparare!

Per prima cosa ti servirà un motore o una libreria 3D. Per Java, il miglior motore 3D IMHO è jMonkeyEngine . Ti permetterebbe di costruire una scena posizionando e spostando gli oggetti nello spazio 3D. Ci sono un sacco di demo / codice di esempio sul sito da esplorare. Un'altra opzione è LWJGL che ti dà un accesso più diretto alle chiamate OpenGL - ma questo è più basso livello, quindi probabilmente più complicato per un primo timer.

Dovrai anche creare risorse 3D (grafici, modelli, ecc.). In realtà ritengo che questo potrebbe essere più difficile rispetto all'impostazione del motore 3D stesso, dal momento che può richiedere molto lavoro per produrre un grande volume di risorse 3D decenti. Ci sono alcuni incredibili strumenti open source disponibili come Blender - ma questo può richiedere più tempo per imparare come la programmazione 3D stessa! Tra l'altro, potresti comunque essere in grado di riutilizzare alcuni elementi grafici 2D come trame sugli oggetti 3D.

Infine, dovrai fare un po 'di codice per creare la tua interfaccia 3D. Ci saranno alcune cose da fare qui:

  • Rendering nello spazio 3D piuttosto che in 2D - tutti gli oggetti avranno bisogno (x, y, z) di posizioni anziché solo (x, y)! Ma dovrai anche considerare le rotazioni, le angolazioni della telecamera ecc.
  • Modifica le interazioni utente / l'interfaccia di input. In 2D, la gestione dei clic del mouse è relativamente semplice. In 3D, hai un problema un po 'più complesso per capire che cosa l'utente ha fatto clic!
  • Aggiungi bei "tocchi 3D". per esempio. puoi animare i lanci di dadi in 3D

Nel complesso sembra un grande progetto - ma imparerai una quantità enorme, quindi non lasciarti scoraggiare!

Se sei preoccupato di quanto puoi ottenere, ti suggerisco di provare a replicare la tua versione 2D il più vicino possibile nel motore 3D all'inizio (vista dall'alto, oggetti quadrati piatti). Una volta che questo funziona, puoi pensare a cose più complesse (rotazione della vista, illuminazione, modelli 3D complessi ecc.)

    
risposta data 18.05.2012 - 02:46
fonte
0

Oltre a queste fantastiche risposte qui, potresti anche migliorare la grafica del gioco tramite una forma semplificata di grafica 3D, che potrebbe non richiedere tanto lavoro quanto utilizzare un motore di gioco 3D usando la prospettiva completa. Sto parlando di grafica isometrica - che sono noti anche come 2.5D e proiezioni oblique . Puoi immaginarlo come una semplice proiezione della tua scheda 2D nello spazio 3D. Non sei sicuro di quanto potresti fare in 2 settimane.

Ecco un esempio di scacchiera e pezzi in isometrica:

    
risposta data 18.05.2012 - 07:11
fonte

Leggi altre domande sui tag