-------------------- Ninja Gaiden (USA) Upgrade A https://github.com/magusRE -------------------- This hack is primarly designed for Speedrunners and Players who enjoy replaying the Original Ninja Gaiden regularly but want more variety in Gameplay. The hack features few tweaks to the Core Gameplay, new Jump mechanics as for example seen in (The Messenger), a Weapon/Technique switching mechanic with ability to Recharge, a Level Up System, additional HUD information and few minor graphical changes and missing sprite fixes and redrawn sprites. It comes in different Versions specifically adjusted for each category of Players. If you play on a Emulator, its highly recommended to remap the 'Select' button to L/R for the best experience as this hack relies heavily on Weapon/Technique switching and is using the 'Select' button to Recharge. -------------------- General changes: -------------------- + Added a Total Timer based on the in-game clock for accurate Speedruns without a millisecond reset in between the Stages or losing a life, only counts when the game is playable and stops when a Boss lost his last HP. Timer is inactive when watching a Cutscene. + Added a Damage Counter to keep track of how often the player has received damage, goes up to 99 Hits. + Added a Usage Counter for how many seconds are left when using 'Time Freeze' or 'Invincible Fire Wheels'. + Added a Statistic Counter with a new method of Scoring, for details scrolls down to 'New Scoring System' + Increased 'Invincible Fire Wheels' start time from 9 to 10, 'Time Freeze' from 5 to 10. Both require Lv.3 and at least 3 kills for a Recharge and have 6 seconds Recharge limit. + 'Invincible Fire Wheels' starting milliseconds changed from 96 (60) to 60 (3C) to be same as the following seconds. + 'Time Freeze' and 'Restoring Physical Strength' redrawn to look similar to the other pick ups. + Score Bags redrawn and reworked to function as EXP packs for the Leveling System. + HUD redrawn and redesigned. Title Screen and In-game Font replaced with the Font used in 'Zen - Intergalactic Ninja' and added a shadow effect to it. Cutscene Font replaced with the Font from 'Kirby's Adventure'. + Ryu's color in-game and Cutscenes is now Blue for the entire Game, just like PC Engine Version of NG1, NG2 NES, NG3 NES. + Fixed the missing Sprites on the Statues. The SNES port is also missing the same Sprites on the Statues but it was fixed in the PC Engine release. + Reduced the playfield on the top of the screen to prevent Players from dying by going off-screen or softlocking the game in some areas. + Keep the current Weapon/Technique after beating a Boss. + Removed the slow movement when changing direction mid-air. + Removed Mid-air sword glitch when pressing down. + Changed the respawn when dying in Stage 6-4 and 6-5 to 6-3 instead of 6-1. Optional changes: + Added a 'Next' EXP Counter, this will replace the Statistic Display in the HUD. + Added a optional Sword Tweak (alters Slash Jump) to fix the Sword mid-air when multi-jumping. Thanks Lonkelle for reporting. + Added a optional patch to restore the Title Screen and removing the authors GitHub address. This will be the final update/patch for this hack as i will not work on it any longer. -------------------- Level Up System: -------------------- Lv.0 Gameplay similar to the Original Ninja Gaiden but with 'Upgrade' tweaks. + Removed the slow movement speed when changing direction mid-air. + No pushback on taking damage if Ryu has 20 or more 'Spiritual Strength'. Lv.1 Armory Upgrade + Dual Slot allows to carry 2 Weapons/Techniques and switch between them by pressing 'Select' button. + 'Time Freeze' and 'Invincible Fire Wheels' can be turned on/off and the usage-time is stored separately. + Picking up a Weapon/Technique will be placed into a empty Slot without using it instantly or else it will replay the Primary Slot, useful for 'Time Freeze' and 'Invincible Fire Wheels'. Changing Slots with 'Time Freeze' or 'Invincible Fire Wheels' to Secondary Slot will decrease the timer by 1 second each time to prevent it from being overpowered. Lv.2 Movement Upgrade + Double-Jump is always enabled and can be performed from anywhere. + Multi-Jump works similar to the jumping in (The Messenger), each kill or destroying a object adds one more jump. + Wall-Jump increases the movement speed when jumping from walls, can be chained together with Double Jump and Mutli-Jump. Lv.3 Spiritual Upgrade: + Recharge allows to get more usage-time out of 'Time Freeze' and 'Invincible Fire Wheels' by pressing 'Select' when the usage-timer is at 1 second left. Ryu will recharge the usage-time based on how many enemies have been killed previously with each method. It requires at least 3 kills with 'Time Freeze' or 'Invincible Fire Wheels' to perform a recharge cycle. Recharge counter can be stacked up across multiple pick ups and Recharge up to 6 seconds for each method. + Refresh converts all collected Experience Points into Spiritual Strength each time another 100 EXP has been gained, it keeps refilling until the collected Experience Points are zero. It can be performed unlimited times as long there is enough EXP to collect. Ryu will lose all currently collected EXP on losing a Life. Experience Requirement: Level 1: 25 Points (50 on Master) Level 2: 75 Points (50 on Easy) Level 3: 100 Points Experience System: Blue EXP pack: 5 Red EXP pack: 10 TASBot Version starts at Lv.3 (Max). -------------------- New Scoring System: -------------------- Destroying a item: 1 Point Collecting a EXP pack: 1 Point Collecting Spiritual Strength: 1 Point Taking damage: -1 Point One-Time Bonus: 10 Points for each Boss, resets for the specific Stage on dying. Max Score per Level (without taking damage and Bonus Score) S1: 30 (1E) 40 S2: 75 (4B) 125 S3: 45 (2D) 180 S4: 83 (53) 273 S5: 94 (5E) 377 S6: 114 (72) 441 +1xX Starter Score for a fresh start (reset the game), the number of Starter Score depends on the Difficulty, Easy gives less than Master. +7x10 Bonus Score for the next Stage/Boss after beating a Boss. Starter Points: Easy: 09 (09) (520 Max Score) Normal: 29 (1D) (540 Max Score) Hard: 49 (31) (560 Max Score) Master: 69 (45) (580 max Score) TASBot: 89 (59) (600 Max Score) The Starter Point Value in (0xD7) can also be used to identify what Version is being played. 520 is the Max possible Score on Easy (600 Max on TASBot) if you do a perfect no-damage run and destroy all items and collect all EXP packs and Spiritual Strengths. Collecting all Weapons isn't included to allow more variety in Gameplay. There are 2 items which sometimes don't spawn, first in Stage 4-2 (bottom part near the bridge) and second in Stage 5-2 (right after the 'Invincible Fire-Wheel'), to fix this just walk a bit to the left/right and it should spawn, don't change the screen by going up/down. For Achievements and Leaderboards, you can prevent farming by blocking (0x6F), its always 00 and changes to 80 when the Player goes one screen back, has no affect on going back on dying. TASBot is the only Version with Anti Score Farming Protection. When the Player goes one screen back, it will remove all Score earned in the current Stage. All other Versions should handle the Farming Protection either per External Code or ignore it entirely, its up to each Person how he wants to handle it. -------------------- Spiritual Strength changes: -------------------- 'Throwing Star' from 3 to 2 'Windmill Throwingstar' from 5 to 4 'The Art of the Fire Wheels' 5 to 6 'Jump & Slash Technique' from 5 to 8 -------------------- Version differences: -------------------- --------Easy-------- Start with 03 Lives Start with 14 HP Next Stage 14 HP Heal restores 08 HP Max 14 HP Bosses 1 08 HP 2 08 HP (his Weapon 4 Hits) 3 08 HP 4 08 HP (for each Kelbeross) 5 10 HP (Lightning 1 Hits) 6 08 HP Stone 7 10 HP Jaquio 8 08 HP Head (falls down on 7th hit, 1 hits left to destroy) 8 06 HP Tail 8 10 HP Heart -------Normal------- Start with 03 Lives Start with 10 HP Next Stage 10 HP Heal restores 06 HP Max 14 HP Bosses 1 10 HP 2 10 HP (his Weapon 8 Hits) 3 10 HP 4 08 HP (for each Kelbeross) 5 12 HP (Lightning 6 Hits) 6 10 HP Stone 7 12 HP Jaquio 8 10 HP Head (falls down on 8th hit, 2 hits left to destroy) 8 10 HP Tail 8 12 HP Heart --------Hard-------- Start with 03 Lives Start with 08 HP Next Stage (same as previous Stage) Heal restores 06 HP Max 12 HP - Health stays same after beating a Stage or Boss Bosses 1 12 HP 2 12 HP (his Weapon 16 Hits) 3 14 HP 4 12 HP (for each Kelbeross) 5 14 HP (Lightning 16 Hits) 6 12 HP Stone 7 14 HP Jaquio 8 12 HP Head (falls down on 8th hit, 4 hits left to destroy) 8 10 HP Tail 8 16 HP Heart -------Master------- Start with 02 Lives Start with 06 HP Next Stage (same as previous Stage) Heal restores 04 HP Max 10 HP - Health stays same after beating a Stage or Boss Bosses 1 16 HP 2 20 HP (his Weapon 64 Hits) 3 24 HP 4 20 HP (for each Kelbeross) 5 32 HP (Lightning 64 Hits) 6 24 HP Stone 7 32 HP Jaquio 8 24 HP Head (falls down on 16th hit, 8 hits left to destroy) 8 20 HP Tail 8 32 HP Heart -------TASBot------- Start with 01 Life Start with 02 HP Next Stage (same as previous Stage) Heal restores 02 HP Max 06 HP - Health stays same after beating a Stage or Boss - only 01 Life Bosses - Same as Master TASBot Version starts at Lv.3 (Max). TASBot is the only Version with Anti Score Farming Protection. When the Player goes one screen back, it will remove all Score earned in the current Stage. -------------------- Achievements: -------------------- Page: https://retroachievements.org/game/28203 Guide: https://retroachievements.org/viewtopic.php?t=24986 Thanks to WilHiteWarrior for creating the Achievements and Leaderboards. -------------------- New Memory addresses: -------------------- 0x23 = How often damage taken 0x24 = How many Jumps can be done 0x25 = Movement Speed 0x26 = Total Timer (16-bit) 0x60 = Score Points (16-bit) 0xAA = Number of deaths 0xB0 = Number of 'Time Freeze' collected. 0xB1 = Number of 'Invincible Fire Wheels' collected. 0xB2 = Number of 'Time Freeze' Recharges performed (include the below Lv.3 attempts) 0xB3 = Number of 'Invincible Fire Wheels' Recharges performed (include the below Lv.3 attempts) 0xD1 = Ryu's Level (0,1,2,3) 0xD2 = Experience Points (100 limit) 0xD3 = Refresh active 0xD5 = Number of kills 0xD6 = Number of kills with a empty Primary Slot 0xD7 = Number of Score for Level End (Items destroyed, EXP and Spirits collected, minus how often damage was taken) 0xD9 = Secondary Weapon Slot 0xDA = Secondary Weapon Slot (Temporary) 0xDB = 'Time Freeze' time left in Secondary Slot 0xDC = 'Time Freeze' kill Counter (9 limit, same as pick up time-usage) 0xDD = 'Invincible Fire Wheels' Time left in Secondary Slot 0xDE = 'Invincible Fire Wheels' kill Counter 0xDF = Active when both Weapon Slots are not equal 0xEB = Number of Experience converted to Spiritual Strength 0xEC = Experience Points for Refresh 0xEE = Experience Packs collected in Total 0xEF = Number of Level Ups in Total (include Refresh) -------------------- Required ROM: -------------------- File SHA1 CA513F841D75EFEB33BB8099FB02BEEB39F6BB9C ROM SHA1 15F245161179AB1959B7DC20E82ADD024D23AA3D File MD5 0C2CCCDA6BA6CAB7BEDE0FF05E7F6852 ROM MD5 07C1B92AE9B78F209075A8CC6D3EEBF0 File CRC32 11F953F6 ROM CRC32 7C4A72D8 -------------------- Software used to create this hack: -------------------- FCEUX HxD Tile Layer Pro -------------------- Thanks and Credits: -------------------- www.romhacking.net Lonkelle (RHDN) WilHiteWarrior (RA) Luissi (RA) All the reviewers on RHDN