Saltar al contenido

Cómo convertirse en programador de videojuegos

28 diciembre, 2022

Programar videojuegos es algo que siempre me ha apasionado, como buen informático apasionado del sector; durante cierto periodo de mi vida, además, también tuve la aspiración de ganarme la vida con ello, aunque la vida y la necesidad me han llevado por otros derroteros. En este artículo te propongo un repaso, revisado y corregido, de todos los editores, motores gráficos y entornos de programación para videojuegos gratuitos, que puedes encontrar fácilmente en la red, para que te hagas una idea: ¡que lo disfrutes!

Mejor aprender primero a programar

(los expertos pueden saltárselo, los principiantes seguir leyendo) A mucha gente le gustaría programar videojuegos, y en mi opinión es un mundo fantástico, pero hay que tomárselo con buen humor: sería una locura pensar en programar de la noche a la mañana, ¿no? Procedamos, pues, paso a paso, e intentemos comprender cómo hacerlo y por qué.

El requisito previo inicial para empezar a programar videojuegos es, por supuesto, saber programar en general: al menos lo básico, en resumen. Los bucles for, los bucles, las condiciones, las variables: todas las cosas que siempre, o casi siempre, se hacen en la escuela (en ciertas escuelas) y en los cursos de informática. Hay que practicar estas cosas y saber utilizarlas para crear cosas sencillas: el resto vendrá por etapas. Programar significa emitir órdenes en secuencia escritas en un determinado lenguaje, es decir, respetar ciertas reglas para conseguir un resultado: podemos programar una app, una web, un servicio online, un servicio de streaming de audio y vídeo, etc. Conocer lenguajes como C#, C++, Java, etc. es realmente importante: es como aprender bien el alfabeto, la gramática y la aritmética antes de ir al instituto o a la universidad.

Así que si tienes un mínimo de conocimientos de programación, dale la bienvenida desde el principio; si aún estás en un nivel básico, puedes descubrir un videojuego como Puzzle Code, un bonito proyecto de código abierto que te hará comprender cómo dar órdenes a un ordenador (en el juego para recoger objetos sin chocar con otros, en la realidad para crear y animar sprites).

Afortunadamente, no todos los lenguajes son iguales cuando se trata de videojuegos: hay algunos que tienden a obligarte a escribir código, y otros que, en cambio, integran una parte visual (es decir, tomamos las distintas «piezas» de un juego de plataformas, por ejemplo, y las colocamos y animamos a voluntad) con otra de escritura de código. En este artículo analizaremos tanto lo uno como lo otro.

Cuánto cobran los programadores de videojuegos

En teoría, los programadores de videojuegos deberían cobrar al menos lo mismo que los programadores normales, si no un poco más ya que, a la hora de la verdad, se trata de una especialización y si tienes unos cuantos años de experiencia, por supuesto, puedes hacer que cuente en la entrevista. También creo que intentar desarrollar algo, con el tiempo, y publicarlo online o quizás como código abierto en GitHub puede funcionar mucho mejor que cualquier currículum escrito todo lo bien que uno quiera.

En general, sin embargo, no hay una regla fija: los programadores de juegos para móviles, por ejemplo, parecen ser los peor pagados de todos, y en muchos casos se limitan a cobrar (si son desarrolladores independientes, por ejemplo) el dinero de los anuncios que ponen en esos juegos. Si, por el contrario, trabajan para empresas de videojuegos estructuradas o famosas, evidentemente el tratamiento económico también cambia.

Veamos algunos entornos interesantes para programar videojuegos en varios lenguajes, incluidos los puramente visuales (sin código).

Pygame: programación de juegos en lenguaje Python

Nivel de dificultad: medio-alto. El primero que destacaría es pygame, que es adecuado para quienes ya conocen Python. Bastante variado es el conjunto de juegos que se pueden crear, al menos a juzgar por las capturas de pantalla presentes. Pygame no es m¡s que un conjunto de modulos Python diseñados para el desarrollo de videojuegos, que arcade caracteristicas especiales que facilitan el desarrollo de, por ejemplo, juegos de puzzle multiplataforma. Descargar

GameSalad: programación y visuales asistidos

Nivel de dificultad: bajo

Se trata de una herramienta descargable para facilitar la vida a los aspirantes a creadores de videojuegos: ofrece la posibilidad, a través de ella, de crear juegos tanto para la web como para el iPhone. Los gráficos y el sonido se pueden cargar mediante un cómodo sistema de arrastrar y soltar, y se pueden desarrollar videojuegos para prácticamente cualquier plataforma. La versión de pago es bastante cara (500 $/año), pero la herramienta básica gratuita -descargable previo registro- parece ofrecer un buen potencial para los menos expertos en programación. Descargar

Sploder: crear videojuegos de forma intuitiva y visual

Nivel de dificultad: bajo

Se trata de una herramienta muy util (una de mis favoritas: si ya tienes en mente el esbozo de un juego de plataformas, un juego de logica o un shooter estratategico, te daras cuenta enseguida desde aqua) para crear facilmente videojuegos en Flash, explotando un conjunto predefinido de cuatro modos posibles: juego de plataformas, fisica, equipo de algoritmos y shooter clasico. Los dos primeros permiten crear juegos al estilo Super Mario de forma rápida y eficaz, utilizando un conjunto predefinido de objetos con los que se puede interactuar: los últimos permiten crear un juego de disparos con una vista de arriba abajo. Es posible fijar objetivos de juego (banderas, número mínimo de enemigos, objetos que recoger) y desarrollar juegos de varios niveles, pudiendo incluso personalizar los gráficos. Sin duda merece la pena tenerlo en cuenta, ya que no es necesario programar ni una sola línea de código. Ir al sitio web de Sploder

Godot: programar videojuegos fácilmente, como un profesional

Nivel de dificultad: medio-alto

Godot. Un entorno de desarrollo relativamente sencillo, rico en funciones y multiplataforma, así como muy completo y lleno de ejemplos en línea, disponible en el sitio oficial. Se basa en un «dialecto» de C++ del que hereda su potencial (por eso decía que al final puede ser útil saber programación). Extensamente documentado, lleno de ejemplos y totalmente de código abierto, para mí es el entorno definitivo para desarrollar juegos en múltiples entornos de forma profesional.

YoYo

Nivel de dificultad: medio-bajo

Similar a Sploder, permite subir juegos 2D y compartirlos con la comunidad. El ritmo de subida es impresionante, con cientos de nuevos juegos creados por los usuarios al día. Su descarga requiere registro gratuito y permite desarrollar juegos para Mac de forma gratuita (las versiones para HTML5 y con funciones adicionales son de pago).

Estudio de aventuras Lassie

Nivel de dificultad: medio-bajo

Se trata de un editor completamente Flash -una tecnología algo anticuada, quizá, hoy en día- para crear juegos de estilo aventura. Proporciona una herramienta visual que permite configurar esquemas de juego a través de una sencilla interfaz. No he tenido ocasión de probarlo directamente, pero parece interesante. El motor del juego es el mismo que el de la serie «Monkey Island» de LucasArts.

Byond

Nivel de dificultad: medio

Software multiplataforma para Mac, Windows y Linux que permite crear videojuegos en unos pocos y rápidos pasos. Ofrece una comunidad de apoyo en inglés y un foro en el que interactuar.

Editor de juegos

Nivel de dificultad: medio

Aquí también encontramos un editor de juegos multiplataforma para todos los sistemas operativos populares, descargable gratuitamente desde SourceForge, y desarrollado originalmente para sistemas Unix. No precisamente sencillo de utilizar, de hecho con una interfaz bastante complicada, permite definir «actores» que actuarán en el juego (en dos dimensiones), trayectorias de movimiento de objetos y plataformas, activación de eventos predefinidos, emulación de la física, scripts avanzados y mapas. También hay una rica colección de juegos descargables realizados con esta plataforma, de los que generalmente se puede tomar ejemplo y ver cómo funciona en la práctica. Parece una herramienta completa, pero sin duda tiene una curva de aprendizaje bastante pronunciada.

Scirra. Editor de juegos HTML5, ofrece un editor visual gratuito exclusivo para Windows. Parece prometedor, también porque los tutoriales en el sitio son muy claros, pero no he tenido la oportunidad de probarlo (todavía) en la práctica.

DarkBasic. Se trata de un lenguaje de programación para videojuegos que funciona, una vez más, sólo en la plataforma Windows, pero que también permite desarrollar juegos para distintas plataformas finales como Mac e iPhone. Tenga en cuenta que la versión gratuita sólo puede ser utilizada por usuarios particulares y no con fines comerciales.

JumpCraft. Programa gratuito de desarrollo visual de juegos, de nuevo sólo para Windows: The Easiest Way to Create a Game.

Luego tenemos 001 Game Creator, que se ofrece como un entorno de desarrollo también visual y gratuito en su uso completo: si quieres vender juegos, se requiere una suscripción de 10 $ al mes.

En el mundo del código abierto y libre, no podía dejar de mencionar JACL Adventure Create Language, un entorno de desarrollo específico para juegos de aventuras. Está disponible tanto para Windows como para Linux, y a primera vista no parece muy actual.

Si eres un nostalgico del Gabriel Knight 3, hay un verdadero editor de juegos de aventura del mismo estilo. Consta de un editor en tres dimensiones y un motor de ejecución que permite ver el resultado una y otra vez.

Unidad. Ofrece un lenguaje dedicado a la creación de videojuegos (lea sobre una de las impresionantes versiones más recientes), orientado a eventos y con capas editables mediante una cómoda herramienta visual: es posible diseñarlo todo tanto en Javascript (dedicado a Unity, no al cliente web) como en C#: es posible desarrollar juegos para teléfonos móviles, autónomos (para PC y Mac) o para la web (también en Flash, a partir de la nueva versión) . Los sistemas de partículas, los buscadores de trayectorias, la compatibilidad total con objetos 3D y las animaciones dejarán de ser un secreto en esta extraordinaria herramienta, apta para crear videojuegos de todo tipo, incluso en dos dimensiones.

Actualmente, la versión 3.5 (en vista previa para desarrolladores) puede descargarse gratuitamente. Un buen producto aunque, en mi opinión, en parte sobrevalorado por la comunidad (muchas funcionalidades disponibles en la versión de pago ya están integradas en otros entornos gratuitos como Blender, y muchos juegos realizados en este entorno adolecen de ciertos problemas, pero quizás esto se deba más a una mala programación que al resto), sin duda atractivo y estimulante para cualquiera.

Entornos para desarrollar juegos web

En lo que respecta al mundo de los juegos HTML5 y Javascript, realmente hay de todo y más.

Imposible no mencionar XC, para empezar, un simple archivo Javascript que proporciona toda una biblioteca para juegos de navegador.

Una mención honorífica, así como el primer entorno real que me permitió hacer un videojuego en el hormigón (éste) es sin duda Phaser. Ya he hablado de él en otras entradas de este blog, es uno de mis favoritos y tiene el concepto de programación subyacente más ágil, en comparación con otros que son decididamente menos intuitivos. Imprescindible. Para aquellos que vienen de la programación web será muy fácil aprenderlo y hacer uso de él.

También puedes pensar en desarrollar juegos de navegador sin usar Flash usando Tutei.

Un juego de plataformas bastante famoso es sin duda Tom’s Halls: también es abierto, hecho enteramente en Javascript y CSS, y puedes modificarlo y/o adaptarlo a tu gusto.

Si te apetece volver a experimentar en un entorno web, también tienes a tu disposición Trafficcone.

Para no renegar de mi fama de retrogamer, un producto que me parece imprescindible es Sarien, con el que se pueden hacer videojuegos de estilo aventura de los 80-principios de los 80. Cuenta con un intérprete y un motor multijugador, y una vez más ha sido publicado como código abierto por Martin Kool.

RPGJS es entonces un editor RPG (Role Play Game) para Javascript y HTML5: un producto gratuito que parece tener una calidad decente, a tener en cuenta.

Rosewood es otra biblioteca Javascript para crear juegos bidimensionales impregnados del encanto de la vieja escuela de 16 bits. Para incondicionales.

MelonJS es un motor de juegos para Javascript y HTML5 que permite construir juegos de plataformas utilizando tiles (los cuadrados de la figura que modelan el nivel). Totalmente compatible con la mayoría de los navegadores en circulación, imprescindible.

LimeJS es un entorno de programación similar, pero adecuado tanto para navegadores de escritorio como para dispositivos de pantalla táctil.

jsGameSoup, por otro lado, es uno de los pocos entornos abiertos, libres y utilizables en un proyecto comercial que ofrece un pequeño ejemplo de trabajo desde la primera página, con el que puedes montar tu juego favorito. Merece la pena tenerlo en cuenta porque, a menudo, incluso el mero hecho de ser capaz de hacer un «Hola Mundo» puede ser una tarea desalentadora.

Este otro producto, en mi opinión, es realmente una joya: ¡PixieEngine es un editor de juegos integrado directamente en el navegador! Una idea sencillamente extraordinaria que le permitirá programar directamente sin tener que instalar nada, y sin ningún problema de compatibilidad de un sistema operativo a otro. Para probarlo sin dudarlo: vaya al sitio

GoGoMakePlay también es bastante interesante, ya que ofrece un sistema Javascript totalmente integrable para juegos de navegador de una sola pantalla. Los ejemplos mostrados tienen buenos controles, gráficos decentes y una física del cuerpo ya hecha.

Con GameQuery, en cambio, es posible crear juegos de lucha al estilo Street Fighter; una biblioteca a la que no hay que perder de vista porque, de hecho, sigue en (lento) desarrollo (0.7.1 en el momento de escribir estas líneas).

Ultra-optimizado y muy rapido, CraftyJS es otro entorno listo para usar para Javascript que podras evaluar. Soporta colisiones, animaciones sprite y cross-browsing.

Akihabara lo menciono más por una razón histórica (parece que hace tiempo que no se actualiza) que por otra cosa: merece una mención ya que permite crear juegos en Javascript emulando las características de los juegos de 8/16 bits, y proporcionando el conjunto habitual de librerías.

Luego tenemos otro «ladrillo» que parece bastante versátil: Platinum Arts Sandbox Free 3D Game Maker, un entorno de creación de juegos para Windows, Mac y Linux que puedes descargar y utilizar.

Otro microframework para hacer prototipos de videojuegos rápidamente es también Mibbu.

El mundo Windows ofrece, entre otros, Advanced RPG Maker, que permite editar juegos de estilo RPG.

Si quieres hacer juegos al estilo Zelda, existe el excelente Solarus.

¿Hacer aventuras gráficas al estilo Sierra con JavaScript? Puedes hacerlo gracias a JavaScript Graphic Adventure Maker.

Si eres usuario de Python, puedes considerar la posibilidad de aprovechar el entorno adicional Octane, un entorno de código abierto para diseñar juegos.

Runesword II permite jugar a rol al estilo «lápiz y papel»: más de 50 habilidades, razas, mundos y aventuras ya creados.

Dead Deer, por su parte, es un creador de juegos de código abierto con un modelador 3D.

También recomiendo Play My Code, una aplicación que se ejecuta directamente en el navegador y que permite editar juegos personalizados para compartirlos en sitios web y blogs.

Por último, un producto más reciente (primera versión junio 2012) es Construct 2, que en su versión gratuita permite hacer juegos HTML5. Una pena para los usuarios de Mac, ya que sólo existe para Windows. No he tenido ocasión de probarlo, pero las entusiastas críticas que he leído me han convencido.

Espero haberos podido ayudar.

Configuración