Si me preguntaran sobre cual es el mejor lenguaje para programar videojuegos, diría que depende. Depende del próposito, plataforma, tipo de juego y un sin fin de detalles más. Pero si me dijeran que dijera el más general, el más usado, el más potente y en el que estén hechos la mayoría de las superproducciones de las grandes compañías diría C++ sin pensármelo dos veces. C++ es el lenguaje por excelencia en el mundo de los [...]
Bueno vamos con nuestro primer juego en C++. en mi caso utilizo el editor IDE Geany con un terminal empotrado sobre el Sistema Operativo Ubuntu que me viene de perlas para hacer pruebas sobre la marcha, dejo una captura (Click para ver en grande). Nuestro primer juego Nuestro primer juego es el típico programa que muestra por consola el mensaje “Hola Mundo” de todos los cursos de programación, pero como esto es un curso [...]
Bienvenidos a un nuevo colección de artículos, curso, guía o como lo queráis llamar de Razón Artificial. En esta ocasión la idea es enseñar a programar videojuegos en C++ a base de ejemplos e ir explicando las cosas paso a paso. Me di cuenta que en su día el Curso de Pygame tuvo bastante buena acogida porque en el proceso del tutorial se fue creando un juego, es decir, nos enfrentamos a un problema [...]
Por fin llegamos a la clase App, con esta clase empieza a cobrar algo de sentido todo lo anterior porque une lo visto hasta ahora, crea la ventana de la aplicación, etc. La clase App sigue, como el SceneManager, el patrón de diseño Singleton pues no tiene sentido tener más de un objeto App, cualquier intento de crear un nuevo objeto App devolverá la instancia única. Empezamos con las variables públicas. Como vemos lo [...]
Antes de ver la clase App vamos a ver el SceneManager, ya que hemos visto en primer lugar la clase Scene ahora vamos a ver la clase que va a manejar los objetos Scene y decidir cual esta activo y cual no. Sobre SceneManager he visto muchas formas de implementarlo, la más común es utilizar una pila donde haciendo push y pop se puede cambiar de escena fácilmente, la desventaja de una pila es [...]
En teoría lo lógico sería empezar hablando de la clase App, pues sera esta la principal del engine, pero necesitamos primero ver como va a ser un escena para luego poder hacer un buen app que las controle. ¿Que es una escena? Puede parecer obvio, pero por si acaso vamos a aclararlo. Una escena es cualquier pantalla de un juego que necesite mostrarse en pantalla, actualizar datos y/o interactuar con el usuario. Por ejemplo, [...]
Introducción Si bien muchos programas simples caben en un solo archivo C o Cpp, cualquier proyecto serio va a necesitar dividir el código en varios ficheros con el fin de ser manejable. Sin embargo, muchos principiantes no se dan cuenta hasta que punto esto es importante (Sobre todo por que muchos lo han intentado y les ha dado más problemas que soluciones y decidieron que no merecía la pena el esfuerzo). En este artículo [...]
Una de las tareas principales de un juego RTS es la de recolectar los recursos que necesitamos para desarrollar nuestra estrategia de crecimiento a todos los niveles: tecnologías, efectivos, edificios y cualquier otro elemento que pueda intervenir en el juego. El Daimyo era la figura en el entorno feudal japonés que poseia un terreno y se encargaba de administrarlo. Cuando no estaban en guerras con el resto de Daimyos era porque uno de ellos habia [...]
Como creadores de inteligencia artificial orientada a los juegos de estrategia, debereis ser conocedores de las más antiguas técnicas estratégicas. Para ello vamos a echar mano de uno de los mejores generales y estrategas del pasado, Sun Tzu. El aspirante a Samurai Informático deberá conocer las enseñanzas del maestro a través de su célebre libro ‘El arte de la Guerra’. El Maestro Sun Tzu dijo: “Un ejército victorioso gana primero y entabla la batalla después; [...]
En el anterior tutorial vimos como crear una ventana, pero esta no se podía cerrar. Es esta tutorial aprenderemos a capturar eventos y manejarlos de manera adecuada. Obtener eventos Básicamente, hay dos formas de recibir los eventos en un sistema de ventanas: Pedir a la ventana los eventos que han sucedido en cada iteración del bucle lo que se conoce como “sondeo”. Darle a la ventana un puntero a una función que es llamada [...]