MATEMÁTICAS, LA HERRAMIENTA DE CÓDIGO MÁS PODEROSA
Algunas áreas de la PROGRAMACION de videojuegos requieren la aplicación de fundamentos matemáticos. Quien programe gráficos o física tendrá que utilizar conceptos como matrices, vectores, transformaciones, etc… Otras áreas como el interfaz de usuario no suele necesitar mucho más que simples coordenadas en 2D. La complejidad aquí vendrá de organizar la información en estructuras de datos (listas de recursos, árboles de jerarquía, sucesiones de eventos, etc…), que, estas sí, son necesarias en todas las áreas de la programación.
- Todos los objetos y eventos de un juego integran un árbol jerárquico programado que delimita sus funciones. El código de Bridge Constructor combina un interfaz sencillo con una física simple, pero realista. Incluso en un juego tan aparentemente simple como Crayon Physics, las matemáticas, (geometría, gravedad, masa…) juegan un papel fundamental en la interacción.
- El programador tiene que contemplar todos los supuestos sobre qué pueden hacer los P-body y Atlas en Portal 2 y cómo. Cualquier fisura en estas leyes se traduciría en un bug.
OPORTUNIDADES CON C++ Y PROYECCIÓN
La PROGRAMACION de videojuegos hoy en día abarca más plataformas, más modalidades y más variedades de público que nunca: desde los clásicos juegos triple A en consola o PC; donde hacen falta presupuestos y equipos enormes, hasta los juegos indie para móvil; que se pueden realizar en pequeños proyectos, pasando por los juegos en redes sociales. Incluso la gamificación que, como vimos hace un par de entregas, puede consistir en aplicar técnicas de creación de juegos para mejorar la eficiencia en el trabajo o en la educación.
De cara a la ocupación profesional, esta diversidad es muy favorable. Para empezar, cada vez hay más salidas para los programadores de videojuegos, aplicado en las distintas industrias y sectores. Y por otra parte, hay muchos perfiles de proyectos que se pueden abordar, no necesitando buscar grandes equipos e inversiones para poder hacer cosas interesantes.
A nivel de aprendizaje, aunque se utilicen distintos lenguajes y tecnologías, el C++ y el código nativo son probablemente las bases más interesantes, dado que dominándolas se pueden atacar el máximo de proyectos distintos, y es fácil dar el salto a tecnologías más sencillas cuando sean recomendables. Saber manejarse en C++, e incluso convertirse en un experto, es fundamental para ingreasar en un equipo de desarrollo.
- Los patrones de comportamiento, los eventos y el guión de los juegos como en Call of Duty Ghosts se definen mediante la programación. Por su parte, el equipo de DICE para Battlefield 4 emplea a programadores que están especializados en diversas áreas: inteligencia artificial, gestión de big data para los servidores multijugador, scripts (guión) de los DLC, etc.
EL EXPERTO Jon Beltrán de Heredia
Para la realización de este taller MICROMANIA ha contado con la ayuda de Jon Beltrán de Heredia, quien ha aportado su experiencia profesional en el área de desarrollo de software, como emprendedor y como Director de desarrollo de software y Director del Máster en PROGRAMACION de videojuegos de U-tad. Jon ha trabajado en empresas como Symnum Systems, Arvirago, Pyro Studios y Metrosoft.
En la actualidad, Jon Beltrán de Heredia es Fundador y CEO de Mouin, empresa enfocada en mejorar la facilidad de uso de la web en dispositivos móviles. Posee una amplia experiencia en todos los sectores de desarrollo, desde la concepción y la realización técnica de un producto (incluida la dirección de un equipo de desarrollo) a la comercialización y el marketing del producto.