Soy un programador de juegos 2D. Algunos lenguajes de programación en los que soy bueno son C, Java, C #. También conozco Actionscript 2.0,3.0 y algunos javascript. Estoy interesado en aprender programación de juegos en 3D. Hasta ahora de la investigación que he acumulado buscando en Google y leyendo diferentes foros y artículos sobre desarrollo de juegos. Me di cuenta de que la mayoría de los programadores tienden a preferir C ++. También en un curso de enseñanza de programación de juegos en línea , noté que prefieren enseñar C ++ y Visual C ++ como el curso inicial. La razón por la que hago esta pregunta, ya que me gustaría saber la diferencia de "fuerza" de C ++, C # y Java para la programación de juegos en 3D.
También incluya enlaces a buenos artículos de programación de juegos en 3D para el programador de juegos ya en 2D.
PD: En mi humilde opinión, también encuentro que C ++ es críptico.
fuente
Respuestas:
Sí, C ++ es el lenguaje que se usa con más frecuencia (aunque algunas personas todavía usan C).
Hay numerosas razones para esto. El impulso absoluto es uno: es simplemente el lenguaje que se ha utilizado durante años, ya existe mucha tecnología y la gente se siente cómoda con él, por lo que el cambio no va a suceder de la noche a la mañana.
Luego está el tema del control. Los desarrolladores de juegos son fanáticos del control, y nos gusta saber todo lo que sucede en nuestro código. C ++ nos da ese control, C # y Java (para elegir las dos alternativas que mencionas) quitan el control. En muchos sentidos, eso podría ser algo bueno, pero a los programadores de juegos no les gusta :)
Finalmente, está el simple problema práctico de que los SDK para varias plataformas están muy centrados en C ++. El uso de otro idioma inevitablemente implica escribir contenedores, compilar de forma cruzada a máquinas virtuales, y posiblemente (en el caso de algún desarrollo de consola) no está permitido por el titular de la plataforma (para empezar, realmente no les gusta que las personas compilen JIT).
fuente
Todavía se prefiere C ++, como se puede ver en casi cualquier publicación sobre el tema del desarrollo de juegos. Personalmente, actualmente estoy usando C para sumergirme en el desarrollo del juego por la sencilla razón de que el código C ++ que escribo abusa de las características de plantilla, usa ampliamente RAII, asignación de memoria dinámica y otras cosas que simplemente no debes hacer en el código del juego por lo que he visto hasta aquí.
Seguir con C me obliga a ser minimalista y pensar en lo que estoy haciendo. A veces puede ser más difícil cuando tienes que volver a implementar algo que el STL te da de forma gratuita, pero por el lado positivo, creo que escribo un código más limpio y tengo un mejor tiempo para depurarlo.
fuente
Personalmente no soy fanático de C ++, y prefiero Java. Sin embargo, la mayoría de las personas en la industria lo usan y es el lenguaje más fácil de convertir a otras plataformas sin envoltorios y máquinas virtuales.
Sin embargo, a veces otros idiomas funcionan bastante bien para el desarrollo de juegos. Yo uso Java con LWJGL y es increíble. Entonces, si desea comenzar con la programación 3D y OpenGL sin tener que aprender C ++, pruebe LWJGL con Java, porque es muy liviano y creo que en realidad es un código C ++ que se ejecuta a través de JNI.
Quizás a la larga desee cambiar a C ++, pero puede comenzar y practicar con C # o Java. Debido a que la mayoría de los códigos de juegos provienen de la experiencia con el idioma, debes probar y practicar OpenGL con un idioma con el que te sientas cómodo. Además, mientras practica gráficos, también debe probar GLSL con OpenGL, tiene una sintaxis muy similar a la de C
fuente