Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Todos los Videojuegos son Wargames parte 3

–Como la computadora puede simular y jugar un juego de mesa–

Tercera parte de la serie sobre la relación que existe entre los antiguos Wargames y los actuales videojuegos. En las dos primeras partes vimos como un wargame de hace 100 años puede ser definido por una computadora y en la segunda el como una situación tan sencilla como la de un ataque a un enemigo virtual que dura menos de un segundo requiere tantas comparaciones y validaciones numéricas. En esta tercera entrada veremos que todos los videojuegos tienen algo de wargame.Repasemos algunos elementos comunes a todos los wargames.

Miniaturas o Fichas


Las miniaturas con las que se juegan los wargames tales como los soldados, tanques, obstáculos naturales, bases y cualquier cosa que tome parte en la acción también tiene su lugar en los videojuegos y es con lo primero que los jugadores interactuan en un videojuego. Lo que cuando aprendí a programar se le llamaban “Datos”, cuando llegó la H.Industria llamaron “Assets” y de un tiempo acá oigo que nombran como “Props”. Las Miniaturas son para la computadora conjuntos de datos que la computadora usa para representar cosas en la pantalla: Monstruos, héroes, armas, items, obstáculos, escenas y cualquier otra cosa con la que el jugador interactue en pantalla. De hecho los datos o assets del juego es lo que el jugador ve. Incluso si se tratara de un videojuego en modo texto las letras y números que muestran la información en pantalla cuentan como assets. Una cosa interesante es que la mayoría de los datos que forman estas miniaturas virtuales son inútiles para la computadora si no tienen información que sea usada por las reglas del juego. ¿Pero qué sentido tendría jugar un videojuego en el que no sabemos qué está pasando?

Turnos

Tal vez lo más elemental de un wargame y un videojuego es el concepto de turno. En cada turno uno de los jugadores puede hacer algo, ya sea un movimiento, un ataque o puede usarse como unidad de tiempo para medir la duración de acontecimientos. Pues bien. Todos los videojuegos desde los tediosos RPG por turnos hasta las aventuras 3D de acción rápida multijugador usan turnos. El corazón de un videojuego se llama Gameloop y se trata de un ciclo que se repite eternamente o hasta que ocurra algo que haga que el juego se termine. En cada ciclo se leen las entradas del usuario, se actualiza la acción y se despliega la escena. Estos turnos pueden durar tan poco como unos pocos milisegundos para los juegos más rápidos. Ese turno es clave para la interacción y si no lo tuviéramos no sería posible que el jugador pudiera controlar nada. Para ponerlo de modo más sencillo pensemos en un menú de opciones en el que nos movemos por las opciones con las flechas y seleccionamos una con un botón. En cada ciclo del gameloop se lee si presionamos una flecha y si lo hacemos la opcion cambiará, si no presionamos la opción permanecerá igual. Y si se detecta que presionamos el botón la opción seleccionada en ese momento se tomará como entrada. Y para distinguir entre una opción y otra puede ser algo tan sencillo como incrementar o decrementar un contador cada vez que presionamos una flecha. Volviendo a los turnos. En lo que conocemos como juego por turnos el turno no termina hasta que el jugador ha hecho su acción y en los juegos rápidos el turno termina cuando al jugador se le acaba el tiempo. Como ya se dijo, si los turnos son lo bastante rápidos se da la impresión de que todo se mueve a la vez.

Tablero

Los wargames se juegan en una mesa sobre la que se acomodan las miniaturas y los videojuegos aunque no cuentan con mesa si que usan algún tipo de universo en el que ocurre la acción. Para los juegos de una sola pantalla ese universo puede ser el monitor pero la mayoría de los juegos actuales usan el monitor como ventana para contemplar una pequeña parte de un universo más grande. Para ubicar algo en ese universo usamos coordenadas tridimensionales XYZ. Ese campo de juego tiene límites de modo que en todo momento las coordenadas siempre están dentro de un rango de valores. Para ejemplificar pensemos en un tablero de ajedrez de 8 cuadrados por lado y un total de 64 casillas. Podríamos tomar como coordenadas x,y cualquiera de estas casillas e ignorar la coordenada z. La computadora necesita controlar ese campo de juego para saber en todo momento donde están los elementos del juego y como interactuan entre ellos.

Varas y plantillas

Los wargames usan varas de longitud determinada para medir distancias y plantillas de cartón o plástico para ver si dos miniaturas están a menos de cierta distancia una de otra o cuales miniaturas están dentro de un área determinada. La computadora usa algoritmos geométricos para medir distancias o ver si alguna de sus miniaturas virtuales están dentro de una cierta área. Existen muchos diferentes algoritmos que pueden programarse en una computadora que funcionan como las varas y las plantillas. Pues aunque un humano puede orientarse en el plano o en el espacio de manera natural y saber donde están las cosas la computadora no puede. Y por eso recurre a esos algortmos geométricos y por supuesto a la Geometría Analítica que en lugar de regla y compás usa números con los que puede trabajar mejor la computadora.

Dados

En los wargames y otros muchos juegos de mesa se usan dados. El dado de 6 caras es el más común pero en algunos juegos se usan dados de 4, 10 o hasta 100 caras. Estos dados se usan para darle al juego algo de emoción y simular eventos que no están del todo bajo el control del usuario. La computadora tiene sus propios dados en forma de algoritmos que generar un número dentro de un cierto rango de acuerdo con alguna regla. Y si bien existen algoritmos para generar números matemáticamente aleatorios usables en cálculos científicos hay otras formas de conseguir números más o menos aleatorios sin tantos problemas como el tener un contador que cuente de manera indefinida entre el rango buscado y que cuando el jugador apriete el botón de acción se tome un número de ese contador. Si el jugador nunca ve ese contador y no sabe que él mismo dio la orden de leerlo al presionar el botón para él será una acción aleatoria. Algo similar puede hacerse con los relojes internos del sistema.

Tablas de atributos de personajes

Esto no tengo que explicarlo. Los wargames tienen tablas que definen las capacidades de los personajes en forma numérica. Esos mismos números pueden guardarse en la memoria de la computadora y ser leidos según vaya desarrollándose la partida.

Todo tipo de reglas de juego

Los wargames se juegan siguiendo una serie de reglas que deciden todo lo que puede hacerse en el juego y como definir los resultados de cada situación. Esas mismas reglas se pueden programar en los videojuegos. De hecho si al código de un videojuego le quitamos todo lo relacionado con interacción con el usuario, despliegue de la escena y control del hardware lo que nos queda es el mismo conjunto de reglas del manual del wargame pero escritas en una forma que la computadora pueda leer y ejecutar.

Ahora veamos muy rápido como un juego clásico que uno creería que nada tiene que ver con los wargames tiene todos estos elementos. Me ahorro lo de los turnos porque todo código interactivo los tiene. Y aunque no lo crean voy a hablar del Tetris.

Tetris.- En Tetris el tablero es una cuadrícula por la que se mueven las piezas y se puede programar como un array de enteros donde el contenido de cada elemento del array indica lo que hay en esa posición. Ya sea que esté vacio o que haya algo ahí. Las miniaturas son por supuesto las piezas pero si miramos de cerca las 7 formas posibles se forman por 4 cuadrados pequeños que miden exactamente lo mismo que los cuadrados de la cuadrícula que forma el tablero de juego. Por lo que cada pieza puede caber en un rectángulo de 4 por 2. Las varas de medir y plantillas en este caso son los propios cuadros del tablero de juego de modo que cuando uno de los subcuadros que forman las piezas detecta que en la posición inferior hay otro cuadro ocupado automáticamente la pieza se pega a la estructura y una nueva pieza cae. Los dados entran en la parte que decide cual pieza sigue. En Tetris las piezas no caen de modo arbitrario. Piezas como la barra larga o el cudrado aparecen menos veces que las piezas T, L o Z y pasado cierto nivel lo único que cae son piezas Z que son particularmente difíciles de acomodar. Y en cuanto a las reglas estas son simples. Se empieza con el tablero vacio y van cayendo piezas de acuerdo a la regla ya mencionada. Cada que una pieza aparece pasan una cierta cantidad de turnos antes de que caiga un paso a la vez y esa cantidad de turnos de espera será menor conforme la dificultad aumente. Si alguno de los cuadros que componen la pieza no puede seguir cayendo porque algo impide su caida (o avance por el terrreno según un wargame) la pieza se integra a lo ya caido y aparece otra nueva pieza. Si una o más lineas horizontales se completan estas desaparecen y todos los cuadros ya caidos se deslizan abajo tantas lineas como se hayan completado y se ganan puntos. El juego se termina cuando se ha completado el límite de lineas o cuando ya no hay espacio en el tablero para acomodar más piezas.

En la siguiente entrada hablaré sobre como estos elementos se repiten en otros tipos de juegos. Aunque algunos juegos puede parecer que les falta alguno de estos elementos la verdad es que si los tienen. Pero eso es algo que como jugadores tal vez nunca hayan notado.

junio 26, 2016 Posted by | Uncategorized | , | Deja un comentario