News:

11 March 2016 - Forum Rules

Main Menu

Zelda 1 Redux / The Legend of Zelda Redux

Started by ShadowOne333, October 10, 2019, 12:04:03 PM

Previous topic - Next topic

ShadowOne333

Continuing over with improvement hacks I've done, I decided to tackle Zelda 1 as a possible project for a Redux project.
"But Shadow, what about Zelda 2?! That one's not done yet and you are already making another?"
Yeah, don't worry :P Zelda 2 Redux is still going on, and it will get released eventually :)

But to focus on Zelda 1 Redux:
The Legend of Zelda Redux - Source code:
https://github.com/ShadowOne333/The-Legend-of-Zelda-Redux

Release page:
https://www.romhacking.net/hacks/5752/


If you simply want to grab the patches (including the optional ones) and try them out right away without bothering with the source code, you can get them here:

The base ROM for this hack is the PRG0 version of Zelda 1.
Now, let's go over the features that Zelda 1 Redux has.




Changelog:

  • Save manually with Up+A when in the Items Subscreen
  • Reworked heart HUD to match Zelda 2 Redux
  • Copy/Erase Save Feature: Now Zelda 1 has a newly implemented feature, similar to subsequent releases of the franchise, where you can Copy and/or Erase a save file to another Save Slot (Thanks to minucce!)
  • The amount of hearts you last had if the game was saved manually is now saved. So when you load, you start with the same amount of life the user had when the save was done. If the number of hearts when the game was saved was 3, or lower than 3, the game will start Link with 3 hearts instead (like in subsequent Zeldas)
  • Relocalization of the  game's script to better match the Japanese release, or have better hints altogether. Based on the Legends of Localization book/webpage (Except the two iconic "Take this" and "It's a secret" lines)
  • Make the Blue tunic more vibrant
  • Stop the HUD from disappearing when entering or leaving caves during overworld map
  • Proper player sprite position when leaving overworld from caves
  • Reduces random wait times when entering caves
  • Fix Y-scroll timing glitch when changing screens
  • Fix Q1-D1 door opening on its own if you enter-leave the dungeon
  • Fix alignment of the sword beam in multiple directions
  • Increment the initial bomb max. amount to 10 instead of 8
  • Increment the bomb upgrades by 10 instead of the original 4. First upgrade should give you 20 bombs, second will be 30.
  • Faster text printing
  • Modify the Sword beam to only be active when at full health/heart, and stop shooting when the life gets to 3/4 of a heart
  • Modify certain item names to better match subsequent official names in the franchise (Rupee, Fairy, Heart Container, etc.)
  • Change the Red and Blue rings to Red and Blue tunics
  • Introduction text rewrite
  • Reimplementation of the warning screen from version PRG1 upon Game Over / Saving
  • Slight modifications to the title screen to give the "ZELDA" title a red colour (modified fading palettes to match this change too)
  • Possibly also add a breakable tile hint for overworld tiles
  • Automap Plus, but modify it to have 1/4 heart decrements instead of 1/8 (this is needed in order to make space in sprite PPU for the next point (#3)
  • Visible hint for breakable walls in Dungeons (already implemented, just need sprite space for the left walls)
  • Remove the 1 Rupee flashing, and make it green if possible
  • Press the Select button to toggle the item selected for the B Button (to avoid pausing the game to select an item everytime)
  • Change the duplicate bosses in Level 4 and 7 (Gleeok and Aquamentus) to Lanmola and Patra respectively.
  • Be able to kill the Pols Voice by playing the flute, and also with arrows to retain the original way of killing them (thanks to Stratoform!)
  • Slight graphic changes to make certain sprites match their official artwork (Link now has his yellow hat line, some shield slight change, etc.). This won't be a graphic update of the game, as I still want to retain the original game's overall art design and aesthetic, but with sprites that better depict their official artwork designs.
  • Have 999 rupees as the maximum amount, instead of 255. The rupee amount also needs to be saved in SRAM for when the game loads, so it starts with whatever amount you had last time (thanks to bogaa!)
  • Add a proper arrow enemy-drop item and an arrow counter (shops give 30 arrows when purchased), with the max arrow limit being 30 for normal Arrows, and 60 once you get the silver Arrows (thanks to Bogaa for the Arrow drop/counter code, and stratoform for the Max arrows limits!)
  • Flip the heart rows in the File Select Screen
  • New column definitions to make the overworld look more polished, adding corners, rounded edges and other slight stuff so the overworld doesn't look as blocky.
  • Make recently bombed overworld walls have a new arched cave entrance tile, without the tile losing its properties from the previous tile $24 (new tiles are $54-$57)
  • Rework the Credits for the game to have full names show up for each developer (like in Zelda 2 Redux): https://www.romhacking.net/forum/index.php?topic=29403.msg403636#msg403636
  • Diagonal Sword swing in Zelda 1, implemented by minucce. Inspired on initial work based on Displaced Gamer's "Zelda Hit Detection - Behind the Code" video




Optional patches:

  • Blue-er Tunic based on Asaki's hack (Bluer Tunic.ips)
  • Change the Tunics back to Rings (Tunic 2 Ring.ips)
  • Change Tunics to the Original Ring GFX from the NES release (Tunic 2 NES Ring.ips)
  • Disable the Automap hack (or at least hide the tiles)
  • Disable Diagonal Sword Swing for those that want the original Zelda 1 stab instead
  • Fill the amount of hearts you have upon starting a save file, so you don't always start with 3 hearts only (Full Health at Start.ips)
  • Famicom Disk System's version Font graphics(FDS Font.ips)
  • Hide back all the overworld and dungeon secrets (Original Hidden Secrets.ips)
  • Modify bomb upgrade amount to 05 per upgrade (Bomb Upgrades 5 instead of 10.ips)
  • Link's Awakening graphics patch (Link's Awakening GFX.ips)
  • Original NES graphics (Original NES GFX.ips)
  • Original (blocky) Overworld screen/column definitions (Original Overworld Columns.ips)
  • Remove the Low Health sound effect beeping (Remove Low Health Beep.ips)
  • Remove the newly added "THE HYRULE FANTASY" subtitle from the title screen (Remove Hyrule Fantasy Subtitle.ips)
  • Reworked Title Screen to match more recent Zelda title screens (Reworked Title Screen.ips)
  • Reworked Title Screen without "THE HYRULE FANTASY" subtitle (Remove Reworked TS Subtitle.ips)
  • Unique bosses in each Dungeon/Level (Rearranged Bosses.ips)
  • Make each dungeon have its own unique colour palette similar to Modern Classic Edition (Recoloured Dungeons.ips)



Spoiler

Help needed for these points:

  • Implementation of a Copy/Erase file system like in subsequent Zeldas, where D-Pad Up and Down control the cursor in the File Selection and pressing A brings up the Name screen (Example: ALttP)
  • Add water animation (possibly by converting the ROM to another mapper like MMC5?)
  • Diagonal sword swing
  • Reimplementation of the warning screen from version PRG1 upon Game Over / Saving. I already implemented the whole text into it, and also repositioned the "Continue/Save/Retry" texts properly alongside their flashing. Only thing is that they are too far apart compared to the PSG1 version. What's desired here is to find a way to move the flashing and text to match that of PSG1
  • Implementation of an arrow item dropped by enemies, and a proper arrow counter (shops should give 30 arrows on purchase). Also, change the max amount of the Arrows to be 30, and once you get the Silver Arrows, increment the max amount of arrows to 60
  • Have 999 rupees as the maximum amount, instead of 255. The rupee amount also needs to be saved in SRAM for when the game loads, so it starts with whatever amount you had last time
  • Pols Voice can be killed with the flute and/or an arrow
  • Flip the heart rows in the File Select Screen
  • Press the Select button to toggle the item selected for the B Button (to avoid pausing the game to select an item everytime)
  • Remove the 1 Rupee flashing, and make it green if possible
  • Automap Plus, but modify it to have 1/4 heart decrements instead of 1/8 (this is needed in order to make space in sprite PPU for the next point (#3)
  • Increment the initial bomb max. amount to 10 instead of 8. The upgrade value I have changed successfully to 10 bombs instead of 4, but I can't find where the game is getting the default "08" value that is stored in RAM $067C
[close]



This is what I have currently planned for a possible Zelda 1 Redux.
Many of the points I have already done myself already, as you could possibly tell from the beta patch posted.
However many of these still remain.

Also, if there's anything that you have always found obnoxious from Zelda 1, please do tell me, anything that can be done to make Zelda 1 a much better experience is welcome as a suggestion for the hack!
Please let me know of any ideas, suggestions, or if you know of a way to cover one point in the list as well!

CoolCatBomberMan

This is really good so far! I especially liked the cracked walls within the dungeons. I ended up learning something new about the first dungeon, of all things!

triforce141

The only suggestions I have are to carry over some mechanics of the Game Boy Zeldas.

  • When Link attacks with his sword, he will actually swing his sword and is unable to change direction during the animation
  • Pols Voice die to the flute
  • The boomerang transforms Bubbles into fairies
  • Enemies that Link hits with his sword take knockback, regardless if they take damage or not
  • You always start with full health, or at the very least, up to eight hearts
Here's a mockup animation of what the sword attack would look like:

wolpak

A few cool things from another Zelda mod that may or may not be in scope was having a different arrow counter and dropping arrows instead of them using money.  Also, the B button item on the main screen was as sexy as it could get.

IAmCaptPlanet

i would LOVE to have the Legend of Link item rotation (using select to swap out 3 different items)

the sword "swipe" instead of "poke"

the charged spin attack

and a map similar to Legend of Link, maybe show the map when using the warp flute, and make the destinations selectable.

redux on dude!


ShadowOne333

Thanks, guys!
I already added some points marked as done, and I have also successfully implemented the bombs to 10 as default and the upgrades to 20/30 thanks to DarkSamus' help.

Quote from: wolpak on October 10, 2019, 04:20:58 PM
A few cool things from another Zelda mod that may or may not be in scope was having a different arrow counter and dropping arrows instead of them using money.  Also, the B button item on the main screen was as sexy as it could get.

What Zelda mod does the arrow thing? If I may ask.
Also, what do you refer with the B button thing? :P

Quote from: IAmCaptPlanet on October 10, 2019, 05:16:42 PM
i would LOVE to have the Legend of Link item rotation (using select to swap out 3 different items)

the sword "swipe" instead of "poke"
the charged spin attack
and a map similar to Legend of Link, maybe show the map when using the warp flute, and make the destinations selectable.
redux on dude!

I'm a little torn on the "swipe" thing to be honest.
For one, I'd love to have such a thing in the original Zelda, but that makes me thing just how much would it break the game since all of the enemies and the dungeons are design for the "stab" behaviour of Link.
I'm wondering if it would make the game too easy, and/or if it would deviate a lot from what makes Zelda 1... Zelda 1.
The warp flute sounds interesting, but fairly difficult to implement in a technical point. Is a nice concept, but sadly one I don't think I may do on my own.

mdtauk

There was a mod where the sword stab was replaced by a sword swing.

I think all the QoL improvements that were implemented into A Link to the Past and Link's Awakening should be implemented.

On a personal point, I think a Zelda 1 redux would basically look like Link's Awakening but with Zelda 1's maps and dungeons.

lastdual

Some great ideas here, though I have to ask: Have you ever considered a similar project for Ys?

Zelda 1 has a ton of great hacks, but the NES version of Ys 1 has seen little love since the translation and could really use a few QoL improvements (the screen not scrolling until you're right by the edge is rather problematic in a game with bump combat, for example).

pleasejust

#8
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.

Jeville

Quote from: pleasejust on October 11, 2019, 01:04:48 AM
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.
I agree that a 10 increase is excessive; bombs have the same power as the Magical Sword. I also feel it should be a 5 increase in upgrades at most.

wolpak

Quote from: ShadowOne333 on October 10, 2019, 05:31:28 PM
Thanks, guys!
I already added some points marked as done, and I have also successfully implemented the bombs to 10 as default and the upgrades to 20/30 thanks to DarkSamus' help.

What Zelda mod does the arrow thing? If I may ask.
Also, what do you refer with the B button thing? :P

I'm a little torn on the "swipe" thing to be honest.
For one, I'd love to have such a thing in the original Zelda, but that makes me thing just how much would it break the game since all of the enemies and the dungeons are design for the "stab" behaviour of Link.
I'm wondering if it would make the game too easy, and/or if it would deviate a lot from what makes Zelda 1... Zelda 1.
The warp flute sounds interesting, but fairly difficult to implement in a technical point. Is a nice concept, but sadly one I don't think I may do on my own.

Legend of Link when ended up going off it's rails redoing all graphics and maps and whatnot.  Great ideas in there though.

ShadowOne333

Quote from: pleasejust on October 11, 2019, 01:04:48 AM
Making bomb upgrades increase by 10 is a bad idea. This will severely reduce the value of bomb drops in-game. It wasn't even really much of an issue. The game drops a satisfying amount of bombs for the player. Maybe you can increase it by 1 to 5 but not 10. That's ridiculous. Especially since you plan to add cracks to the walls. This means you don't have to bomb everything anymore to find secrets (I assume)... If anything this game needs to have it's rom size increased and a new, larger overworld and dungeons made. Nobody seems to really be able to do this right, though, and in a way that has a level of difficulty similar to the original.

Make sure this is compatible with Modern Classic Edition or add improved graphics into the hack. They're so much better.

Everything else is good.

I ALWAYS had issues with finding bombs from drops in the original game.
Maybe it's just my shitty luck, but that's why I bumped the amount of bombs you can get.
Iirc you get the first bomb upgrade by the time you already have the White Sword, so it's not that much of an OP item.
Besides, if people want to change the value of upgrades, they can easily do so with a one byte change, or wait until I release the source of the project (as I intend to do once it's done).

Also, the improved graphics ala Link's Awakening will be an optional patch, it won't be in the main hack.

Quote from: wolpak on October 11, 2019, 03:10:08 PM
Legend of Link when ended up going off it's rails redoing all graphics and maps and whatnot.  Great ideas in there though.

Ah you're right.
I just gave it a look again, and it does have a separate counter for arrows.

It would really be nice if Legend of Link's source was shared, it would make for implementing the arrows as drops and its own counter way better, and the same would go for the diagonal swing of the sword. But I feel like those are such extensive ASM hacks, and way out of my scope given my limited range of ASM knowledge, sadly :/

Trax

#12
I found the code for text typing speed. RAM $29, set to 06 at 0x481D. Change 06 to any number to change the delay between letters. Lower value makes text type faster. I think a value of 03 or 04 would be good.

As for bombs, you can always insert a few more bombs into the Item Drop Distribution Table (unofficial name). Check this handy visual chart made by Baxter:
https://www.zeldaspeedruns.com/loz/generalknowledge/item-drops-chart

RAM $052A is a counter for enemies killed. Resets to 0 after 9. Enemy Group X never gives items, so they don't have any associated table. Each other group has a probability coefficient of dropping an item, taken from table at 0x1303E. For example, Enemy Group B has a value ox 0x98 = 152 decimal. Randomizer value must be lower than the coefficient, so 152 / 256 = 59% chance of item drop. If the enemy gives an item, it's taken from the corresponding table the enemy code belongs to, and the index is $052A. Check my disassembly of Bank 4 for more details:

http://www.bwass.org/romhack/zelda1/zelda1bank4.txt

As you can see from the chart, only Group B gives bombs. You could have other enemy groups give bombs, to balance things out.

mdtauk

Increasing Bombs by 10, would bring it into line with the future Zelda games.  It makes sense to take all those tweaks and changes made since the original, to improve the game.

If like your Zelda 2 project, the mods are done as separate files - then you are free to add as many as you want, and those looking for a purer Zelda 1, can choose only those elements they want.

pleasejust

increase bombs by 10 because... the other games do it? That's not a good reason at all. Who cares if the the other games do it. You have to look at it on a per-game basis. There's no good reason to do it in Zelda 1, it devalues bomb pickups. Period. If you want to devalue them, fine. But that sucks.

SimplyDanny

Good to see that you've started working on a Zelda 1 hack! I honestly feel like Zelda 1 has the same issue as FF1 hacking in which there's like a handful of hacks that "rehaul the entire game but for all the wrong reasons or no reason" but not a proper "definitive edition" to play (I was planning on maybe doing that with FF1? not sure), so this would most definitely be a welcome addition.

As for any contributions or changes I can give, there's that Z1 hack/translation of mine you reviewed a while back, if you want to take a few notes from there (the Readme has all the little touches I added, though if you want to do most of this project on your own, that's completely fine and fair).

Outside of that, I can't really tell what other additions to give, except for the fact that it would be very nice if you could add in the select switchfrom Legend of Link,  or something similar in that regard (not having to constantly pause for weapon switches), and maybe some boss balancing? (Digdogger and Gohma are just absolutely pathetic, and some bosses like the Hydra-like dragon are irritating). As for other suggestions, I'm really against the idea of the sword swing mechanic because then that somewhat falls into the pit of the aforementioned "rehaul for no reason" hack.

But yeah, this seems like a great idea! Hope the project goes well.
Hey there

triforce141

#16
If sword swinging doesn't happen in the end, I still suggest that Link shouldn't be able to change direction during the sword poke animation so you can't accidentally face the wrong way for the attack and sword beams.

That, and common enemies having some sort of very brief stun or one tile long knockback when they get hit by the sword, there are too many instances where Link will hit an enemy, they take damage, but continue to walk forward as if nothing happened and hit Link, who is still stuck in his attack animation. Something along those lines where you're given just enough breathing room after connecting a hit, but not so much where you can cheese your way to victory with continuous stagger.

Thanatos-Zero

#17
ShadowOne333, so you wish to follow into Infidelity's footsteps.

First I wish to applaud to you for to take on such a huge challenge, but honestly speaking, it might be better overall for you to create your own NES homebrew game instead, taking Zelda as a inspiration or atleast recreate it as you see fit.
The original Zelda was pestered with so much hardcoding, it gave Infidelity and me a large amount of frustration. Some of my redesigns, were simply too big.

Not to forget to mention, he has put himself under his own deadline for his own project, but the results are less than optimal.

If it wasn't for the hardcoding, the game would have been more polished.
Mind you, I was only the graphic artist, but my journey with him gave me insight of how troublesome it is to altering a game, without the source code being available.

Edit: It might good to heed to criticism from the other reviewers, so you can avoid right off the bat some mistakes on the line.
http://www.romhacking.net/reviews/1934/#review

DavidtheIdeaMan

Im glad to see that this game is getting a proper remaster,I can't wait to try out the final product of this game,keep up the great work. :)

Shade Aurion

I'm kinda surprised you aren't going with Legend of Zelda - Quest 3 (SNES) as a base for the Zelda 1 Redux as its probably the best version of the classic game available