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

Thanks for the explanation and the words, bogaa :)
It really helps understand the differences a lot more between them.

Quote from: darthvaderx on July 10, 2020, 05:50:13 PM
Zelda II two players, would this be a good option for the project?

http://www.romhacking.net/hacks/5243/

It seems like a heavy ASM hack for Zelda II.
And tbh it kinda breaks the pace of what I'm attempting to do with Z2 Redux (or even Z1 Redux).
Zelda has always been a single player game, and while the PoC the guy did is awesome, I don't see myself implementing it in the project, much less since it will most likely cause conflicts with code already done for the game.

Besides, for Zelda 2, I think we are at a good enough position, with only the File Select hack remaining.
Adding more stuff would just push it back even more, like ifightdragons mentions. I don't want to keep the project in hiatus for more years than it has already.


As for Zelda 1...
I still haven't done much progress :/
I'm struggling with the mapper stuff... still. lol

aml435

Just played through the newest version and it's pretty damned flawless.
Only real thoughts I had (which you probably already thought of) are:

I wonder if there might be a way to add a couple rooms in dungeons or replace rooms with relatively worthless hints and add a couple places where you could buy increases to your arrow capacity, like the bomb upgrades. Like you start with 30 and maybe one spot to increase your capacity to 50 and a second to increase it to 70, and then when you get the silver arrows it bumps you up to 99.

Another little idea I had today, that might be impossible to implement, but just throwing it out there: I wonder if there'd be a way to add a second upgrade to the shield that makes the big shield not just block, but reflect the projectiles back at the enemies, like in some of the later games?

And then just a personal annoyance with the original game: I wish there was a way to turn off the magic book's effect on the Magic Rod, so it doesn't always produce fire when the beam hits. Too often, I end out smacking into residual fire that it leaves behind. I know I could always just not get the book in Level 8, but I just wish it was an effect you could turn on and off.  Again, that's not a flaw you introduced to the game, it's just an annoyance that's always been there.

Anyway, amazing, near-perfect work so far. Can't wait to see what other surprises you have in store once you have the mapper hack worked out.

Jeville

Can I ask what the offsets are for enemy health and strength? :D

bogaabogaa

#303
Quote from: Jeville on July 31, 2020, 05:24:23 PM
Can I ask what the offsets are for enemy health and strength? :D

I did talk about this once here:
Quote from: bogaabogaa on March 24, 2020, 06:17:43 AM
It is more about how to "find" make documents of enemy health/damage table..

Here might be other offsets of interest: https://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:ROM_map

This table will probably be hard to find in the disassembly till they are documented well then you might get lucky with a good search.
CV ROM DiscordServer
https://discord.gg/PvFgxRg


bogaabogaa

#305
I had in mind to make a walk-through of what goes into mapper conversion. How to add some CHR banks and make code for some animation. This would be some text and work to cover properly. It just crossed my mind that you will only use this for the waterfall? I think you could be a bit more ambitious when you go all the way to add a mapper there could be some of the features in full use.. Else it is not really worth.. (It would be great to add it anyway as this might be used as learning material to do hacks. May be someone will find better use for it)

Here what crossed my mind. You have CHRram and you can just write a routine to update some PPU addresses. CHRram does allow for some incredible effects. Just look at Battletoads to find some of the possibility.

I tested with Legend of Zelda and 30 byte is too much but 20 byte+ every frame seem to be no problem. I made some prove of concept code for you to improve on. Since I think you like a challenge and get better at coding for the NES. Not sure if this is easier then addin CHR but for sure a different challenge.

Here my prove of concept code at work in a video.
https://youtu.be/jFygmah8_po

Here the code to work with. You can give me feedback as usual what you think and how it goes.
https://www.dropbox.com/s/tch7u0tuwm3qm3o/ZeldaWaterFallExample.zip?dl=0


Notes:
- There are some additional notes at the beginning of the code where graphic pointers are if you like to work on the MMC5 Stuff.
- Task for the WaterFall routine in the normal game is to add 2 more tiles. Then write code to control the animation. (You would need to spread it in a smart way to not conflict with the limit..)
CV ROM DiscordServer
https://discord.gg/PvFgxRg

ShadowOne333

Quote from: bogaabogaa on August 02, 2020, 03:03:22 AM
I had in mind to make a walk-through of what goes into mapper conversion. How to add some CHR banks and make code for some animation. This would be some text and work to cover properly. It just crossed my mind that you will only use this for the waterfall? I think you could be a bit more ambitious when you go all the way to add a mapper there could be some of the features in full use.. Else it is not really worth.. (It would be great to add it anyway as this might be used as learning material to do hacks. May be someone will find better use for it)

Here what crossed my mind. You have CHRram and you can just write a routine to update some PPU addresses. CHRram does allow for some incredible effects. Just look at Battletoads to find some of the possibility.

I tested with Legend of Zelda and 30 byte is too much but 20 byte+ every frame seem to be no problem. I made some prove of concept code for you to improve on. Since I think you like a challenge and get better at coding for the NES. Not sure if this is easier then addin CHR but for sure a different challenge.

Here my prove of concept code at work in a video.
https://youtu.be/jFygmah8_po

Here the code to work with. You can give me feedback as usual what you think and how it goes.
https://www.dropbox.com/s/tch7u0tuwm3qm3o/ZeldaWaterFallExample.zip?dl=0


Notes:
- There are some additional notes at the beginning of the code where graphic pointers are if you like to work on the MMC5 Stuff.
- Task for the WaterFall routine in the normal game is to add 2 more tiles. Then write code to control the animation. (You would need to spread it in a smart way to not conflict with the limit..)

Insteresting work you did there, bogaa.
So let me see if I got this right...
You are still using the original Zelda 1 mapper to make the waterfalls have animations without relying on additional mappers?

As for touching on this point:
Quote from: bogaabogaa
It just crossed my mind that you will only use this for the waterfall? I think you could be a bit more ambitious when you go all the way to add a mapper there could be some of the features in full use.. Else it is not really worth.. (It would be great to add it anyway as this might be used as learning material to do hacks. May be someone will find better use for it)

I was aiming towards making animations for waterfalls and overall water animation, so the water tiles can be seen moving instead of being static.
This could also apply to other aspects of the game, perhaps even to other places like lava in dungeons or , and having the option to animate pretty much any tile would be a good option.

However, if your code does allow for waterfall/water animation, then going the full-on Mapper conversion would be overkill, if this option is suitable for that end.

I'll check out the code later today hopefully.

bogaabogaa

Yes the animation work with mapper 1.

- When using RAM CHR you can have different animation. You just need to be smart about how to implement them properly since moving data uses important CPU cycles during the NMI. When you try to do to much in one frame you will get glitched graphics. But it is no problem to have some animations going on while playing. The most resource heavy thing I did find on the PPU side is pressing pause since the Vertical scrolling + tile-mapping stuff happen.

- Doing a new mapper sounds more overkill to me when you just like to see some bubbles in the lava or some waves in the water. When you would use bank-switching for this task it takes way less resources as it is a simple ROM bank switch.

May be the redux hack might come to a "end" soon. I think after a release with the impotent improvements you can still add additional optional patches to the git. May be some people might like to share patch resources like this so when you do hacks everything is on the same page.

Some idea for optional patches.

- Diagonal movement
- New Boss attack/patterns. Or full Boss revamp.
- Enemies with new skills.
- MMC5 with CHR setup for animation
- New Sword mechanics. Hold to charge.

For some people this is too much and will not fit the redux but might fit the optional section well.
I did not look at how you arranged new added code. I guess this could also be a long time project how to arrange/improve everything. Make sure all the patches work independent and have something like a overview document to look up hijack points used and give a overview on the project so if you like to add things in the future it will not end in disaster.
And things like this will not affect end user that just likes a revamped Zelda. And still will keep this thread alive to do things with this game. If this fits your interested as well.
CV ROM DiscordServer
https://discord.gg/PvFgxRg

Jeville

#308
Several things:

1. Projectile speed. It appears there are several. Wizzrobe waves are fast, lynel's beam is faster than Link's, etc.

2. What the magical rod can or can't hurt, physical and otherwise. By default, wizzrobes are unaffected.

3. "Leave your money or life" guy. It'd be fun to change the container and rupees to something else.

I couldn't find where to change them.

Prince Valmont

Has there been any recommendation about giving a hint on the trees that can be burned on the World Map? Perhaps a very subtle discoloring?

Jeville

Moblin arrows and octorock rocks are trivialized from the get-go because you start with a shield. It's interesting that the file select screen is the only place to see Link shieldless. If I could, I'd replace the magical shield with the default shield in shops and make like-likes able to eat the default one but not the magical one. The magical shield can be a permanent upgrade that can never be lost, like the mirror shield in future Zelda games. Now the question is where to put the magical shield as a valuable treasure to find.

Vanya


Jeville

It may be a bit too far removed for this project. It's just something some people would want to utilize in their personal hack along with my other listed ideas. Goriya boomerangs is another thing the default shield deflects that I forgot, so its use is not limited to the overworld.

lexluthermiester

Question for ShadowOne333;
Would there be room for a new version of an existing item? The "Magic"(infinite) Bombs would be a very interesting addition! The mechanics are present(Magic key), perhaps a substitution? I would happily give up the magic key for magic bombs.

That aside, I've run through both quests and found no further glitches or problems. This mod is ready for prime-time and it's own official RHDN project page!

ifightdragons

Quote from: lexluthermiester on August 08, 2020, 09:56:32 AM
Question for ShadowOne333;
Would there be room for a new version of an existing item? The "Magic"(infinite) Bombs would be a very interesting addition! The mechanics are present(Magic key), perhaps a substitution? I would happily give up the magic key for magic bombs.

That aside, I've run through both quests and found no further glitches or problems. This mod is ready for prime-time and it's own official RHDN project page!

Why jump the gun if more additions are planned? Constant beta additions versus a finished release is worth considering.

ShadowOne333

#315
Hey guys.
Sorry for not being as active lately in neither of the Zelda Reduxes.
I've been working on other stuff and haven't really found time to fiddle with them properly.

As for the suggestions made recently, while they are good on their own, I would have to say that adding too much stuff to this project might stray it too far from what the original goal is.
The main goal being to make a proper and perhaps definitive version of Zelda 1 that tries to bring it up to modern mechanics of Zelda games, like the arrows, bombs, upgrades, revised script, and some other gameplay changes that were either obnoxious in the original due to its archaic design, or changes so it behaves like recent subsequent Zeldas (mainly ALttP and LA), while still retaining what made the original Zelda unique in its own way, and that being the liberty of going everywhere and explore at one's own pace.

Having certain items that were previously available in the overworld locked as a Dungeon item would kill this, so I want to avoid doing that kind of changes. The same goes towards enemy behaviour.

The point I do wish to address is making the burnable trees visible in one way.
I was thinking of making them dry/dead trees (to mimic a widely known real-life behaviour, being that dry/dead leaves and trees are easier to burn or catch fire than perfectly healthy and alive flora), but given how I already ran out of sprite space on the MMC1 mapper, I am unsure how to tackle that for just the trees alone.

Outside of that, thanks for testing the current version on its entirety, lexluthermiester!
It is really uplifting to hear that the game behaves in a bug and glitch free way in its current beta form.
Really lifts up the spirits to address and try finish up to remaining stuff.

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

Outside of that, I took some time during these past days to make a disassembly of Infidelity's MMC1 to MMC3 patch.
You can find it here:
https://pastebin.com/ta3wqZPp

Additional information by Infidelity:
https://www.romhacking.net/hacks/nes/patches/2454readme.txt

I have already compiled a clean ROM with this disassembly, and it properly creates an MMC3 version of Zelda 1 that boots and plays normally. However, the graphics are still untouched.
From what I can tell, what remains to be done is add the proper bank swap for the graphics.
Each of the "org $BFAC" routines seem to be the bank swap routines.

If anyone has any experience working with MMC3, and could help out to achieve the bank swap for the graphics, please let me know!

Cyneprepou4uk


ShadowOne333

#317
Quote from: Cyneprepou4uk on August 08, 2020, 03:34:51 PM
I have experience working with MMC3
Oh that's fantastic!
Have you checked out the disassembly?
The game itself now loads as an MMC3 mapper, but what I need is a way to make the banks/graphics swap to create animated tiles.
I am mostly looking for a way to animate the water and waterfalls (graphics in bank 3, 0xC94B -> 0xD16B), if you have idea about how to do so, please let me know.

If anyone manages to help with this, you will be properly credited when the hack is done and in the ReadMe for it of course.

Cyneprepou4uk

If by disassembly you mean that pastebin link you've posted, I didn't find any CHR banks swithching in it.

bank 3, 0xC94B -> 0xD16B - no idea what that means exactly. NES memory? ROM file? Pastebin? Github?

Keep in mind that I've never played this game, so I don't know where the waterfall is, or anything else for that matter.




I need a patch with working MMC3, different tiles for waterfall, and a savestate for FCEUX when you are on the screen with waterfall. I'll come up with something.


ShadowOne333

Quote from: Cyneprepou4uk on August 08, 2020, 07:25:06 PM
If by disassembly you mean that pastebin link you've posted, I didn't find any CHR banks swithching in it.

bank 3, 0xC94B -> 0xD16B - no idea what that means exactly. NES memory? ROM file? Pastebin? Github?

Keep in mind that I've never played this game, so I don't know where the waterfall is, or anything else for that matter.




I need a patch with working MMC3, different tiles for waterfall, and a savestate for FCEUX when you are on the screen with waterfall. I'll come up with something.

You can get the patch from here:
https://www.romhacking.net/hacks/2454/

My disassembly should compile a 1:1 ROM with the one that is generated by that IPS.
As for the waterfall tiles, they're tiles $88-$8C in the PPU Viewer, and here's the save state right at the waterfall:
https://www.dropbox.com/s/zipd5ixyjw64rla/MMC3states.zip?dl=0

Let me know if you need anything else!