Un programador de videojuegos es un ingeniero de software , programador o científico informático que desarrolla principalmente código fuente para videojuegos o software relacionado , como herramientas de desarrollo de juegos . La programación de videojuegos abarca muchas disciplinas especializadas, todas ellas englobadas bajo el término general de "programador de videojuegos". [ 1 ] [ 2 ] No se debe confundir a un programador de videojuegos con un diseñador de videojuegos , que trabaja en el diseño de juegos . [ 3 ]
Historia

En los inicios de los videojuegos (desde principios de los años 70 hasta mediados de los 80), un programador también desempeñaba las funciones de diseñador y artista . Esto se debía, en general, a que las capacidades de los primeros ordenadores eran tan limitadas que no era necesario contar con personal especializado para cada función. Los conceptos de los juegos solían ser sencillos y estaban pensados para jugarse solo durante unos minutos, pero, sobre todo, el contenido artístico y las variaciones en la jugabilidad estaban restringidos por la potencia limitada de los ordenadores.
Más tarde, a medida que el hardware especializado de las máquinas recreativas y los sistemas domésticos se volvieron más potentes, los desarrolladores de videojuegos pudieron crear historias más elaboradas e incluir características como gráficos de alta resolución y a todo color, física realista , inteligencia artificial avanzada y sonido digital . La tecnología ha avanzado tanto que los juegos actuales suelen presumir de gráficos 3D y vídeo de movimiento completo, utilizando recursos desarrollados por artistas gráficos profesionales . Hoy en día, el término despectivo « arte de programador » se utiliza para referirse a los colores brillantes y el diseño pixelado típicos de los primeros videojuegos.
El deseo de añadir más profundidad y recursos a los juegos hizo necesaria una división del trabajo . Inicialmente, la producción artística se relegó a artistas a tiempo completo . Posteriormente, la programación de juegos se convirtió en una disciplina independiente del diseño de juegos . Ahora, solo algunos juegos, como el juego de puzles Bejeweled , son lo suficientemente sencillos como para requerir un solo programador a tiempo completo. Sin embargo, a pesar de esta división, la mayoría de los desarrolladores de juegos (artistas, programadores e incluso productores ) tienen voz y voto en el diseño final de los juegos contemporáneos.
Disciplinas
Un videojuego contemporáneo puede incluir física avanzada, inteligencia artificial, gráficos 3D, sonido digitalizado, una banda sonora original, estrategia compleja y puede utilizar varios dispositivos de entrada (como ratones , teclados , mandos y joysticks ), además de permitir jugar contra otras personas a través de Internet o una red local (LAN ). Cada aspecto del juego puede consumir todo el tiempo de un programador y, en muchos casos, el de varios. Algunos programadores se especializan en un área específica de la programación de videojuegos , pero muchos conocen varios aspectos. El número de programadores necesarios para cada función depende en cierta medida de sus habilidades, pero sobre todo está determinado por el tipo de juego que se esté desarrollando.
Programador de motores de juegos
Los programadores de motores de juego crean el motor base del juego, incluyendo las disciplinas de física simulada y gráficos. [ 4 ] Cada vez más, los videojuegos utilizan motores de juego existentes , ya sean comerciales, de código abierto o gratuitos . A menudo se personalizan para un juego en particular, y estos programadores se encargan de dichas modificaciones.
Programador de motores de física
El programador de física de un juego se dedica a desarrollar la física que empleará el juego. [ 5 ] Por lo general, un juego solo simulará algunos aspectos de la física del mundo real. Por ejemplo, un juego espacial puede necesitar gravedad simulada , pero no tendría necesidad de simular la viscosidad del agua .
Dado que los ciclos de procesamiento son siempre limitados, los programadores de física pueden emplear "atajos" computacionalmente económicos, pero que visualmente y en funcionamiento sean "suficientemente buenos" para el juego en cuestión. En otros casos, se utilizan físicas poco realistas para facilitar la jugabilidad o para lograr un efecto dramático. A veces, se especifica un subconjunto de situaciones y el resultado físico de dichas situaciones se almacena en algún tipo de registro y nunca se calcula durante la ejecución.
Algunos programadores de física incluso pueden adentrarse en las difíciles tareas de la cinemática inversa y otros movimientos atribuidos a los personajes de los videojuegos, pero cada vez más estos movimientos se asignan mediante bibliotecas de captura de movimiento para no sobrecargar la CPU con cálculos complejos.
Programador de motores gráficos
Históricamente, este título solía pertenecer a un programador que desarrollaba algoritmos de blitter especializados y optimizaciones ingeniosas para gráficos 2D . Sin embargo, hoy en día se aplica casi exclusivamente a programadores que se especializan en el desarrollo y la modificación de renderizadores gráficos 3D complejos . No obstante, algunas habilidades en gráficos 2D han vuelto a ser útiles recientemente para el desarrollo de juegos para la nueva generación de teléfonos móviles y consolas portátiles .
Un programador de gráficos 3D debe tener un sólido conocimiento de conceptos matemáticos avanzados como matemáticas vectoriales y matriciales , cuaterniones y álgebra lineal .
Los programadores cualificados especializados en este campo del desarrollo de videojuegos pueden exigir salarios elevados y suelen ser muy solicitados. Sus habilidades pueden utilizarse en videojuegos para cualquier plataforma .
Programador de inteligencia artificial
Un programador de IA desarrolla la lógica del tiempo para simular la inteligencia de enemigos y oponentes. [ 6 ] Recientemente se ha convertido en una disciplina especializada, ya que estas tareas solían ser implementadas por programadores especializados en otras áreas. Un programador de IA puede programar sistemas de búsqueda de rutas , estrategia y tácticas enemigas. Este es uno de los aspectos más desafiantes de la programación de videojuegos y su sofisticación se desarrolla rápidamente. Los videojuegos contemporáneos dedican aproximadamente entre el 10 y el 20 por ciento de su personal de programación a la IA. [ 7 ]
Algunos juegos, como los de estrategia tipo Civilization III o los de rol tipo The Elder Scrolls IV: Oblivion , utilizan la IA de forma intensiva, mientras que otros, como los de puzles , la utilizan poco o nada. Muchos desarrolladores de juegos han creado lenguajes completos que permiten programar la IA mediante scripts . Estos lenguajes suelen ser menos técnicos que el lenguaje de programación del juego y, a menudo, los diseñadores de juegos o niveles los utilizan para crear el mundo del juego. Muchos estudios también ponen a disposición de los jugadores los scripts de sus juegos, que suelen ser muy utilizados por desarrolladores de mods externos .
La tecnología de IA utilizada en la programación de videojuegos no debe confundirse con la programación e investigación académica en IA . Si bien ambas áreas se nutren mutuamente, generalmente se consideran disciplinas distintas, aunque existen excepciones. Por ejemplo, el juego Black & White de Lionhead Studios de 2001 presenta un enfoque de IA único para una criatura controlada por el usuario que utiliza el aprendizaje para modelar comportamientos durante el juego. [ 8 ] En los últimos años, se ha dedicado un mayor esfuerzo a campos prometedores de investigación en IA y programación de IA para videojuegos. [ 9 ] [ 10 ] [ 11 ] [ 12 ]
Programador de sonido
Aunque no siempre fue una disciplina independiente, la programación de sonido ha sido un pilar fundamental de la programación de videojuegos desde los tiempos de Pong . La mayoría de los juegos utilizan audio, y muchos cuentan con una banda sonora completa. Los videojuegos de audio prescinden por completo de los gráficos y utilizan el sonido como su principal mecanismo de retroalimentación. [ 13 ]
Muchos juegos utilizan técnicas avanzadas como el sonido posicional 3D , lo que convierte la programación de audio en una tarea compleja. En estos juegos, uno o dos programadores pueden dedicar todo su tiempo a construir y perfeccionar el motor de sonido, y es posible que los programadores de sonido tengan formación o experiencia formal en procesamiento digital de señales .
Las herramientas de scripting suelen ser creadas o mantenidas por programadores de sonido para su uso por diseñadores de sonido . Estas herramientas permiten a los diseñadores asociar sonidos con personajes, acciones, objetos y eventos, así como asignar música o sonidos ambientales a los entornos del juego (niveles o áreas) y configurar variables ambientales como la reverberación.
Programador de jugabilidad
Si bien todos los programadores contribuyen al contenido y la experiencia de un juego, un programador de jugabilidad se centra más en la estrategia, la implementación de la mecánica y la lógica del juego, y la sensación que transmite. Generalmente, no se trata de una disciplina independiente, ya que las funciones de este programador suelen variar de un juego a otro, y suele participar en áreas más especializadas del desarrollo, como los gráficos o el sonido.
Este programador puede implementar tablas de estrategia, modificar el código de entrada o ajustar otros factores que alteran el juego. Sin embargo, muchos de estos aspectos pueden ser modificados por programadores especializados en estas áreas (por ejemplo, las tablas de estrategia pueden ser implementadas por programadores de IA).
Scripter
En los primeros videojuegos, los programadores de jugabilidad escribían código para crear todo el contenido del juego: si el jugador debía disparar a un enemigo en particular y debía aparecer una tecla roja junto con algún texto en la pantalla, entonces toda esta funcionalidad se escribía como parte del programa principal en C o lenguaje ensamblador por un programador de jugabilidad.
Actualmente, es más común separar el motor gráfico principal de la programación de la jugabilidad. Esto ofrece varias ventajas para el desarrollo. El motor gráfico se encarga de la renderización de gráficos, el sonido, la física, etc., mientras que un lenguaje de scripting gestiona aspectos como las secuencias cinemáticas, el comportamiento de los enemigos y los objetivos del juego. Los proyectos de videojuegos de gran envergadura pueden contar con un equipo de programadores para implementar este tipo de contenido.
Los programadores de scripts suelen ser también diseñadores de videojuegos. A menudo es más fácil encontrar un diseñador de videojuegos cualificado al que se le pueda enseñar un lenguaje de scripting que encontrar uno que domine C++ .
programador de interfaz de usuario
Este programador se especializa en la programación de interfaces de usuario (UI) para juegos. [ 14 ] Si bien algunos juegos tienen interfaces de usuario personalizadas, este programador suele desarrollar una biblioteca que se puede usar en múltiples proyectos. La mayoría de las UI son en 2D, aunque las UI contemporáneas suelen usar la misma tecnología 3D que el resto del juego, por lo que tener conocimientos de matemáticas y sistemas 3D es útil para este puesto. Los sistemas de UI avanzados pueden permitir la programación y efectos especiales, como transparencia, animación o efectos de partículas para los controles.
Programador de entrada

La programación de entrada, aunque no suele ser un puesto de trabajo ni una posición a tiempo completo en un proyecto de juego concreto, sigue siendo una tarea importante. Este programador escribe el código que especifica cómo los dispositivos de entrada, como el teclado , el ratón o el joystick, afectan al juego. Estas rutinas se desarrollan normalmente al principio de la producción y se ajustan continuamente durante el desarrollo. Por lo general, un programador no necesita dedicar todo su tiempo al desarrollo de estos sistemas. Un juego en tiempo real con control de movimiento que utilice dispositivos como el mando de Wii o Kinect puede requerir un sistema de entrada muy complejo y de baja latencia, mientras que los requisitos HID de un juego de estrategia por turnos controlado por ratón, como Heroes of Might and Magic, son mucho más sencillos de implementar.
Programador de redes
Este programador escribe código que permite a los jugadores competir o cooperar, conectados a través de una LAN o Internet (o, en casos más raros, directamente a través de un módem ). [ 15 ] Los programadores que implementan estas características del juego pueden dedicar todo su tiempo a este rol, que a menudo se considera uno de los más desafiantes técnicamente. La latencia de la red , la compresión de paquetes y las conexiones caídas o interrumpidas son solo algunas de las preocupaciones que se deben tener en cuenta. Aunque las funciones multijugador pueden consumir todo el tiempo de producción y requieren que los demás sistemas del motor se diseñen teniendo en cuenta la red, los sistemas de red a menudo se posponen hasta los últimos meses de desarrollo, lo que añade dificultades adicionales a este rol. Algunos títulos han visto sus funciones en línea (a menudo consideradas de menor prioridad que la jugabilidad principal) eliminadas meses antes de su lanzamiento debido a preocupaciones como la falta de gestión, la previsión del diseño o la escalabilidad. Virtua Fighter 5 para PS3 es un ejemplo notable de esta tendencia. [ 16 ]
Programador de herramientas de juego
El programador de herramientas [ 17 ] puede contribuir al desarrollo de un juego escribiendo herramientas personalizadas. Estas herramientas suelen incluir funciones como la compilación de scripts, la importación o conversión de recursos gráficos y la edición de niveles. Si bien algunas herramientas pueden ser productos comerciales estándar (COTS) , como un IDE o un editor gráfico, los programadores crean herramientas con funciones específicas adaptadas a cada juego, que no están disponibles en productos comerciales. Por ejemplo, un desarrollador de juegos de aventuras podría necesitar un editor para diálogos con ramificaciones en la historia , y un desarrollador de juegos deportivos podría usar un editor propietario para gestionar las estadísticas de los jugadores y los equipos. Estas herramientas generalmente no están disponibles para los consumidores que compran el juego.
Programador de portabilidad
Adaptar un juego de una plataforma a otra siempre ha sido una actividad importante para los desarrolladores. Algunos programadores se especializan en esta tarea, convirtiendo el código de un sistema operativo para que funcione en otro. En ocasiones, el programador es responsable de que la aplicación funcione no solo en un sistema operativo, sino en una variedad de dispositivos, como teléfonos móviles . Sin embargo, a menudo, la adaptación implica reescribir el juego completo desde cero, ya que los lenguajes , herramientas o hardware propietarios hacen que la conversión del código fuente sea una tarea infructuosa.
Este programador debe estar familiarizado con los sistemas operativos y lenguajes originales y de destino (por ejemplo, convertir un juego escrito originalmente en C++ a Java ), convertir recursos como gráficos y sonidos, o reescribir código para teléfonos con poca memoria. También puede tener que sortear implementaciones de lenguaje con errores, algunas con escasa documentación, refactorizar código , supervisar múltiples ramas de código, reescribir código para adaptarlo a una amplia variedad de tamaños de pantalla e implementar directrices especiales para operadores. Asimismo, puede tener que corregir errores que no se detectaron en la versión original del juego.
Programador de tecnología
El programador de tecnología suele encontrarse en estudios de desarrollo grandes con departamentos dedicados exclusivamente a I+D . A diferencia de otros miembros del equipo de programación, el programador de tecnología no suele estar vinculado a un proyecto o tipo de desarrollo específico durante un período prolongado, y normalmente reporta directamente a un CTO o jefe de departamento, en lugar de a un productor de juegos. Como su nombre indica, este puesto es extremadamente exigente desde el punto de vista técnico y requiere un conocimiento profundo del hardware de la plataforma objetivo. Las tareas abarcan una amplia gama de temas, incluyendo la implementación práctica de algoritmos descritos en artículos de investigación, la optimización de ensamblador de muy bajo nivel y la capacidad de resolver problemas complejos relacionados con los requisitos de memoria y los problemas de caché durante las últimas etapas de un proyecto. Existe una considerable superposición entre este puesto y algunos otros, en particular el de programador gráfico.
Generalista
En equipos pequeños, a menudo se describe a uno o más programadores como "generalistas", quienes asumen diversas funciones según sea necesario. Los generalistas suelen encargarse de localizar errores y determinar qué conocimientos especializados de subsistemas se requieren para solucionarlos.
Programador principal del juego
El programador principal es, en última instancia, responsable de toda la programación del juego. Su trabajo consiste en asegurar que los distintos submódulos se implementen correctamente y en supervisar el desarrollo desde el punto de vista de la programación. Quien ocupe este puesto suele pasar de otras áreas de la programación de videojuegos a este rol tras varios años de experiencia. A pesar del título, esta persona suele disponer de menos tiempo para escribir código que otros programadores del proyecto, ya que debe asistir a reuniones e interactuar con el cliente u otros responsables del juego. Sin embargo, se espera que el programador principal programe al menos parte del tiempo y que tenga conocimientos en la mayoría de las áreas técnicas del juego. A menudo existe una considerable superposición entre los roles de director técnico y programador principal, de modo que ambas funciones suelen ser desempeñadas por una misma persona.
Plataformas
Los programadores de videojuegos pueden especializarse en una plataforma u otra, como Wii U o Windows . Así, además de especializarse en una disciplina de programación de videojuegos, un programador también puede especializarse en el desarrollo para una plataforma específica. Por lo tanto, el puesto de un programador de videojuegos podría ser "Programador de gráficos 3D para PlayStation 3". Algunas disciplinas, como la IA, son transferibles a diversas plataformas y no necesitan adaptarse a un sistema en particular. Asimismo, los principios generales del desarrollo de videojuegos, como los conceptos de programación de gráficos 3D, la ingeniería de sonido y el diseño de la interfaz de usuario, son transferibles entre plataformas.
Educación
Cabe destacar que existen muchos programadores de videojuegos sin formación académica formal en la materia, que comenzaron como aficionados, programando por su cuenta y por diversión, y que finalmente alcanzaron el éxito gracias a su aptitud y experiencia autodidacta. Sin embargo, la mayoría de las ofertas de empleo para programadores de videojuegos especifican una licenciatura (en matemáticas, física, informática o experiencia equivalente).
Cada vez más, las universidades ofrecen cursos y titulaciones en programación de videojuegos. Dichas titulaciones guardan una considerable superposición con las de informática e ingeniería de software .
Salario
Los salarios de los programadores de videojuegos varían según la empresa y el país. Sin embargo, en general, la remuneración por programar videojuegos suele ser similar a la de trabajos comparables en el sector empresarial. Esto ocurre a pesar de que la programación de videojuegos es una de las más difíciles y suele requerir más horas de trabajo que la programación convencional.
Los resultados de una encuesta realizada en Estados Unidos en 2010 indican que el salario promedio de un programador de videojuegos es de 95.300 USD anuales. Los programadores con menos experiencia, con menos de 3 años de experiencia, perciben un salario anual promedio superior a los 72.000 USD. Los programadores con más experiencia, con más de 6 años de experiencia, perciben un salario anual promedio superior a los 124.000 USD. [ 18 ]
En general, los programadores principales son los mejor remunerados, aunque algunos programadores de gráficos 3D pueden igualar o superar sus salarios. Según la misma encuesta mencionada anteriormente, los programadores principales ganan en promedio 127.900 dólares anuales. [ 19 ]
Seguridad laboral
Fuente: [ 20 ]
Aunque las ventas de videojuegos rivalizan con las de otras formas de entretenimiento, como el cine , la industria de los videojuegos es extremadamente volátil. Los programadores de videojuegos no están exentos de esta inestabilidad, ya que sus empleadores atraviesan dificultades financieras.
Los desarrolladores externos, el tipo más común de desarrolladores de videojuegos , dependen de un flujo constante de fondos por parte de la editora del videojuego . Si no se cumple un hito o una fecha límite (o por una serie de otras razones, como la cancelación del juego), los fondos pueden escasear y el desarrollador puede verse obligado a despedir empleados o declararse en bancarrota y cerrar el negocio. Los programadores de juegos que trabajan para grandes editoras están algo protegidos de estas circunstancias, pero incluso las grandes editoras de juegos pueden quebrar (como cuando Hasbro Interactive fue vendida a Infogrames y se cancelaron varios proyectos; o cuando The 3DO Company quebró en 2003 y cesó todas sus operaciones). Los currículos de algunos programadores de juegos consisten en períodos cortos que no duran más de un año, ya que se ven obligados a saltar de un estudio condenado a otro. [ 21 ] Por eso algunos prefieren trabajar como consultores y, por lo tanto, están algo protegidos de los efectos del destino de los estudios individuales.
Idiomas y herramientas
La mayoría de los videojuegos comerciales se escriben principalmente en C++ , C y algún lenguaje ensamblador . Muchos juegos, especialmente aquellos con mecánicas de juego interactivas complejas, exigen al máximo el hardware. Por ello, se requiere código altamente optimizado para que estos juegos se ejecuten a una velocidad de fotogramas aceptable. Debido a esto, el código compilado se suele utilizar para componentes críticos para el rendimiento, como la renderización visual y los cálculos físicos. Casi todos los juegos de PC también utilizan las API de DirectX u OpenGL , o alguna biblioteca de interfaz, para interactuar con los dispositivos de hardware.
Diversos lenguajes de scripting , como Ruby , Lua y Python , también se utilizan para la generación de contenido como la jugabilidad y, especialmente, la IA. Los scripts generalmente se analizan durante la carga (cuando el juego o nivel se carga en la memoria principal) y luego se ejecutan en tiempo de ejecución (mediante bifurcaciones lógicas u otros mecanismos similares). Por lo general, no se ejecutan mediante un intérprete , lo que resultaría en una ejecución mucho más lenta. Los scripts tienden a usarse de forma selectiva, a menudo para la IA y la lógica de juego de alto nivel. Algunos juegos se diseñan con una alta dependencia de los scripts y algunos scripts se compilan a formato binario antes de la ejecución del juego. En la fase de optimización del desarrollo, algunas funciones de los scripts a menudo se reescriben en un lenguaje compilado.
Java se utiliza en muchos juegos para navegador web porque es multiplataforma , no suele requerir instalación por parte del usuario y presenta menos riesgos de seguridad que un programa ejecutable descargado. Java también es un lenguaje popular para juegos de teléfonos móviles . Adobe Flash , que utiliza el lenguaje ActionScript , y JavaScript son herramientas de desarrollo populares para juegos de navegador.
A medida que los juegos han aumentado en tamaño y complejidad, el middleware se ha vuelto cada vez más popular en la industria. El middleware proporciona una funcionalidad más avanzada y un conjunto de características más amplio que las API estándar de bajo nivel, como DirectX y OpenGL , por ejemplo , la animación esquelética . Además de ofrecer tecnologías más complejas, algunos middlewares también intentan ser independientes de la plataforma , lo que facilita las conversiones, por ejemplo, de Microsoft Windows a PS4 . En esencia, el middleware busca eliminar la mayor cantidad posible de redundancia en el ciclo de desarrollo (por ejemplo, escribir nuevos sistemas de animación para cada juego que produce un estudio), lo que permite a los programadores centrarse en nuevo contenido.
Otras herramientas también son esenciales para los desarrolladores de videojuegos: los programas de modelado 2D y 3D (como Blender , GIMP , Photoshop , Maya o 3D Studio Max ) permiten a los programadores visualizar y modificar los recursos generados por artistas u otro personal de producción. Los sistemas de control de versiones mantienen el código fuente seguro y optimizan la fusión de archivos. Los entornos de desarrollo integrados (IDE) con depuradores (como Visual Studio ) facilitan la escritura de código y la detección de errores.
Véase también
- Lista de personas de la industria de los videojuegos#Programación
- Code Monkeys , una serie animada sobre programadores de videojuegos.
- Crunch (videojuegos)
- Programador
- Diseño de juegos
- Herramienta de desarrollo de juegos
- Programación de juegos#Herramientas
Notas
- ↑ Bates 2004 , págs. 165-171
- ↑ Moore, Novak 2010 , págs. 78-84
- ↑ Moore, Novak 2010 , págs. 74-75
- ↑ Moore, Novak 2010 , pág. 79
- ↑ Moore, Novak 2010 , pág. 80
- ↑ Moore, Novak 2010 , págs. 80-81
- ↑ "Número de programadores de IA dedicados en un equipo de desarrollo de videojuegos" . AIGameDev . 26 de febrero de 2008. Archivado del original el 7 de junio de 2008.
- ↑ Evans 2002 , Capítulo 11.2: Variedades del aprendizaje, págs. 567-578
- ↑ "Simposio IEEE sobre Inteligencia Computacional y Juegos" . Consultado el 26 de marzo de 2010 .
- ↑ "Red de Investigación sobre Inteligencia Artificial y Juegos" . Archivado del original el 26 de septiembre de 2009. Consultado el 26 de marzo de 2010 .
- ↑ "Grupo GAMES de la Universidad de Alberta" . Consultado el 26 de marzo de 2010 .
- ↑ Epstein, Susan L. "Juegos y rompecabezas" . AITopics . Archivado del original el 1 de mayo de 2010. Consultado el 26 de marzo de 2010 .
- ↑ Moore, Novak 2010 , pág. 83
- ↑ Moore, Novak 2010 , pág. 81
- ↑ Moore, Novak 2010 , pág. 82
- ↑ TVG: AM2: Virtua Fighter 5 para PS3 podría actualizarse para noticias en línea. Archivado el 18 de enero de 2008 en Wayback Machine .
- ↑ Moore, Novak 2010 , pág. 78
- ↑ Principales estudios de videojuegos, escuelas y salarios. Archivado el 19 de julio de 2013 en Wayback Machine , Big Fish Games, julio de 2013.
- ↑ Fleming, Jeffrey (abril de 2010). "9.ª Encuesta Anual de Salarios". Game Developer . 17 (4). United Business Media: 8.
- ↑ Hvvvnn. : ¿Cuál g – vía Jgfvbgv.
{{cite journal}}: Se requiere citar la revista|journal=( ayuda ) ; Falta o está vacío|title=( ayuda ) - ↑ "La crisis de las disciplinas STEM es un mito" . 30 de agosto de 2013.
Referencias
- Bates, Bob (2004). Diseño de juegos (2.ª ed.). Thomson Course Technology. ISBN 1-59200-493-8.
- Moore, Michael E.; Novak, Jeannie (2010). Guía profesional en la industria de los videojuegos . Delmar: Cengage Learning. ISBN 978-1-4283-7647-2.
- Evans, Richard (2002). Rabin, Steve (ed.). Sabiduría en la programación de juegos con IA . Charles River Media. ISBN 1-58450-077-8.
Enlaces externos
- Consejos de Tom Sloper, veterano de la industria de los videojuegos, sobre programación de videojuegos.
- El programador de Eurocom (archivado el 7 de noviembre de 2007)
- Programadores de videojuegos
- Empleos en la industria de los videojuegos