Entonces quieres ser un programador de juegos. Bueno, para su información, una persona, en general, no puede hacer todo en un juego y, al comienzo, no puede aprender fácilmente a saber todo sobre el diseño y desarrollo de juegos. Estas habilidades vienen con mucha experiencia.
¿Qué implica el desarrollo del juego?
Por ejemplo, el desarrollo del juego se compone de 3 partes: planificación, diseño y programación (podrían haber llamado de manera diferente, pero eso es lo que yo llamo).
La planificación involucra diseñadores de juegos, productores, etc., que comienzan por tener una idea y luego la comparten con el equipo. También puede contar con artistas conceptuales y de guiones gráficos, aunque también pueden pertenecer a la segunda categoría.
Diseñar implica crear el activo artístico para el juego real. Esta no es una tarea fácil y ciertamente no es una tarea de un solo hombre. Los estudios AAA generalmente tienen diferentes equipos para modelar, texturizar, manipular, iluminar, animar, capturar movimiento, etc. En las startups (como la nuestra), hazlo con dos o más personas.
La programación implica escribir código para el juego y tampoco es una tarea de un solo hombre. Los estudios AAA tienen un equipo diferente para codificar la lógica del juego, la física, la interfaz de usuario, la administración de la memoria, la depuración, el back-end de la red, etc.
No digo que no sea posible crear un juego solo. Creé algunos juegos por mi cuenta. Otro ejemplo sería Temple Run, su primera versión fue creada por 2-3 personas solamente. Mi punto aquí es que no debes tratar de aprender todo al comienzo. Eventualmente lo aprenderá con tiempo y experiencia.
Colocación
Las compañías como Zynga están principalmente interesadas en los programadores de redes que pueden escribir lógicas para sus backends (de acuerdo con las ofertas de trabajo que obtuve en el pasado), es una parte esencial de un MMORPG, pero ciertamente no estaría interesado en eso. La demanda de un programador gráfico de bajo nivel, que tenga conocimiento de un motor de juego y una herramienta de modelado, también es buena.
Motores de juego
Ahora, si llegamos a codificar motores de juego, definitivamente puedes crear el tuyo, si estás realmente concentrado y puedes pasar más de 5 años trabajando en lo mismo. Para eso necesita saber bibliotecas de gráficos de bajo nivel como openGL, directX, etc., también debe saber todo sobre una física general del juego y déjeme decirle que trabajar en colisión llevará entre 6 y 12 meses. Trabajar en interfaces de usuario y fuentes es un dolor en sí mismo. ¿Me olvidé de los códecs de sonido y el código multiplataforma? ¿Suficientemente fácil?
Colegios y cursos sobre desarrollo de juegos
Conozco algunos institutos de desarrollo de juegos que te enseñan todos los aspectos sobre el desarrollo de juegos. Uno es DSK Supinfogame, donde uno de mis amigos ha estudiado. Pocos estudios de animación también imparten cursos para el desarrollo de juegos, como Virtual Voyage, Maac, etc.
Resumen
Elige un campo en el que quieras sobresalir y olvídate seriamente de hacer tu propio motor de juego. Los desarrolladores exigen demasiado en estos días de un motor de juego, y por lo tanto, usted solo no tendrá oportunidad contra gustos como Unreal, Cry-Engine y Unity.
Concéntrese primero en aprender algunos lenguajes de programación, como C ++ (el lenguaje más popular entre los desarrolladores de juegos), C # y python. Elija su plataforma entre móvil, web y escritorio, ya que son completamente diferentes entre sí. Por ejemplo, C ++ y C # son para juegos móviles y de escritorio, mientras que HTML5 y JS son para web. Puede crear juegos en cualquier idioma para cualquier plataforma en estos días, pero no intente hacerlo.
Intente aprender el desarrollo móvil primero, elija cualquier plataforma móvil, la compatibilidad con Windows es mejor que la de Microsoft, pero le sugiero que pruebe Android primero.
Una vez que haya aprendido sobre el desarrollo móvil, pruebe Unity3D como su primer motor. Y después de haber dominado Unity3D, puede pasar a niveles bajos como OpenGL y DirectX. Aprende ambos si puedes, aunque esa sería la parte más difícil en tu viaje de desarrollador de juegos.
Luego, puede intentar aprender sobre la herramienta 3DMax o Maya, que lo ayudará a comprender los conceptos básicos de la geometría 3D y el renderizado de mallas.
Intente aprender sobre UDK / Unreal Engine y Cry-Engine después de eso, aunque las posibilidades son escasas ya que Unreal y Cry-Engine están fuera del alcance de un desarrollador independiente, ya que solo sirven a empresas y estudios conocidos. Puede probar con UDK (versión gratuita e independiente del motor Unreal) de todos modos.
Puede elegir otra ruta según su interés, solo le he mostrado una de las rutas disponibles.
Feliz codificación !!!