 _______  _______ _________ _______  _______             _______  _______  _______ 
(       )(  ____ \\__   __/(  ____ )(  ___  )  |\     /|(  ___  )(  ____ )(  ____ \
| () () || (    \/   ) (   | (    )|| (   ) |  | )   ( || (   ) || (    )|| (    \/
| || || || (__       | |   | (____)|| |   | |  | | _ | || (___) || (____)|| (_____ 
| |(_)| ||  __)      | |   |     __)| |   | |  | |( )| ||  ___  ||     __)(_____  )
| |   | || (         | |   | (\ (   | |   | |  | || || || (   ) || (\ (         ) |
| )   ( || (____/\   | |   | ) \ \__| (___) |  | () () || )   ( || ) \ \__/\____) |
|/     \|(_______/   )_(   |/   \__/(_______)  (_______)|/     \||/   \__/\_______)
                                                                                   
                         Metro Wars v1.2 MSX2 game by @nanochess
                          (c) Copyright 2026 Oscar Toledo G.
                                https://nanochess.org

Enjoy this fast-action game on your MSX2! 1 megabit of excitement!

You are on your vacations at Mexico City. It should be a quiet day full of delicious
food, and some cocktails. But somehow a powerful alien entity has decided that their
invasion starts exactly in Mexico City. Unfortunately (for they) your credit card is
over-limit for these vacations, you are unwilling to quit your vacations, and you
are a trained commando soldier with a specialty in alien invasions...

You are close to the subway terminal station, or more known as "Metro" in Mexico, so
your first instinct is to hijack a microbus and pull out your laser guns. These big
head aliens are going to have a big bad day!

Technical notes:

This is a 128K ROM game for MSX2 computers. It can run with the BlueMSX or OpenMSX
emulators, be sure to select the ASCII16 mapper.

It will use MSX-Music if detected, and the letters FM will appear in the title
screen.

Controls:

Use the keyboard arrows to move the player, press Space for fire, and M for jumping.

Alternatively, you can use a joystick in port 1.

Title screen:

Press the Fire button to start the game.

Press F5 to switch between PSG and FM music if available.

Inside the game:

Move using the joystick directions or arrow keys. Pressing the fire button alone will shoot in your current direction, however, put direction to your shoots moving the joystick in the firing direction before pressing fire.

Press F1 to pause the game.

Shoot all the big bad aliens. If you find a doctor, you'll recover your energy.

Alien buddy - 100 points.
Alien rocket - 200 points.
Aiien insect - 150 points.
Zombie - 100 points.
Tall alien - 120 points.
Alien thing - 250 points.

Completing a stage gives you a bonus score and restores your energy:

Stage 1 - 10000 points.
Stage 2 - 10000 points.
Stage 3 - 10000 points.
Stage 4 - 20000 points.
Stage 5 - 25000 points.

Revisions:

v1.2 Allows to jump while shooting. More animation frames for the player. Solved bug with animation when dying.
v1.1 Adds FM music, continue with the F5 key, and a doctor to recover your energy. Improved stage 1 look. Also solves several tiny bugs.
v1.0 First release for the contest.

Credits:

A game by Oscar Toledo G. @nanochess

Music by Adan Toledo G. @nyuundere

Thanks to Takamichi for comments and testing.

Special thanks to the legend Toshiaki Sakoda for making sure the Japanese subtitle is correct.

Graphics:

> Title screen, stage backgrounds, microbus, subway, and laser by @nanochess
> Stone Tomb font by Chad Savage.
  http://www.sinisterfonts.com/ 
  https://www.dafont.com/es/stone-tomb.font

For this game I bought several sprites and art from itch.io, and I've adapted them to the sizes required by the game (any blatant non-artistic modification is my fault!)

I'm glad to give credit to the following artists:

> Secret agent face, doctor, sprites, and big head alien by GandalfHardcore. 
> Flying alien, alien, thing, and zombie by Momonga. 
> Garbage boss, shadow boss, and red knight boss by GreatGamingLife.
> Boss bullets, explosions, and alien fire by BDragon1727.

Developed with CVBasic v0.9.1. https://github.com/nanochess/CVBasic
