zxAA - zx Armor Alley
About
ZXAA (ZX_Armor Alley)1
English first, Cristiano después
The first time I saw this game on Windows I found it clever and entertaining. It is the real-time war game ARMOR ALLEY released in 1991 by 360 Pacific, Information Access Technologies. The first version was for Mac classic, then it was ported to PC (even in EGA mode). This game was originally released for the Apple II in 1984 under the name Rescue Raiders.
In this 2D scrolling game, you control a helicopter in a large scenery with a profile view, where your base is shown on the left side and the enemy's base on the right side. You can decide which military units leave your base in the direction of the enemy base. When one of your jeeps does so, you win the game. The scroll is determined by the view and movement of your character which will be a helicopter where you can carry soldiers to bring them closer to the bunkers which in turn will increase your funds.
My limitations in programming (also artistic, haha) have not allowed me to deliver graphic quality. I only intended to have something similar to the original game on the zx platform.
If you don't know the original game, it will probably take you some time to understand it. I am going to try to give you the main guidelines. I hope you like it.
There are 2 sides (left=the good guys, right=the bad guys).
The good base is on the left and the bad guy's base is on the right.
Each side has a helicopter with a colonel on board.
The goal/mission will be to send combat units among which will be the Jeep that must reach the enemy base to check their systems and take control.
Three types of units are available:
* tank: shoots everything that moves indiscriminately and randomly.
* soldier: can access the bunkers and raise a balloon lookout that increases the funds received.
* jeep. Something faster than the previous two with a driver and a co-driver engineer with a tablet that hacks the security of the enemy base and allows to take control (end of game, you're the best!).
What can the general do from the helicopter?
* Destroy bunker balloons guarded by the enemy. only from the front.
* eliminate enemy soldiers and tanks. only from the front. from the back is cowardly!!!
* to gain time ... pick up soldiers in the heli at ground level and then release them later to conquer bunkers and gain more funds. By pressing the ENTER key you release them from the air.
What happens when a bunker balloon is destroyed?
* When you do this the balloon loses hot air, losing height and disappearing being at the disposal of any soldier who accesses its interior. It is a very valuable asset to gain funds and to be able to call more units.
What are the conquered bunkers for?
* to increase the funds
* to annoy you in your flight. The balloons prevent you from passing.
These units have a cost. To be able to acquire the 4 types of weapons using the assigned keys, you must use the following keys:
* key J - JEEP (costs 4 and has two energy units).
* key S - SOLDIER (costs 4 and has two units of energy)
* key T - TANK (costs 8 and has 4 units of energy)
* B key - Buy a helicopter shot by reducing funds (funds).
The enemy will also make troop calls, including jeeps, which will try to reach our base to win the game by hacking the system.
Tanks fire randomly. The more you have the more chances to destroy each intercepted enemy and let our jeep reach the enemy base. A tank that fires on a bunker repeatedly will send the enemy squatter out for beers, allowing us to bring in one of our soldiers.
Tanks are not too smart and will fire randomly although they will only damage enemy troops.
Fuel:
* It will be reduced as long as the helicopter remains in the air. If the helicopter is on the ground it saves fuel.
* To fill the fuel tank lean on the base. The engineers are waiting for you to do the tuning and fill the tank and will take the opportunity to repair all the flaws.
Scanner:
* In real time, a dot appears for each object on the stage.
TECHNICAL NOTES:
* Thanks to the Z88DK team SP1 library:
- no need to manage "traces" or delete previous frames. It follows the technique similar to spritebatch where before sending an SP1_UPDATE you indicate the changes to be made (sp1_rect) in terms of sprites so that the engine only modifies the necessary screen bytes.
* Although SP1 is not thought for scroll (and they don't recommend it in the docs), I make here a rebellious attempt simulating it with the repeated movement of sprites on the screen in a wide horizontal scene.
* There is a maximum of objects in memory. When this value is reached, neither the good nor the bad team will be able to remove units.
* When there are memory problems there are objects that are not painted well (corrupted) or are painted when memory is freed. sorry, I could not optimize it better.
* The updates in scanner are made every certain number of cycles so as not to slow down too much.
* To save memory I have a function that paints the text directly in screen memory. printf and stdio consumed bytes.
* In this version there are no missiles or bombs, due to lack of memory.
* finally, I was able to add basic sounds
FEELINGS:
* I got a graphically and sonorously simple game but it follows quite a few rules of the original game.
* Genre: Action, Strategy/tactics.
Acknowledgements:
Z88DK, Paco Vespa, Siyei Er, Azimov, Sergio thEpOpE
--------------------------------- CRISTIANO -------------------------------------
ZXAA (ZX_Armor Alley)
La primera vez que ví este juego en Windows me resultó inteligente y entretenido. Se trata del juego de guerra en tiempo real ARMOR ALLEY lanzado en 1991 por 360 Pacific, Information Access Technologies. La primera versión fue para Mac classic, después fue portado a PC (incluso en modo EGA). This game was originally released for the Apple II in 1984 under the name Rescue Raiders.
En este juego 2D scrolling, controlas un helicóptero en un extenso escenario con vista de perfil, donde aparece tu base en la parte izquierda y la base del enemigo en la parte derecha. Puedes decidir qué unidades militares salen de tu base en dirección a la base enemiga. Cuando uno de tus jeeps lo haga, ganarás la partida. El scroll se determina con la vista y movimiento de tu personaje que será un helicoptero donde puedes acarrear soldados para acercarlos a los bunkers que a su vez incrementarán tus fondos.
Mis limitaciones en programación (también artísticas, jaja) no me han permitido entregar calidad gráfica. Solo pretendía tener algo parecido al juego original en la plataforma zx.
Si no conoces el juego original seguramente, te llevará un tiempo comprenderlo. Yo voy a intentar darte las principales pautas. Espero que te guste.
Hay 2 bandos (left=el bueno, right=los malísimos)
La base buena está a la izquierda y la del malo a la derecha
Cada bando tiene un helicóptero con un coronel a bordo.
La meta/misión será enviar unidades de combate entre las que estará el Jeep que debe alcanzar la base enemiga para jaquear sus sistemas y hacerse con el control.
Tenemos disponibles tres tipos de unidades:
* tanque: dispara a todo lo que se mueve indiscriminada y aleatoriamente.
* soldado: puede acceder a los bunkers y elevar un globo vigía que que incrementa los fondos recibidos
* jeep. Algo más rápido que los dos anteriores con un chófer y un copiloto ingeniero con una tablet que hackea la seguridad de la base enemiga y permite hacerse con el control (fin de partida, eres el mejor!)
Qué puede hacer el general desde el helicóptero?
* destruir globos de bunkers custodiados por el enemigo. solo de frente.
* eliminar soldados y tanques enemigos. solo de frente. de espalda es de cobardes!!
* para ganar tiempo ... recoger soldados en el heli a nivel de tierra para luego soltarlos más adelante para conquistar bunkers y ganar más fondos. Mediante la tecla ENTER los sueltas desde el aire.
Qué ocurre cuando se destruye el globo de un bunker?
* Al hacer esto el globo pierde aire caliente, perdiendo altura y desapareciendo quedando a disposición de cualquier soldado que acceda a su interior. Es un buen muy preciado para ganar fondos y poder llamar a más unidades.
Para qué sirven los bunkers conquistados?
* para incrementar los fondos
* para molestarte en tu vuelo. Los globos impiden tu paso.
Estas unidades tienen un coste. Para poder adquirir los 4 tipos de armamento usando las teclas asignadas, debes usar las siguientes teclas:
* tecla J - JEEP (cuesta 4 y tiene dos unidades de energía)
* tecla S - SOLDADO (cuesta 4 y tiene dos unidades de energía)
* tecla T - TANQUE (cuesta 8 y tiene 4 unidades de energía)
* tecla B - Compras un disparo de helicóptero reduciendo los funds (fondos)
El enemigo efectuará también llamada de tropas, incluidos los jeeps, que intentarán alcanzar nuestra base para ganar la partida hackeando el sistema.
Los tanques disparan aleatoriamente. Cuantos más tengas más posibilidades de destruir cada enemigo interceptado y dejar que nuestro jeep alcanzar la base enemiga. Un tanque que dispara sobre un bunker repetidamente conseguirá mandar a por cervezas al okupa enemigo lo que nos permitirá introducir a uno de nuestros soldados.
Los tanques no son demasiado listos y dispararán aleatoriamente aunque solo dañarán a tropas enemigas.
Combustible:
* Se irá reduciendo mientras el helicóptero permanezca en el aire. Si está posado en el suelo se ahorra combustible.
* Para llenar el tanque de combustible apoyarse en la base. Te están esperando los ingenieros para hacer la puesta a punto y llenar el depósito y aprovecharán la ocasión para reparar todos los desperfectos.
Escaner:
* En tiempo real, aparece un punto por cada objeto del escenario.
NOTAS TÉCNICAS:
* Agradecimientos al equipo de Z88DK librería SP1:
- no hace falta gestionar "rastros" ni borrar frames anteriores. Sigue la técnica parecida a spritebatch donde antes de enviar un SP1_UPDATE tú le indicas los cambios que va a haber (sp1_rect) en cuanto a sprites para que el motor solo modifique los bytes de pantalla necesarios.
* Aunque SP1 no esté pensando para scroll (y no lo asonsejan en los docs), realizo yo aquí un rebelde intento simulandolo con el repetido movimiento de sprites sobre la pantalla en un amplio escenario horizontal.
* Hay un máximo de objetos en memoria. Llegado a ese valor, ni el equipo bueno ni el malo podrán sacar unidades.
* Cuando hay problemas de memoria hay objetos que no se pintan bien (corruptos) o se pintan cuando se libera memoria. lo siento. no he podido optimizarlo mejor.
* Los updates en scaner se realizan cada cierto numero de ciclos para no ralentizar demasiado.
* Para ahorrar memoria tengo una función que pinta el texto directamente en memoria de pantalla. printf y stdio me consumía bytes.
* En esta versión no hay misiles ni bombas, debido a la falta de memoria.
* finalmente, pude añadir sonidos básicos
SENSACIONES:
* Me ha salido un juego gráfica y sonoramente simple pero que sigue bastantes normas del juego original.
* Género: Acción, Estrategia/tacticas
Agradecimientos:
* Z88DK
* Paco Vespa
* Siyei Er
* Azimov
* Sergio thEpOpE