Qual é a principal diferença entre o desenvolvimento de jogos 2D e 3D?
Conceptualmente, eles são muito parecidos. Toda a matemática 3D pode ser facilmente reduzida a 2D simplesmente ignorando o eixo z. Se você tem um mecanismo 3D, você pode facilmente fazer um jogo 2D com ele.
Dito isto, existem muitos paradigmas diferentes que funcionam em 2D que não se traduzem bem em 3D. Isto leva a muitas diferenças na forma como as coisas são feitas na prática.
A diferença mais óbvia são os sprites. Os sprites têm a sua utilização em jogos 3D, mas raramente são os personagens criados com sprites em 3D. Em 3D nós normalmente usamos modelos 3D com animações em conjunto. Jogos 2D às vezes usam animações em conjunto para seus sprites, mas muitas vezes usam animações de flip-book.
Um outro paradigma muito diferente é que jogos 3D terão uma verdadeira cena 3D e uma câmera que se move através da cena. O jogador é apresentado com uma visão do mundo como visto pela câmera. Os jogos 2D muitas vezes simplesmente trabalham tudo diretamente em coordenadas pixel. A rolagem do fundo pode ser fingida movendo o fundo ao invés de fazer qualquer tipo de matemática com uma câmera em movimento. Se houver uma câmera, é provável que seja apenas uma única coordenada que é subtraída da localização de cada sprite à medida que é desenhada.
2D jogos muitas vezes criam uma profundidade falsa usando paralaxe artificial e compensando os sprites em um ângulo. Em jogos 3D, a profundidade é genuína e cai naturalmente da matemática.
P>Last, vou mencionar como os controles se comportam de forma diferente em um jogo 2D versus um verdadeiro jogo 3D. Quando o utilizador empurra o joystick para a direita, o nosso personagem 2D move-se para a direita. Em 2D, isso é trivial - à direita apenas significa o eixo X positivo. Em 3D, o "direito" significa tipicamente "o direito do utilizador", e isso depende da forma como a câmara está virada. Se a câmera está virada para o Norte, "direita" significa o Leste. Mas se a câmera estiver voltada para Leste, "direita" significa Sul.
Artigos semelhantes
- Qual é a diferença entre o desenvolvimento de aplicativos Android e o desenvolvimento de jogos Android?
- Existe alguma diferença entre o desenvolvimento de aplicativos e o desenvolvimento do Android?
- Como um método principal é chamado em outra classe de método principal em Java?
- Qual é a principal diferença entre os sistemas operativos Chrome e Windows?