Cosa considerare quando si decide un gioco 2D vs 3D? [chiuso]


68

Quanto "3D" è più difficile del 2D in termini di:

  • Quantità / complessità del codice
  • Livello di abilità matematiche richieste
  • Tempo impiegato per creare beni artistici

Titolo originale: Quanto è difficile lo sviluppo del gioco 3D rispetto al 2D?


27
Una dimensione più difficile :)
Ólafur Waage,

5
Waay soggettivo ...
Ciclope,

Hmm ... detto questo, in realtà mi piace molto la risposta di @ munificent. Ora non sono sicuro di come classificare questa domanda. :) Non è del tutto giusto per meta , neanche ... Dang questi casi limite . :)
Ciclope,

2
La complessità del codice, il livello matematico e il tempo mi sembrano misure relativamente oggettive di difficoltà per me.
Brian Ortiz,

@Brian, sì, vorrei poter annullare i voti stretti . :) Rivalutandolo, penso che parte del problema sia il titolo : "Quanto è difficile X rispetto a Y", sembra soggettivo. Un titolo migliore potrebbe essere "Quali sono le differenze nello sviluppo 3D rispetto al 2D?" (forse cambiarlo?). Qual è in realtà la domanda a cui @munificent ha risposto , anche se con una lettera che ha affrontato il titolo. :)
Ciclope,

Risposte:


127

Il 3D è un ordine di grandezza più difficile del 2D:

Programmazione:

  • La matematica è significativamente più complessa per rendering, fisica, collisione, ecc. Spero ti piacciano le matrici e i vettori!
  • A causa del punto precedente, una buona prestazione è molto più difficile da ottenere . Con l'hardware di oggi, puoi creare un gioco 2D di bell'aspetto senza dover pensare alle prestazioni oltre a non essere attivamente stupido. Con il 3D dovrai fare delle ottimizzazioni.
  • Le strutture dati sono molto più complesse. A causa del punto precedente, dovrai pensare all'abbattimento, al partizionamento dello spazio, ecc. Che sono tutti più difficili di un semplice "ecco un elenco di tutto nel livello".
  • L'animazione è molto più complicata. L'animazione in 2D è solo una striscia di fotogrammi con possibili posizioni diverse per ciascun fotogramma. Con il 3D, dovrai occuparti di risorse di animazione separate, ossa, skinning, ecc.
  • Il volume di dati è molto più alto. Dovrai fare una gestione intelligente delle risorse. I giochi sono accompagnati da concerti di contenuto, ma le console sicuramente non hanno concerti di memoria.
  • Le condutture sono più complesse da sviluppare e mantenere. Avrai bisogno di codice per ottenere risorse nel formato preferito del tuo motore. Quel codice non si scrive da solo.

Arte:

  • Le risorse sono, ovviamente, molto più complesse. Avrai bisogno di trame, modelli, rig / scheletri, animazione, ecc. Gli strumenti sono molto più complessi e costosi e le abilità per usarli più difficili da trovare.
  • L'insieme delle competenze necessarie è più ampio. I buoni animatori non sono spesso buoni artisti della trama. I buoni accendini potrebbero non essere buoni rigger.
  • Le dipendenze tra le attività sono più complesse. Con il 2D, puoi dividere in modo pulito le tue risorse tra diversi artisti: questo ragazzo è di livello uno, questo ragazzo fa nemici, ecc. Con il 3D, l'animazione influenza il rig che influenza lo scheletro che influenza il modello che influenza le trame che influenzano l'illuminazione ... Il tuo team artistico dovrà coordinarsi attentamente e costantemente.
  • I limiti tecnici sono più complessi da affrontare. Con 2D è fondamentalmente "ecco la tua tavolozza e la tua dimensione di sprite massima". Con il 3D, i tuoi artisti dovranno bilanciare le dimensioni della trama (per più trame: speculare, colore, normale, ecc.), Conteggio dei poligoni, conteggio dei fotogrammi chiave, conteggio delle ossa, ecc. I particolari del motore porranno su di essi strani requisiti casuali ( "Il motore X esplode se hai più di 23 ossa!").
  • L'elaborazione delle risorse richiede più tempo. Le pipeline per convertire le risorse 3D nel formato pronto per il gioco sono complesse, lente e spesso buggy. Ciò richiede molto più tempo per gli artisti per vedere i loro cambiamenti nel gioco, il che li rallenta.

Design:

  • L'input dell'utente è puttana. Devi occuparti del tracciamento della telecamera, della conversione intuitiva dell'input dell'utente nello spazio del personaggio, della proiezione di selezioni 2D nello spazio del mondo, ecc.
  • I livelli sono difficili da creare. I tuoi designer di livello hanno sostanzialmente bisogno delle abilità di un game designer e di un architetto. Devono tenere conto della perdita di giocatori, visibilità, ecc. Durante la costruzione dei livelli.
  • La fisica di livello è noiosa per l'autore. Dovrai controllare e ricontrollare e ricontrollare di nuovo per assicurarti che non ci siano lacune e bug nella fisica di livello in cui i giocatori possono rimanere bloccati o cadere nel mondo.
  • Gli strumenti sono molto più difficili. La maggior parte dei giochi ha bisogno dei propri strumenti per creare cose come i livelli. Poiché il contenuto è molto più complesso, gli strumenti richiedono più lavoro per la creazione. Ciò si traduce in solito in strumenti più robusti, incompleti e più difficili da usare.

2
Risposta eccellente. Stavo pensando che sarebbe stato più soggettivo, ma l'hai esposto molto chiaramente. Anche se potrebbe non esserci un numero reale (3,5 volte più difficile), hai reso più difficile un buon caso per ordine di grandezza .
Ciclope,

5
+1 inchiodato. Questa domanda non è quasi soggettiva. Stiamo parlando di due mondi completamente diversi. C'è un inerente aumento della difficoltà. Non iniziare a pensare a livello geniale ...
David McGraw il

Risposta superba!
zebrabox,

1
Vedo che la mia risposta è battuta da diverse magnitudini (per usare le parole degli autori). È così straordinario che ho appoggiato molte cose me stesso che non avevo mai pensato prima. Bel lavoro!
Toby,

Bella risposta. Un altro pensiero che avevo - a favore del 3D - è che, quando stavo iniziando, era molto, molto più facile trovare risorse relative allo sviluppo 3D rispetto al 2D. Ma ben oltre 5 anni fa, e da allora il paesaggio è cambiato un po '.
Andrew Russell,

11

Molto più difficile. Se non ti senti a tuo agio nel creare un gioco 2D, VERAMENTE non ti piacerà quello che serve per realizzare un gioco 3D.

La buona notizia: il 99% delle volte, non ne hai davvero bisogno. Pensa a qualsiasi gioco 3D che puoi. Prendi la fotocamera, fissala sul soffitto guardando in basso in modo che ora stai guardando un piano 2D. Doom diventa Gauntlet. Civ IV diventa Civ I. Metal Gear Solid diventa l'originale Metal Gear. Nessuno di questi giochi è "cattivo" solo perché è in 2D; sono perfettamente giocabili e generalmente hanno lo stesso gameplay.


5

In gran parte, il 3D introdurrà più difficoltà delle semplificazioni. Ma ho solo voglia di aggiungere alcune cose che potrebbero effettivamente essere più facili in un gioco 3D:

  • Personalizzazioni del giocatore. Immagina se Team Fortress 2 fosse un platform 2D con 20 animazioni per ogni classe. Ora, immagina che il tuo direttore marketing abbia suggerito di aggiungere cappelli al gioco. Ciò significherebbe 20 nuovi fogli di calcolo per ogni classe; e si espanderebbe solo se si decide di aggiungere altri elementi vari. Una società per cui ho lavorato ha incontrato questa frustrazione.
  • Movimenti del personaggio. Il rigging e l'animazione non sono sicuramente un compito semplice, ma se i tuoi personaggi sono complessi, alla fine sarà un lavoro più semplice rispetto al 2D, dove ridisegneresti completamente il personaggio per ogni posa. Praticamente il primo segno di eccellenza in qualsiasi gioco 2D è quante volte i creatori erano disposti a ridisegnare i propri personaggi per un'ulteriore animazione.
  • Alla ricerca di un motore. Posso creare un semplice platform in meno di un'ora in 3D senza alcuna codifica, ma potrebbe richiedere un po 'più di tempo in 2D. Troverai sicuramente molti buoni motori 2D là fuori dopo un po 'di ricerca, ma sinceramente non mi viene subito in mente nulla; pochi hanno raggiunto la loro enorme popolarità come hanno fatto Ogre3D o altri motori 3D. Per il 3D, sono disponibili UDK, Unity e molti altri framework. Parte di ciò potrebbe essere che la ridotta complessità del 2D significa che non è così difficile per i dilettanti semplicemente scrivere il proprio, basandosi su XNA. (Inoltre, alcuni dei motori 3D citati possono essere resi vitali per creare un gioco 2D)

3

Questa è una domanda altamente soggettiva, poiché la risposta dipende dalla preferenza / esperienza / conoscenza / intelligenza personali.

Proverò a rispondere in modo neutrale, ma dal momento che sono solo un programmatore e non un artista, posso solo ipotizzare per l'ultimo punto.

La complessità del codice non dovrebbe essere molto diversa, tranne in matematica e forse rendering / fisica. La logica di gioco non è molto diversa se si prende un buon livello di astrazione (non troppo - stai cercando di rendere un gioco non un motore, almeno immagino dalla tua domanda.) Ovviamente è molto più facile calcolare il movimento in 2D perché hai una prospettiva limitata. La fisica è MOLTO più difficile quando si tratta di tre assi. Inoltre, caricare uno Sprite da una bitmap è molto più semplice rispetto al caricamento di un modello 3D (e possibilmente alla trama).

La matematica è più complicata per il 3D (un gioco da ragazzi davvero - quaternioni, vettori, matrici. ', Ha detto Nuff)

Per l'arte, penso che debba essere più difficile anche per il 3D, dal momento che devi creare un'arte che abbia un bell'aspetto da ogni possibile angolo di visione (o almeno una vasta gamma), e di solito vuoi anche strutturare le cose. L'animazione di una mesh non è un picnic per essere realistici, e neanche la trama da suonare.


Il caricamento di uno sprite è più semplice del caricamento di un modello? I modelli coinvolgono scheletri, skinning, shader, coordinate UV, trame, mappe normali, ecc. Uno sprite è un'immagine. Seguendo questo vano, l'arte 3D è molto più difficile, a causa delle cose sopra elencate.
Sean James,

Mi dispiace, è stato un errore. anche abbastanza grande, grazie per averlo sottolineato. Deve essere stato così insipido che non si è registrato quando ho revisionato.
Toby,

3

L'altra cosa da considerare ... con un gioco 3D probabilmente vorresti prendere in considerazione l'utilizzo di un motore preesistente e concentrarti sul rendere un gioco non un motore. Può andare in qualche modo a ridurre il tempo e le difficoltà prese in un gioco 3D (come identificato in modo eccellente da munificent).

È molto più semplice costruire un gioco 2D da zero. Ma ovviamente puoi (e dovresti considerare) usare anche librerie di sprite, suoni, portabilità. Inutile reinventare la ruota se non per scopi educativi.

Sembra ovvio, ma ho pensato che valesse la pena dirlo.


2

Consentitemi di offrire una considerazione interessante per i dispositivi mobili in cui le prestazioni 2D possono effettivamente rimanere indietro rispetto ai modelli low poly 3d:

1) Il tasso di riempimento può causare un bel po 'di problemi di prestazioni quando si affrontano molti sprite sullo schermo in un determinato momento.

2) I requisiti di memoria delle texture per un gioco 2D completamente potenziato sono in realtà molto più elevati se si utilizza l'animazione basata su frame. Ogni singolo fotogramma di personaggi fa esplodere il budget totale delle tue texture in modo lineare. Ciò significa che se si utilizza un'animazione a fogli mobili semplice, in realtà si ha un budget di animazione più ristretto rispetto a quello con l'animazione 3D basata su scheletro.

Toolkit come Spine aiutano a livellare un po 'questo campo di gioco creando deformazioni 2D di una trama.


Quindi, considerato questo, e la facilità di accesso di Unity e UDK che entrambi estraggono gran parte della complessità dello sviluppo del gioco che esisteva anni fa per il 3D, la risposta non è così semplice.


Suggerirei di non pubblicare vecchi post come questo con nuovi dettagli. L'attuale risposta principale è ancora applicabile e questa domanda non ha bisogno di essere spostata sulla prima pagina.
Pip,

2
Sono stato collegato da un collega proprio oggi, e poiché la mia aggiunta a questa risposta è stata in realtà accurata per anni, penso che vada bene. Non c'è niente di sbagliato nell'aggiungere a una vecchia domanda nuove informazioni pertinenti! La maggior parte delle persone usa google come interfaccia per lo stack overflow, quindi anche gli oggetti molto vecchi possono apparire nelle ricerche pertinenti fino ad oggi.
M2tM,

1

Dipende dallo sviluppatore del gioco. La parte che richiede tempo è creare risorse di gioco. Se ritieni che sia più facile creare queste risorse con Illustrator e Photoshop, allora il 2D è più facile per te, ma se conosci la modellazione 3D probabilmente sei d'accordo con me sul fatto che il 3D è molto più semplice del 2D.

Per quanto riguarda l'animazione, sicuramente il 3D è più facile e veloce e più facile da gestire.

Ad esempio, mentre in 3D puoi creare tutte le animazioni di un personaggio in poche ore in una scena, in 2d devi disegnare il personaggio da zero per qualsiasi attività che supponga di fare e salvare molti file, ci vogliono giorni in 2D rispetto alle ore in 3D.

Inoltre, se cambi qualcosa, devi rifare tutto in 2D, ma non devi cambiare tutto per esempio se decidi che il tuo personaggio non dovrebbe avere un cappello. Non devi ripetere tutte le animazioni che elimini semplicemente il cappello in 3D.

Se hai personaggi umanoidi, ci sono migliaia di animazioni gratuite mo-cap. Il più delle volte non è necessario creare animazioni per il gioco.

Per quanto riguarda la complessità e la programmazione non c'è differenza.

Ma dovresti conoscere bene il 3D, altrimenti potresti finire nel motore di gioco la tua animazione è diversa dalla tua app 3D o la testa del tuo personaggio sta ruotando nella direzione opposta e non sai come risolvere il problema, e alcuni altri problemi.

Inoltre, dovresti avere familiarità con la modellazione a basso numero di poligoni per il gioco e come fare trame per il gioco, è diverso dalla modellazione e dalla trama per l'animazione.

A differenza della credenza popolare, il 3D richiede meno hardware per i dispositivi mobili.

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.