¿Me estoy haciendo daño al no conocer C ++ para el diseño de juegos? [cerrado]

14

En este momento, siento que soy fuerte tanto en Java como en C #. (Realmente no hay un gran salto de uno a otro).

Si bien no espero que un diseñador / programador de juegos sea un objetivo alcanzable al principio de mi carrera, este es un objetivo que alcanzaré más adelante en mi carrera.

Con esto en mente, siento que ignorar C ++ y las herramientas de diseño de juegos asociadas eventualmente me lastimarán o retrasarán mi capacidad de alcanzar mi objetivo.

¿Es este el caso? ¿O puedo seguir perfeccionando mis habilidades de C # usando XNA y WPF para proyectos personales que pueden elevarme a esa carrera?

Bryan Harrington
fuente
1
Ve a ver las posiciones en las compañías de juegos y dime qué ves. Probablemente descubrirá que tiene una multitud de juegos web / facebook que buscan principalmente devs actionscript / php, la multitud de computadoras de escritorio que buscan c ++ / lua y la multitud de i-gadget que usan Objective-c. Depende de lo que quieras hacer realmente para saber si te estás haciendo daño o no. (Esto viene de alguien que se está enfocando en C # y Python e ignorando C ++)
Ken

Respuestas:

21

OMI, sí, es probable que te hagas daño. En primer lugar, con o sin razón no es una jerarquía percibida entre los lenguajes de programación - y C ++ generalmente tiene un pie más alto que Java o C # (por ejemplo, cuestiones como la suya son bastante comunes - la inversa es prácticamente desconocida). Si aplica en algún lugar que usa C # o Java, y conoce C ++, es poco probable que cuestionen su capacidad de programación. Si aplica en algún lugar que usa C ++ y conoce C # y Java, hay una posibilidad bastante justa, cuestionarán su capacidad de programación, al menos en cierto grado. Eso no quiere decir que la percepción no se pueda superar, pero todavía te estás poniendo en desventaja.

En segundo lugar, al menos entre los desarrolladores de juegos independientes que conozco (es cierto, no muchos), hay un disgusto básico de C # solo porque es de Microsoft. Sun fue visto mucho más positivamente, pero desde la compra de Oracle eso ya no parece ser el caso. La mayoría ve "Oracle" y "juegos geniales" tan cerca de los opuestos exactos como sea humanamente posible.

Finalmente, desde un punto de vista práctico, los juegos son uno de los lugares donde se usa más C ++. Si no conoce C ++ al menos en un grado razonable, simplemente restringe sus opciones considerablemente.

Jerry Coffin
fuente
5

No está del todo claro, pero ¿cuáles son tus objetivos? ¿Ser un diseñador de juegos? ¿Cuál crees que es esa posición?

En el caso básico, siempre que no esté escribiendo el código real, no saber que C ++ específicamente no le hará daño. Por supuesto, tener una comprensión fundamental de la programación en sí (diseño orientado a objetos y ser capaz de pensar en términos de condicionales, etc) que se va a ayudarle. Lo que C ++ hace en comparación con C # o Java probablemente no importará cuando se trata de ayudar a diseñar reglas de juego que sean fáciles de describir con código.

Tétrada
fuente
3

Realmente depende de cuáles son tus objetivos. Si desea pasar al diseño lo más rápido posible y trabajar para convertirse en director, la experiencia técnica que tiene en Java y C # será más que suficiente.

Si su intención es ascender a un puesto de programación senior / principal y pasar a un puesto de director desde allí, será mejor que aprenda algún tipo de lenguaje no administrado. No necesariamente C ++ - C, Objetivo C, o algo más marginal como D estaría bien. Pero incluso trabajando en niveles más altos de abstracción en C #, es difícil ser un gran programador sin comprender los punteros y la administración de memoria, sin poder leer el ensamblaje y los volcados de memoria, sin poder comprender o incluso implementar realmente optimizaciones de bajo nivel.

También debería agregar: si no estás en la industria ahora, planificar 20 años es una tontería. Quizás descubras que lo odias; tal vez descubras que no quieres ser director debido a toda la basura relacionada con el desarrollo, y prefieres seguir siendo un diseñador o programador senior, trabajando bajo un director pero con mucha libertad en un área específica dominio que disfrutas.


fuente
2

Probablemente estarás bien usando los idiomas que conoces; C # con XNA es popular en este momento ya que puede desarrollar para XBOX360, Zune y PC. La popularidad de Java está volviendo debido al éxito independiente de Minecraft con él.

Sin embargo, estaba en una posición similar a la tuya y decidí "empezar de nuevo", por así decirlo, con C ++, y hace 2 semanas compré "Comenzar C ++ a través de la programación de juegos". NO es un libro de programación de juegos, sino un libro para principiantes de C ++ que cubre todo lo que necesitará saber en C ++ al programar juegos con otra API o biblioteca, y sustituye proyectos aburridos por otros más relacionados con el juego. Fue una gran lectura.

Ahora me estoy mudando a DirectX y compré un libro titulado "Programación de un juego RTS en DirectX" de Carl Granberg. Tiene críticas fantásticas. Todavía no estoy seguro si tomé una mala decisión con DirectX sobre OpenGL, pero ya veremos.

protocolo de sombra
fuente
2

Aprender más idiomas solo será una ventaja para usted. Incluso si casi todos los motores profesionales usan, o deberían usar, secuencias de comandos y / o herramientas extensas para la facilidad de uso del diseñador, tiene razón en que ayuda mucho tener un proyecto en el que haya trabajado específicamente. Incluso si su entrevistador no presta atención a sus proyectos (que ya es poco probable), trabajar en un solo proyecto personal será una gran experiencia de aprendizaje.

Para los diseñadores y artistas, el portafolio es posiblemente aún más importante, ya que no puede tomar pruebas de programación o tener entrevistas tecnológicas directas. Entonces, no estoy diciendo que debas asustarte y aprender todo lo que hay que saber sobre C ++.

Por el contrario, debería poder mostrar algunos juegos que tienen un buen potencial de diseño (piense en conceptos pequeños y claros del juego como Limbo o Portal), ya sea que los haya desarrollado usted mismo o los haya creado con Flash. Use la codificación como herramienta, no como su arma principal. Asegúrese de que sean fácilmente accesibles en su sitio con videos de juegos, capturas de pantalla y descargas disponibles.

Por encima de todo, pulir todo lo que haces, no importa cuán pequeño o qué tipo de proyecto tengas. Si la programación se trata de robustez y facilidad de uso, el diseño se trata de diversión (la gente a menudo olvida esto) y muestra que realmente se pueden concretar los detalles.

Jessica Nam
fuente
0

C ++ es el creador y el creador de algunos de los lenguajes más utilizados, que incluye Java. Al aprender C ++ (ya sea para desarrolladores de juegos u otros), podrás aprender casi cualquier idioma con rapidez y facilidad. Esa es la magia de este lenguaje. C ++ le da más control del código en comparación con Java. Entonces, si realmente quieres ser un verdadero maestro de tu código, entonces estarías en una posición mucho mejor aprendiendo C ++

Kiran
fuente