## The Menace from Triton (MSX) by Santiago Ontañón Villar Download latest compiled ROMs (v1.0.1) from: https://github.com/santiontanon/triton/releases/tag/v1.0.2 You will need an MSX emulator to play the game on a PC, for example OpenMSX: http://openmsx.org Or you can **play directly on your browser** thanks to Arnaud De Klerk (TFH)!: https://www.file-hunter.com/MSXdev/index.php?id=themenacefromtriton ## Introduction The Menace from Triton is an MSX1 game, in a 48KB ROM cartridge format, built to participate in the MSXDev'20 competition ( https://www.msxdev.org ). The dificulty is tuned for 60Hz machines. If you play in a 50Hz machine, consider as if you are playing an "easy" mode of the game :) The Menace from Triton is a horizontal shooting game inspired in some of my favorite MSX classic shooters like Salamander or the Nemesis saga, but with elements of a few modern shooter games that I really like (in particular Steredenn and Z-Exemplar, which I recommend you trying!). The game combines arcade-style horizontal shooter action with the resource managing/shop mechanics of Z-Exemplar, and the procedural generation of Steredenn. The first levels start out quite easy, but the game gets harder and harder towards the end. So, make sure you upgrade your ship as much as possible, or it will be impossible to defeat Triton! ## Instructions Screenshots (of version 1.0): title in game 1 in game 2 You can see a video of the game at: https://www.youtube.com/watch?v=0iCriF_JaeU ### Story Year 9918. Humanity had spread across the galaxy, colonizing planet after planet. It was a new golden age! Until something went wrong... Scout ship ARGO-1 was on a routine scouting mission near Aigai Nebula, on the edge of human-colonized space. They were not expecting to find anything, however, they came into contact with an unknown object which was reported to look like a "giant head". All communication attempts failed. Shortly after, communication with ARGO-1 was lost. After the mysterious disappearance, however, the nature of the unknown object quickly became clear. Ithaki Base, the closest military base to the ARGO-1 received an ominous transmission that changed the prospects of space colonization: "Humans!!! We have been watching you... You have gone too far! No one but the Triton Empire will rule the galaxy! You will be annihilated!" Humanity was at war! An offensive against the evil Triton Empire was planned around Ithaki Base before it was too late. Here is where you come into the picture! You will take command of one of the fighter ships sent to counter the Triton Empire, good luck! Humanity's future is in your hands! ### Game Goal The ultimate goal is to reach the Triton home world and defeat Triton himself! In order to do this, you will have to conquer planet after planet, getting closer and closer to Triton. However, before that, you will have to find a way to cross Aigai Nebula! ### The Mission Screen Controls: - Use the arrow keys or your joystick to move the pointer - Press space or "trigger A" to select a planet to attack - The "upgrade" button below will take you to the upgrades screen, where you can use credits earned during your missions to upgrade your ships. - If you want to abandon the game, press "quit" mission screen ### The Upgrade Screen Controls: - Use the arrow keys or your joystick to move the pointer, and navigate up and down the upgrades - Use space or "trigger A" to select/equip upgrades - You can also press ESC, M or "trigger B" to bring the pointer directly to the "back" button. Notes: - The left-hand side of the screen shows the currently equipped upgrades. Notice that there are 8 rows, corresponding to the 8 positions of the power-up bar displayed in-game. - Make sure you *equip* your upgrades after buying them. Only equipped upgrades can be used in-game! mission screen List of upgrades: - *Speed up*: increases the maximum amount of times you can upgrade your ship speed. By default you can upgrade it 3 times. Buy this upgrade to upgrade that to 5 or 7 times. - *Initial speed*: increases the initial speed of the ship (one speed-up per upgrade). - *Transfer*: if you select this option in-game, it generates 1 credit (that can be used to buy upgrades later). You can by an upgrade to generate 2 credits per transfer. Cannot be unequipped. - *Bullet*: the default weapon. You cannot unequip it. The base power has a very low fire cadence. The first upgrade significantly ups the cadence, and the second upgrade doubles the damage of bullets. The "special" of all bullet weapons is a "machine gun" that fires at a very high cadence. - *Twin bullet*: fires forward and backwards. Upgrades increase cadence and then power. - *Triple bullet*: multiple forward shots. The first upgrade gives you 2 bullets, second upgrade, 3, and third upgrade increases damage. - *Shield*: protects you against 3 units of damage. Buy a second upgrade to protect 5 units of damage. - *Light torpedoes*: forward shooting torpedoes with higher cadence, but low damage. Upgrades increase cadence and damage. - *Heavy torpedoes*: forward shooting torpedoes with lower cadence, but higher damage. Upgrades increase cadence and damage. - *Up/down missiles*: missiles that are shot upwards/downwards. Upgrades increase cadence and damage. - *Bidirectional missiles*: are fired in the direction of your movement (upward/downward). Upgrades increase cadence and damage. - *Laser*: fires a laser bullet that goes through most enemies. Upgrades increase cadence and damage. The *special* is a continuous beam that heavily damages enemies. - *Twister Laser*: Double damage than regular laser. - *Flame*: Double damage than the twister laser, but lower range. Upgrades increase range, cadence and damage. This is the most powerful weapon in the game, but it is also the most dangerous, as you will have to get closer to enemies. - *Bullet Option*: "options" that fly in close formation to you firing bullets forward. You can have up to 2 options in-game. Upgrades increase cadence and damage. - *Missile Option*: "options" that fire missiles (the upward option fires missiles upwards, and the downward options fires missiles downwards). - *Directional Option*: "options" that fire bullets in the direction in which you are moving (forward/backward/upward/downward and diagonally) - *Skip Level*: when selecting a weapon in-game, you will get it at power level 1, and you will have to select it multiple times to power it up to its maximum upgrade level. By buying this upgrade you can skip this, and get to a higher power level directly. This is an important upgrade in later stages of the game, as it lets you reach higher power with less power pellets. Only the primary weapon is affected. - *Init Weapon*: usually when a mission starts, your ship starts with the "bullet" weapon. If you buy this upgrade, the highest equipped weapon will be used as the start weapon instead. This is also an important upgrade in later stages of the game, as it will let you start with a powerful weapon from the beginning of the level. - *Pilots*: increases the number of pilots (lives) you have per mission. You have 3 pilots at the beginning of the game, and this can be upgraded to 4 and 5 pilots. ### In-Game Screen Controls: - Use the arrow keys or your joystick to move the ship - Quickly press space or "trigger A" to fire - Hold space or "trigger A" to activate the weapon special (if the energy bar at the bottom-right of the screen) is maxed out. - If you hold space/"trigger A", in addition to activate the special, the speed of your ship is halved, which is useful for careful maneuvers. - Press M or "trigger B" to select a power-up from the power-up bar at the bottom of the screen. - Press F1 to pause the game (you can then press Q to abort the mission). Notice that aborting the mission will not quit the game, just the current mission, and will bring you back to the mission screen. Hints: - Make sure to upgrade your speed quickly, otherwise your ship moves too slowly. - Initial fire cadence is very low. So, make sure to buy upgrades to improve it. - Use the weapon specials carefully, the energy bar recharges itself over time. But it recharges slower if your weapons are not upgraded. - Some enemies will drop power pellets. But remember that power pellets are fragile! If you kill an enemy too close to a wall, the power pellet that would have been dropped will disintegrate. ## Acknowledgments - Thanks a lot to people who gave me feedback on earlier versions of the game, which I could use to fix bugs and improve the overall game play: NatyPC, Alejandro Gil Cal, Jose Luis Lerma, Pablibiris, Jandro, Andrés de Pedro ## Compatibility The game was designed to be played on MSX1 computers with at least 16KB of RAM. I used OpenMSX v0.15 to make sure the game is compatible with lots of MSX models, but if you detect an incompatibility, please let me know! ## Notes: Some notes and useful links I used when coding XRacing * There is a "build" script in the home folder. Use it to re-build the game from sources. There is a collection of data files that are generated via a collection of Java scripts. Those are found in the "java" folder. You can re-generate all the data files by running the "Main.java" class (some of them take quite some time to run, so be patient! Also, you will need oapack compiled for your operative system (not included) inside of the java folder as well) * I used my own MDL Z80 code optimizer to help me save a few bytes/cycles here and there: https://github.com/santiontanon/mdlz80optimizer * Math routines: http://z80-heaven.wikidot.com/math * PSG (sound) registers: http://www.angelfire.com/art2/unicorndreams/msx/RR-PSG.html * Z80 tutorial: http://sgate.emt.bme.hu/patai/publications/z80guide/part1.html * Z80 user manual: http://www.zilog.com/appnotes_download.php?FromPage=DirectLink&dn=UM0080&ft=User%20Manual&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2T0RBdlZVMHdNRGd3TG5Ca1pnPT0= * MSX system variables: http://map.grauw.nl/resources/msxsystemvars.php * MSX bios calls: * http://map.grauw.nl/resources/msxbios.php * https://sourceforge.net/p/cbios/cbios/ci/master/tree/ * VDP reference: http://bifi.msxnet.org/msxnet/tech/tms9918a.txt * VDP manual: http://map.grauw.nl/resources/video/texasinstruments_tms9918.pdf * The game was compiled with Grauw's Glass compiler (cannot thank him enough for creating it): https://bitbucket.org/grauw/glass * In order to compress data I used two compressors (it turned out that I saved space by having two of them, as some data gets more compression with one than with the other, and the best combinatino was to have them both!): * Pletter v0.5b - XL2S Entertainment 2008 (there is a Java port of the Pletter compressor in the Java JAR file in the repository). * Oapack: https://gitlab.com/eugene77/oapack