Programación de videojuegos: los lenguajes de ayer y hoy
Los lenguajes de programación llevan más tiempo en desarrollo que los propios ordenadores. Existen una infinidad de ellos para múltiples propósitos, pero sólo unos pocos son usados habitualmente para la programación de videojuegos. Veamos cuáles han sido las tendencias en el pasado y cuáles siguen en boga hoy en día.
Descarga nuestra guía gratuita: Videojuegos. Las 5 tecnologías vencedoras y las 5 olvidadadas en la pugna tecnológica
Desde las tripas de la máquina
Los videojuegos despegaron con herramientas de lo más rudimentarias. En la década de los ochenta –aunque Nintendo y Atari lo alargaron a lo largo de los noventa–, cada juego se hacía directamente en la máquina sobre la que iba a correr. Lo más común eran los lenguajes de bajo nivel, es decir, cuyas instrucciones controlan el hardware directamente y deben tener muy en cuenta sus características físicas. Los ensambladores obligaban al programador a realizar tareas como la liberación de memoria y el control del flujo de registros, cosas que requerían un conocimiento exhaustivo de la máquina sobre la que estaban trabajando. La principal ventaja de esta tediosa técnica era el aprovechamiento del 100% de las capacidades de la máquina; por contra, ello suponía desarrollar una versión casi exclusiva para cada una. Por ello, según sus características gráficas, de audio, métodos de entrada y componentes, los juegos diferían mucho de una plataforma a otra. Lenguajes de medio nivel como Basic facilitaban en cierta medida estas tareas a cambio de sacrificar potencia de cálculo en una época en la que los juegos aprovechaban hasta el último bit de memoria y hacían malabares para dibujar colores en pantalla.
El paso al alto nivel
A medida que las máquinas y consolas se hicieron más potentes y los juegos más y más complejos, el esfuerzo que requería codificar para el ensamblador fue cada vez menos productivo. Los lenguajes de alto nivel recogieron el testigo y siguen usándose en todos los estudios hoy en día. En lugar de tratar directamente con direcciones de memoria e instrucciones a la máquina, éstos abstraen todos esos conceptos, convirtiéndolos en objetos, bucles, variables y clases que son mucho más fáciles de entender para el cerebro humano. Pese a desviar la atención de la eficiencia a la facilidad de uso, los programadores siguen teniendo que optimizar mucho sus funciones, sobre todo aquellas que se ejecutan a cada fotograma. El rey de la programación de videojuegos es C++ y sus variantes C y C#. Bastante accesible y compatible con innumerables plataformas, es el mejor punto de partida para aprender a programar, pues facilita mucho el aprendizaje de otros lenguajes todavía más abstractos (es decir, fáciles de aprender) con los que comparte parte de su estructura. La mayoría de títulos AAA llevan en su interior una de las versiones de C++. El mercado de los juegos para móvil se mueve al son de las aplicaciones de cada sistema: Android funciona con el omnipresente Javascript, usado en todo tipo de aparatos electrónicos; iOS usa Swift, un lenguaje recién nacido con una sintaxis clara y simple; y el agónico Windows Phone usa el estándar C#. En entornos web HTML5 lleva años tomándole la delantera al veterano Adobe Flash, que ha quedado relegado casi exclusivamente a los juegos de Facebook tras su abandono por parte de la mayoría de gigantes de Internet.
El derribo de barreras de los motores de juego
Como te contamos en este artículo, en el presente milenio han surgido y evolucionado muchos motores gráficos, tanto propietarios como abiertos al mundo, que aligeran un montón la carga de trabajo de los programadores. Unreal Engine acepta código en C++ y Unity lo hace con Javascript y C#. Algunos motores incluyen lenguajes de programación gráfica que requieren muy pocos conocimientos sobre código. Sin embargo, su existencia se debe a que sus creadores quieren que use su motor tanta gente como sea posible. Su facilidad de uso va a costa del rendimiento del juego, por lo que sólo algunos estudios indie y desarrolladores en solitario lo adoptan como herramienta principal. Así pues, pese a que el uso de un motor es muy recomendable, al programador nunca le bastará con un lenguaje visual. Adentrarte en el mundo de la programación de videojuegos es ahora más fácil que nunca. Si tienes cierta experiencia en cualquier lenguaje de alto nivel, nuestro Máster y su especialización en programación te aportarán todo lo que necesitas para convertirte en un desarrollador de videojuegos.