Devo aprender o desenvolvimento de jogos em 2D antes do 3d? [fechadas]

14

Sou desenvolvedor de aplicativos para iPhone. Quero entrar no jogo para iOS. A questão é: devo começar aprendendo 2D como Cocos 2D ou Corona SDK antes de aprender jogos 3D como Unity? Estou mais interessado em jogos em 3D, mas você acha que conhecer jogos em 2D é um pré-requisito para aprender o desenvolvimento em 3D?

Boneco de neve
fonte
Desculpe, acho que a pergunta dada provavelmente não é uma brincadeira com a que eu vinculei. Embora as respostas cubram muito do mesmo terreno.
bummzack

Respostas:

11

Depende de quão forte você é com matemática e conceitos de programação de jogos em 3D .

Em 2D, você pode usar apenas os conceitos de posições e velocidades x, y (adicionando e subtraindo-os - basicamente vetores) e colisão de caixa 2D.

Em 3D, você precisa se preocupar com muito mais matemática: matrizes de projeção, matrizes de visualização, frusta ..

Além disso, você precisa interagir com um conjunto muito mais rico de funções da API de desenho que está usando (apenas em virtude do fato de estar fazendo 3D, então você precisa aprender muito mais funções que lidam com o 3D )

O Microsoft XNA possui excelente suporte para iniciar em 2D e facilita a renderização usando o SpriteBatch . Assim que você se aventura no 3D, precisa aprender automaticamente o VertexBuffer , ou Model , e depois vem o ModelBones e tudo o mais que o acompanha.

É melhor iniciar o 2D apenas porque os conceitos que você precisa entender são menores (sprites em 2D? Uma caminhada!). Depois de ter alguma experiência, você deve ficar bem em 3D.

bobobobo
fonte
9

A única diferença fundamental entre o desenvolvimento de jogos 2D e 3D é se você usa ou não o terceiro eixo. Se você estiver usando um mecanismo como o Unity, poderá criar jogos em 2D com a mesma facilidade que os jogos em 3D, simplesmente usando uma projeção de câmera ortográfica e sprites em vez de modelos.

Dito isto, se você não estiver usando um mecanismo que faça muito trabalho pesado em 3D para você, será muito mais difícil. Veja a resposta a esta pergunta: O que considerar ao decidir em 2D vs 3D para um jogo?

O que você deve fazer é decidir qual jogo você quer criar e a arte e o design dirão se ele precisa ser 2D ou 3D.

Tetrad
fonte
4
Eu acho que você é simplista demais. 2D é muito mais fácil porque ao jogar fora esse terceiro eixo, há muito menos em que pensar. A colisão se torna mais simples, é mais fácil discutir problemas no papel e aprender a programar um jogo em 2D é mais fácil do que aprender a programar um jogo em 3D.
bobobobo
3
É uma simplificação, mas principalmente o que eu estava tentando entender é que 1) 2D ou 3D não importa para um grande subconjunto de coisas que você faz em um jogo (fluxo da interface do usuário, mecânica central, rede etc.) e 2) O uso de qualquer middleware robusto (particularmente o Unity) fará a grande maioria das contas para você, permitindo que você se concentre na própria lógica do jogo.
Tetrad
A última frase é perfeita.
Tim Holt
5

Eu concordo com o Tetrad que você deve pensar na arte e no design e isso o levará se precisar ser 2D ou 3D. Também direi que pode ser uma boa ideia criar um jogo 2D primeiro, para que você não precise pensar nas coisas mais difíceis que acompanham os jogos 3D. Além disso, uma coisa a se perceber é que o cérebro processará menos informações com jogos 2D, o que você deseja para uma experiência mais casual.

Se você observar a maioria dos jogos independentes bem-sucedidos nos últimos 3 anos, muitos deles foram em 2D.

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

Assim, uma empresa pode ter sucesso criando apenas jogos 2D. O sucesso dos jogos vem da mecânica, história, estética e tecnologia dos jogos. Também conhecido como tetrad. Estou saindo do assunto, então discordo.

Joey Green
fonte
+1 neste parágrafo final, porque enfatiza a importância da qualidade do conteúdo (como a história) como uma característica de sucesso - alguns criadores de jogos parecem perder esses outros fatores e se concentrar apenas nos aspectos 3D, mas existem Muitos fãs valorizam a profundidade que uma boa história e um histórico bem pensado podem trazer para o campo de jogo (independentemente do número de dimensões).
Randolf Richardson
Embora eu concorde com a maioria de suas declarações, houve alguns excelentes jogos 2D que nunca poderiam ser considerados casuais, enquanto o seu atirador 3D médio é muito menos envolvido em comparação.
Edwin Buck
3

Lembre-se de que será mais fácil adquirir recursos de arte 2D para praticar. Portanto, embora eu não ache que aprender o desenvolvimento de jogos em 2D seja um pré-requisito para aprender o desenvolvimento de jogos em 3D (de qualquer forma, o código do jogo no topo do código gráfico é praticamente o mesmo) eu ainda recomendaria que a maioria dos iniciantes comece com jogos em 2D, a menos que você já tenha um recurso sólido para gráficos 3D (por exemplo, você aprenderá ao lado de um amigo que é um artista em 3D).

Em termos de código, a dificuldade depende do que você está tentando aprender e de qual mecanismo usará (e, em particular, se estiver escrevendo seu próprio mecanismo). O código de gráficos 3D de baixo nível é muito mais complicado que o código de gráficos 2D de baixo nível, mas se você estiver usando um mecanismo como o Unity, não estará escrevendo código de gráficos de baixo nível. O código para um jogo em 3D incorporado nesse mecanismo não é mais complicado que o código para um jogo em 2D. Na verdade, pode ser consideravelmente menos complicado, dependendo novamente do mecanismo específico que você está falando.

jhocking
fonte