Programador

Continuamos descubriendo los diversos roles dentro de la Industria del Desarrollo de Videojuegos. En las anteriores entregas conocimos los distintos aspectos relativos al diseño y al arte. Ahora nos toca ver aquel que se dedica a implementar la lógica del videojuego: el programador.

Áreas de la Programación

El rol de programador quizás sea uno de los más conocidos de la industria. Cuando la gente piensa en un desarrollador de videojuegos, lo primero que le viene a la cabeza es el programador. Esto ha causado que muchos malentiendan el concepto, y afirmen que desarrollador es igual a programador (cuando sabemos que no, que todos los roles pertenecen a la categoría de desarrollador).

Reconocerlo, esto es lo que os viene a la mente al pensar en un programador >.<

Algo parecido ocurre con el concepto de programador de videojuegos. La gran mayoría, al pensar en el programador, piensan en lo que es conocido como programador de gameplay. No obstante, existen muchas, muchísimas áreas distintas dentro de la programación de videojuegos, cada una con su propia especialización. Veamos las principales.

GamePlay

El Programador de Gameplay es el encargado de integrar todos los recursos creados por el resto de roles dentro del videojuego. Estos recursos pueden ser los modelos, las animaciones, los menús, el sonido, etc. Como se ha comentado, es la primera imagen que le viene a la gente a la cabeza cuando piensa en un programador de videojuegos.

Al unir todos los recursos, el programador de gameplay está creando el concepto conocido como jugabilidad del juego. Para ello debe de asegurarse que todos los recursos estén correctamente relacionados entre si, además de implementar todas las mecánicas definidas durante el diseño, para asegurar que la experiencia final del jugador sea la deseada.

Durante las primeras décadas del desarrollo de videojuegos, este rol consistía básicamente en teclear código sin parar, llegando a veces a tener que utilizar lenguajes de bajo nivel para poder alcanzar la experiencia deseada. Esto ocasionaba que, para el correcto desarrollo del mismo, la documentación fuera igual o más importante que el programa en si, dado que las diferentes relaciones no eran visibles a simple vista.

Los lenguajes de script visuales permiten programar casi sin teclear código.

Hoy en día, el estándar es el uso de motores de videojuegos. Estos permiten una visión más intuitiva de los elementos del juego, y el usos de scripts para añadir comportamiento a los mismos. Todo ello ha permitido un crecimiento en el tamaño de los proyectos.

IA

La Inteligencia Artificial en si es un área de la programación externa al desarrollo de videojuegos (tiene una larga historia, y si tenéis curiosidad nunca viene mal investigar un poco sobre la misma). No obstante, empezó a utilizarse en el desarrollo de los videojuegos desde prácticamente el principio, cuando se decidió añadir un «jugador» controlado por la máquina. Como ejemplo primitivo, la barra rival del clásico Pong es una inteligencia artificial.

Cuidadito con crear a Skynet.

Así pues, la Inteligencia Artificial se utiliza para crear mundos virtuales vivos, los cuales no necesitan la interacción directa del jugador para interactuar con el mismo. Este concepto abarca desde el movimiento por pantalla de un NPC, la mecánica de ataques de un jefe final, o diferentes reacciones de un personaje según cómo te hallas comportado con el mismo.

La Inteligencia Artificial es una de las ramas más complicadas de la programación. Esto se debe a que se necesitan grandes conocimientos de programación y lenguajes, además de conceptos matemáticos avanzados. Sin embargo, en el desarrollo de videojuegos se utiliza una IA bastante simplificada, donde la mayoría de comportamientos están predefinidos.

Tecnología

El Programador de Tecnología es el encargado de desarrollar aquellas herramientas que serán necesarias durante el desarrollo del videojuego. Estas pueden variar desde un simple editor de sprites hasta un editor de mapas en 3D. Este rol requiere unos grandes conocimientos de programación, porque cada herramienta puede requerir un lenguaje y una estructura totalmente diferente.

Este rol era uno de los más importantes dentro de la programación de videojuegos, porque en el pasado lo normal era que cada estudio desarrollara su propio motor de videojuegos, ya que no existían motores comerciales o el acceso a los mismos resultaba imposible (su precio sólo estaba al alcance de los grandes estudios AAA). Aun así, todavía existen estudios que crean sus propios motores, ya que a veces un motor comercial no cumple con los requisitos del proyecto, y es necesario implementar uno en específico para el mismo.

Otras Áreas

Las áreas de gameplay, inteligencia artificial y tecnología suelen ser las más comunes a todos los proyectos de desarrollo de videojuegos. Aun así, existen otros roles más especificados para casos concretos.

Redes

El Programador de Redes es el encargado de programar todo aquello que intervendrá en los aspectos online del juego, como puede ser el acceso a redes sociales o los modos multijugador online. Un programador de redes ha de tener amplios conocimientos sobre el funcionamiento de los diversos mecanismos de comunicación, de forma que la ejecución final sea lo suficientemente fluida para que el jugador no se percate de la conexión en si.

ESTO es el Internet real 😛

Físicas

Existen videojuegos con un sistema de físicas propio, pues en lugar de querer emular la realidad, el diseño del juego se basa en unos controles físicos determinados. En estos casos es normal tener un Programador de Físicas, el cual se encarga de que el mundo del juego reaccione a las interacciones físicas del jugador de la manera esperada según el diseño.

Efectos

Hoy en día, la mayoría de efectos los desarrollan los propios artistas 3D o ya se encuentran implementados en el propio motor. Sin embargo, es posible que nuestro proyecto nos obligue a necesitar efectos más complejos y de mayor calidad. Para estos casos, es necesario un Programador de Efectos, el cual debe ser especialista en las diversas librerías gráficas para poder implementar los efectos mediante código.


Pues con esto ya conocéis los principales roles de programación dentro de la Industria del Desarrollo de Videojuegos. Aun así, existen infinidad de posibles roles, dado que cada proyecto es diferente, y los requisitos de los mismos pueden llevar a que se necesite un programador para una tarea en específico, si resulta ser lo suficiente relevante.

Aprovecho para recordaros que, si estáis interesados en el mundo de la programación, tenéis disponible un curso donde aprender los fundamentos y comenzar a conocer este fascinante mundo.

Marcar como favorito enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *