METROID X v2.0
www.EikSoft.com

SOURCE CODE INCLUDED
8.25.24 Project Start
1.30.26 Last Modified

For J.B. - In loving memory of Celeste <3

V2.0
* Survival mode is now the default mode
* Added the ability to play as two different colors of suitless Samus
* Title screen idle mode changed to 15 secs from 30
* Smoothed out classic mode intro text fade in
* Fixed a critical bug where the door may not open if a boss and a player
  die at the exact same time in two player
* Fixed a bug where zebs could still spawn while you were standing on their pipe
  if screen was split in two player
* Added a way to auto kill the player by holding UP + SELECT
  when paused in case they want to retry instead of quit
* When in 2 player mode, now only one player needs to make it to the 
  teleporter to escape after killing Mother Brain
* Toad acid spit now splashes on tile collide
* Modified Geruta X sprite to make it more compact
* Smoothed out door transition between rooms
* Fixed a bug where Kraid/Ridley wouldn't target player 2 if player 1 died
* Made player to item/enemy drop collision more accurate
* Classic mode zone clear screen now shows Samus in varia suit if acquired
* Made enemy to player targeting and knockback more accurate
* Improved hopper/dessgeega upside down behavior
* Tweaked random color palette to avoid clashing colors
* Fixed dead player respawn position if level is flipped
* Fixed bug where low health alert wouldn't stop playing immediately on 
  regaining health or pausing
* Fixed an enemy knockback bug that could force Samus to clip through a tile
* Added random rain, lightning, and fog weather effects to survival mode
* Randomized level, tile, and enemy sets added to survival mode for endless combinations
* Survival mode adds beam stacking ability, all beam upgrades can stack
* 20 different mini boss types added to survival mode
* Animated lava added to survival mode
* Added heatwave distortion effect to survival mode for norfair levels
* Survival mode ice beam does half damage but can be toggled
* Charge/hyper beam graphics improved
* Bombs now only affect the player who set them
* Added small delay between missiles to stop spamming
* Added the ability to choose your path during survival mode
* Added weather effects to idle mode
* Added title screen star field
* 8 new music tracks added to survival mode
* Added alternate music only secret code for survival mode at title screen
  UDLRUDLR
* Added hard mode secret code to survival mode (all EX enemies)
  LRLRUUDD
* Added shuffle all items secret code to survival mode (No high scores)
  RLRLDDUU

* Added EX versions of the following enemies in survival mode
  Zoomer
  Toad
  Rio
  Waver X
  Zeega
  Sidehopper
  Nova
  Squeept
  Geruta
  Geruta X
  Dragon
  Multiviola
  Multiviola X
  Viola
  Multiviola X2
  Dessgeega X
  Holtz

* New items added in survival mode
  Beam upgrade
  Missile upgrade
  Bomb upgrade
  Suit upgrade
  Mega health (grants 99 health and 25 missiles)

* New powerups added in survival mode
  Spring Ball
  Charge Beam
  X Bombs
  Magnet Orb
  Super Missiles
  Power Bombs
  Spazer Beam
  Ice Missiles
  Space Jump

V1.1 Bug fixes
- Idle mode added after 30 seconds at title screeen, showing random levels
- Fixed six beam shots not being allowed on screen at once in 2 player
- Fixed scrolling issue after spawning from teleporter in 2 player
- Increased flying pipe enemy spawn delay if player is hit

----------------------------------------------------------------

[GAME DESCRIPTION]
X parasites have made their way to the planet Zebeth, infecting enemies
and turning them into mutated versions of their former selves. Thankfully
Samus' suit can absorb these parasites and use them to her advantage. Each
parasite collected grants a charge to Samus' X beam, gather three charges
to open locked doors and proceed to the next area. But take too long in
your mission and the dreaded Metroid X will appear, chasing you relentlessly
and ensuring that Zebes will be your final resting place...

Metroid X takes the classic NES game and streamlines it into an arcade style
experience, designed to be enjoyed in short bursts. Play alone or together
in the brand new split screen co-op mode! Also enjoy brand new Boss Rush and
Assist modes in single or two player as well. Compete to make the online top
100 high score list!

----------------------------------------------------------------

[FEATURES]
- Classic mode with 68 levels that take you from Brinstar to Tourian
- Hidden energy and missile tanks along the way that spur exploration
- Collect powerups to enhance your suit to take on ever stronger enemies
- Rare green X parasites grant HYPER MODE, giving invincibility for a short time
- Major score bonuses are given for speed running and for skipping powerups
- All enemy AI based on superior Famicom version
- Randomized tile colors, level arrangements, and enemy placement
- Boss Rush Mode - 1 or 2 players rush to defeat Kraid, Ridley, or Motherbrain
- Assist Mode - Player 2 takes on the role of a baby Metroid to aid Samus in her quest
- Choose from six different suit colors for either player
- Classic retro tracker based musical score
- Supports keyboard, wired, and wireless gamepads
- No two play throughs are ever the same!
- Includes full source code

----------------------------------------------------------------

[GAME MODES]
CLASSIC - Venture through 68 levels of classic Metroid action to obtain a high score, 1 or 2 player co-op
BOSS RUSH - Face off against Kraid, Ridley, or Mother Brain to get the best score, 1 or 2 player co-op
ASSIST - A twist on classic mode, player 2 controls a baby Metroid to help Samus along the way, 2 player only (no high scores)
SURVIVAL - Future release
DEATHMATCH - Future release

----------------------------------------------------------------

[CONTROLS]
Supports keyboard, wired and wireless gamepads

Player 1 defaults shown (Use InputConfig.exe to change controls)
Left Arrow - Move left
Right Arrow - Move right
Up Arrow - Aim up / Navigate menus
Down Arrow - Morph ball (once item obtained) / Navigate menus
Z - B button - Shoot beam (hold to charge X beam / navigate menus)
X - A Button - Jump (Previous screen on menus, backspace on high score name entry)
Enter - Start Button - Navigate menus, pause game
[ - Select Button - Toggle missiles (hold when paused to return to main menu)

F1 - Take PNG snapshot (/snaps/ folder)
F2 - Show debug information

----------------------------------------------------------------

[OPTIONS]
Sound - Controls sfx volume
Music - Controls music volume
GFX - Toggle between OpenGL and Direct3D9 rendering modes (requires restart)
Colors - Toggle between randomized tile colors or original
P1 - Select player 1's suit color
P2 - Select player 2's suit color
Window/Full - Windowed or fullscreen (requires restart)
Input - Launch inputconfig.exe (windowed mode only, requires restart)
Update - Check if a program update is available

----------------------------------------------------------------

[FILE/FOLDER DESCRIPTION]
metx.exe - Main program
Keeper.exe - Online high score keeper (whitelist/allow firewall access)
InputConfig.exe - Configures keyboard/joystick input for both players
metx.bmx - BlitzMax source code file
Input.cfg - Input configuration file (created by InputConfig.exe)
metx.cfg - Game options file
Renci.SshNet.dll - Used by Keeper.exe, uploads online high scores via SFTP

/x86/ - 32bit program EXEs (64bit by default)
/snaps/ - PNG snapshots
/gfx/ - Graphics
/ogg/ - Music
/sfx/ - Sound effects
/maps/ - Map files

----------------------------------------------------------------

SECRET CODE (Enter at title screen)
RUDLDUDL - On titlescreen for JB mode! (invulnerable/no high scores)
UDLRUDLR - Alternate music only for survival mode
LRLRUUDD - Hard mode for survival mode (all EX enemies)
RLRLDDUU - Shuffle all items in survival mode (No high scores)
  
----------------------------------------------------------------

CREDITS
Special thanks to these musicians for the soundtrack
Go check out their music and subscribe to their channels!

Loeder Music
https://www.youtube.com/@LoederMusic/

MiniMacro Sound
https://www.youtube.com/@MiniMacroSound

TrojanHorse711
https://www.youtube.com/@Trojan711

IsabelleChiming
https://www.youtube.com/@IsabelleChiming