¿Debo aprender el desarrollo del juego 2D antes que el 3D? [cerrado]

14

Soy un desarrollador de aplicaciones para iPhone. Quiero entrar en los juegos de iOS. La pregunta es: ¿debería comenzar aprendiendo 2D como Cocos 2D o Corona SDK antes de aprender juegos 3D como Unity? Estoy más interesado en los juegos en 3D, pero ¿crees que conocer los juegos en 2D es un requisito previo para aprender el desarrollo en 3D?

Monigote de nieve
fuente
Lo siento, creo que la pregunta dada probablemente no sea un engaño de la que vinculé. Aunque las respuestas cubren mucho del mismo terreno.
bummzack

Respuestas:

11

Depende de lo fuerte que seas con las matemáticas y los conceptos de programación de juegos en 3D .

Se puede obtener 2D usando solo conceptos de posiciones y velocidades x, y (y sumando y restando, básicamente vectores) y colisión de cajas 2D.

En 3D, debe preocuparse por muchas más matemáticas: matrices de proyección, matrices de visualización, frusta ..

Además, debe interactuar con un conjunto de funciones mucho más rico de la API de dibujo que está utilizando (solo por el hecho de que está haciendo 3D, por lo que debe aprender muchas más funciones que se ocupan de 3D )

Microsoft XNA tiene un excelente soporte para comenzar en 2D, y facilita el renderizado con SpriteBatch . Tan pronto como te aventures en 3D, automáticamente tienes que aprender VertexBuffer o Model , y luego viene ModelBones y todo lo demás que lo acompaña.

Es mejor que comiences en 2D solo porque los conceptos que necesitas comprender son menos (¿sprites en 2D? ¡Un juego de niños!). Después de tener algo de experiencia en su haber, entonces debería estar bien haciendo 3D.

bobobobo
fuente
9

La única diferencia fundamental entre el desarrollo de juegos en 2D y 3D es si usas o no el tercer eje. Si está utilizando un motor como Unity, puede hacer juegos 2D tan fácilmente como juegos 3D simplemente usando una proyección de cámara ortográfica y sprites en lugar de modelos.

Dicho esto, si no estás usando un motor que hace mucho trabajo pesado en 3D por ti, es mucho más difícil. Vea la respuesta a esta pregunta: ¿Qué considerar al decidir sobre 2D vs 3D para un juego?

Lo que debes hacer es decidir qué juego quieres hacer y el arte y el diseño te dirán si debe ser 2D o 3D.

Tétrada
fuente
44
Creo que estás simplificando demasiado. 2D es mucho más fácil porque al tirar ese tercer eje, hay mucho menos en qué pensar. La colisión se vuelve más simple, discutir los problemas en papel es más fácil y aprender a programar un juego en 2D es más fácil que aprender a programar un juego en 3D.
bobobobo
3
Es una simplificación, pero principalmente a lo que me refería es que 1) 2D o 3D no importa para un gran subconjunto de cosas que haces en un juego (flujo de interfaz de usuario, mecánica central, redes, etc.), y 2) El uso de cualquier middleware robusto (particularmente Unity) hará la gran mayoría de las matemáticas para usted, con la esperanza de que le permita concentrarse en la lógica del juego.
Tetrad
La última oración lo clava.
Tim Holt
5

Estoy de acuerdo con Tetrad en que debes pensar en el arte y el diseño y eso te guiará si necesita ser 2D o 3D. También diré que puede ser una buena idea crear un juego 2D primero para que no tenga que pensar en las cosas más difíciles que vienen con los juegos 3D. Además, una cosa a tener en cuenta es que el cerebro procesará menos información con los juegos 2D, que es lo que desea para una experiencia más informal.

Si miras la mayoría de los juegos independientes exitosos en los últimos 3 años, muchos de ellos fueron 2D.

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

Entonces, una empresa puede tener éxito haciendo solo juegos 2D. El éxito de los juegos proviene de la mecánica del juego, la historia, la estética y la tecnología. También conocido como la tétrada. Me estoy saliendo del tema, así que estoy divagando.

Joey Green
fuente
+1 para ese párrafo final porque enfatiza la importancia de la calidad del contenido (como la historia) como un rasgo de éxito: algunos creadores de juegos parecen perderse estos otros factores y se centran solo en los aspectos 3D, pero Son muchos los fanáticos que valoran la profundidad que una buena historia y un fondo bien pensado pueden aportar al campo de juego (independientemente de la cantidad de dimensiones).
Randolf Richardson
Si bien estoy de acuerdo con la mayoría de sus declaraciones, hubo algunos juegos 2D excelentes que nunca podrían considerarse casuales, mientras que su tirador 3D promedio está mucho menos involucrado en comparación.
Edwin Buck
3

Tenga en cuenta que será más fácil para usted obtener activos de arte 2D para practicar. Entonces, aunque no creo que aprender el desarrollo de juegos en 2D sea un requisito previo para aprender el desarrollo de juegos en 3D (de cualquier manera, el código del juego en la parte superior del código de gráficos es más o menos el mismo) Todavía recomendaría que la mayoría de los principiantes comiencen con juegos en 2D a menos que ya tiene un recurso sólido para gráficos en 3D (por ejemplo, aprenderá junto a un amigo que es un artista en 3D).

En cuanto al código, la dificultad depende de lo que intente aprender y qué motor utilizará (y en particular si escribirá su propio motor). El código de gráficos 3D de bajo nivel es mucho más complicado que el código de gráficos 2D de bajo nivel, pero si utilizará un motor como Unity, no escribirá código de gráficos de bajo nivel. El código para un juego en 3D construido en ese motor no es más complicado que el código para un juego en 2D. De hecho, puede ser considerablemente menos complicado, dependiendo nuevamente del motor específico del que esté hablando.

jhocking
fuente