
Estructura básica de un videojuego
Primero hay que aclarar que un videojuego es un programa diferente a los programas convencionales.
Un videojuego debe funcionar en tiempo real, en todo momento mientras se está ejecutando, el juego debe estar realizando alguna tarea como: dibujar los objetos, actualizar coordenadas, calcular colisiones, etc., independiente de si el usuario hace algo. Obviamente debe también estar esperando que ocurra algún evento, ver si el usuario presiona alguna tecla, si mueve el mouse, o presiona algún botón de este y luego actuar en consecuencia. Todo esto y más ocurren en un ciclo o loop.
Básicamente la estructura de un videojuego consta de las siguientes partes:
-
Inicialización
-
Ciclo del videojuego
Entrada
Procesamiento
Salida
-
Finalización
-
Ahora veamos una explicación en más detalle de cada una de ellas:
1. Inicialización: aquí inicializaremos todo lo que será usado luego en el ciclo del videojuego. Por ejemplo aquí inicializaremos la librería gráfica, un modo gráfico, el sistema de sonido/música, de texto y cualquier otro tipo de sistema necesario. Además reservaremos memoria para los objetos que intervienen en el juego, creación de estructuras de datos, etc. Carga de sonidos, de imágenes y de recursos en general. También en este proceso se inicializarán las posiciones iniciales de los personajes, carga de puntajes desde un archivo, etc.
2. Ciclo del videojuego: el ciclo del videojuego es un loop que se estará repitiendo una y otra vez. Aquí es donde ocurre toda la acción del juego, y la única forma para poder salir de este ciclo es cuando el jugador pierde, llega al final del juego o sale del videojuego con alguna combinación de teclas o presionando algun botón del mouse, etc. El ciclo del juego consta básicamente de tres partes:
2.1. Entrada: en esta parte se obtiene desde algún dispositivo de entrada (teclado, mouse, joystick, etc.) todo lo que realiza el jugador, por ejemplo que tecla presionó/soltó del teclado, que botón del mouse presionó/soltó, si movió el mouse en alguna dirección, etc.
2.2. Procesamiento: aquí se procesa toda la información que se recibió en el punto anterior y se toman decisiones a partir de los datos de entrada. Es decir aquí está toda la lógica del juego. Se procesa la física, inteligencia artificial, comunicación de datos en red, etc.
2.3. Salida: en este punto se muestra toda la información ya procesada en el punto anterior, aquí es donde mostramos los gráficos en pantalla, reproducimos sonidos, etc.