En las descripciones de puestos, a menudo veo puestos llamados «Programador de juegos». ¿Qué hacen las personas en esa posición?
Comentarios
- gamedev.stackexchange.com/questions / 5538 / …
Respuesta
Cuando las empresas hablan de contratar a un programador de juegos , de lo que están hablando es de un programador que será responsable del código que toca directamente en la experiencia del juego. Es decir, el programador será responsable de construir los juegos, en lugar del motor o sistemas de juego más grandes. Pero más allá de eso, las cosas varían mucho:
Algunas empresas esperan que programadores de juegos implementen la interfaz de usuario . Algunas no lo hacen. Algunas empresas esperan que implementen código AI, otras no. Algunos esperan que implementen código de audio, otros no. Para ser honesto, el «juego» en programador de juegos es un abreviatura de la industria para «todo lo que no hemos» contratado a un especialista para hacer «. Por lo tanto, estos programadores deben ser muy versátiles y deben poder aprender nuevas disciplinas rápidamente.
Pasé casi quince años como programador de juegos en la industria comercial, en cinco compañías diferentes.
Mi experiencia fue que en algunas empresas, un programador de juegos se considera un puesto de nivel junior o de entrada; Los programadores que solo trabajan en un juego individual, después de todo, no necesitan ser tan sofisticados como los que trabajan en sistemas que necesitan admitir muchos juegos diferentes simultáneamente, de la forma en que los programadores de motores necesitan hacerlo. empresa, si a un programador de juegos le va muy bien, algún día podría ser ascendido al equipo de motores, si puede demostrar su valía. O podría convertirse en un especialista, si demuestra aptitud para un área en particular.
En otras empresas, un programador de juegos se considera un puesto de nivel medio; los programadores que trabajan en un juego individual deben tener algo de experiencia útil y ser confiable. A los programadores sin experiencia se les pueden asignar trabajos no deseados en los que trabajar (canalizaciones de datos, herramientas, etc.) y, finalmente, se les permite ascender a un trabajo de «programador de juegos». En este tipo de sistema, un programador de juegos que sigue haciéndolo bastante bien podría ascender a un proyecto rol de personal, o en el equipo del motor.
En otras empresas, un programador de juegos es se considera un puesto de alto nivel y también un puesto de mitad de diseño; Se espera que estos programadores sean programadores excelentes y probados, pero también que tengan una gran sensibilidad y calificaciones de diseño, ya que están tocando directamente el código que afecta más fuertemente la experiencia del jugador con el juego. En este tipo de sistema, un programador de juegos realmente bueno probablemente seguirá siendo un programador de juegos para siempre; se considera que esta es la posición más valiosa que puede ocupar.
Como regla general, mejor los juegos de la empresa, cuanto más alto sea el puesto que consideren programador de juegos (y, por lo tanto, más difícil será ser realmente conseguir un trabajo así).
Respuesta
Siempre encuentro que ayuda ilustrar con el ejemplo.
-
A un programador de juegos se le asignarían tareas como: implementar el sistema de combate cuerpo a cuerpo, implementar la mecánica de regeneración de salud o implementar los controles de salto del jugador.
-
A un programador de motores (lo que llamarías a alguien que no era específicamente un programador de juegos) se le asignarían tareas como: implementar iluminación diferida, un sistema de animación o una capa de red.
La distinción clave cción es la de quién es el «cliente». Para los programadores de juegos, es el equipo de diseño: su tarea es hacer que el diseño sea una realidad. Para los programadores de motores, generalmente son otros programadores . Los programadores de motores crean tecnología y sistemas, que los programadores de juegos y los creadores de contenido pueden usar para realizar el diseño.
Los programadores de motores escriben código que es en gran medida independiente del juego; la misma tecnología a menudo se puede usar en varios juegos. Los programadores de juegos tienden a escribir código que es muy específico para el juego que se está creando. Y siempre hay superposiciones: a veces, para implementar el juego necesitas un nuevo código de motor.
La codificación del juego no es más difícil ni más fácil que la codificación del motor.Sin embargo, definitivamente es un conjunto de habilidades ligeramente diferente; a menudo necesita ser más creativo y poder crear soluciones. Su objetivo no es crear el sistema reutilizable perfecto (el ideal para los programadores de motores), sino crear la mejor implementación del juego. Entonces, lo que puede ser un activo en la programación del motor (atención al detalle y estructuras bien diseñadas) puede ser un obstáculo en la programación del juego (donde la adaptabilidad y el tiempo de iteración son más importantes). Un buen programador de juegos sabe cuándo hacerlo bien (cuando el diseño es sólido y el código se usará en muchos lugares) y cuándo hacerlo rápidamente (cuando el diseño aún se está elaborando y su código tiene una buena probabilidad de de ser descartado una vez probado).
Sobre todo, los programadores de juegos necesitan poder colaborar con el equipo de diseño en un nivel en el que los programadores de motores no lo hacen. Aparte de las obvias habilidades de comunicación, eso significa que debes estar familiarizado con otros diseños de juegos mucho más que los programadores de motores, de modo que cuando un diseñador dice «haz que funcione como Zelda», sabes de lo que están hablando.
Para aprender a ser un programador de motores, debería profundizar en una tecnología y aprender cómo funciona, y tal vez implementar su propia versión; el juego sería solo un escenario en el que mostrar la tecnología.
Para aprender a ser un programador de juegos, deberías tomar el motor de otra persona y usarlo de tantas formas diferentes como puedas . En otras palabras, si quieres ser un programador de juegos, crea juegos, no tecnología .
Responder
Exactamente lo que parece, un programador que implementa y mantiene la mecánica del juego.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer