News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Zelda II Hack Project - I want your input  (Read 4733 times)

Turambar

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #20 on: January 06, 2019, 07:54:38 pm »
Speaking of Fairy, I was working on a hack 2 or 3 years ago where I made Fairy reversible. It was pretty neat. I had some other ASM hacks too. I haven't worked on the hack since then though. I had the overworlds designed, but not the side views.

Googie

  • Hero Member
  • *****
  • Posts: 751
  • eeee!
    • View Profile
    • My work in progress ROM Hacking site
Re: Zelda II Hack Project - I want your input
« Reply #21 on: January 06, 2019, 08:36:23 pm »
OMG this is so cool! This hack has the potential to be a classic, I hope to see more in the near future. :)

ultimaweapon

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #22 on: January 07, 2019, 04:29:43 am »
Speaking of Fairy, I was working on a hack 2 or 3 years ago where I made Fairy reversible. It was pretty neat. I had some other ASM hacks too. I haven't worked on the hack since then though. I had the overworlds designed, but not the side views.

@Turambar - What other things have you done with Zelda 2?


@Trax - That indeed looks great. And I was wondering if the colors for the items could be changed.
Trust in the Heart of the Cards

Turambar

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #23 on: January 08, 2019, 02:09:54 am »
@Turambar - What other things have you done with Zelda 2?
When you're on the overworld and standing on a road tile and an enemy touches you, it forces you into a battle with a blank screen. If an enemy touches you when you're on a water tile, the enemy just disappears. I made it so that road tiles behaved more like water tiles.

IcePenguin

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 192
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #24 on: January 09, 2019, 01:30:25 am »
That world map image looks super!  I wanna explore it!  The possibility of having more tiles for the map boggles my mind.

As I was reading your post, I started wondering, have you considered adding some kind of ranged weapon?  What you said about the cross being "meh" got me thinking about Castlevania.  The cross weapon from that would be pretty neat in Zelda II.  Pressing UP+B could activate it similar to how it is in Castlevania, and it wouldn't mess up Link's other movements/abilities.  Or maybe it was UP+A.  I can't remember clearly.

Great update, Trax!  Most excellent I do say.


itemdrop

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #25 on: January 10, 2019, 08:46:01 am »
The map def makes me want to play this so bad.

Trax

  • Sr. Member
  • ****
  • Posts: 478
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Hack Project - I want your input
« Reply #26 on: January 12, 2019, 06:03:08 pm »
Turambar. Revertable Fairy spell would definitely be a cool upgrade. That is, assuming I will keep the spell as is, because it's possible to it will be replaced by something else. I'm still pondering about the idea. Also, I agree that the idea of having an empty area when you're hit by a Demon on a Road tile is kind of pointless. Having Demons disappear on touch when on a Road tile would be trivial in terms of programming. Alternatively, I could make roads populated by enemies, but easier ones.

About the tunics, I like the general idea, following from other Zelda games of the series, but something makes me hesitate. At some point, I'd like to have enemies of different colors. I know it's important to have color codes in a game. In Zelda II, colors are supposed to provide a hint on the enemy's toughness. Goriyas and Ironknuckles are good example of that, with 3 different "skill levels" of the same enemy. So, making enemies different colors would break that code. That's a point against. My point is that it would certainly add more variety to the game, and give the player a feeling that they really are in another region of the world. That said, if I change Link's tunic to any other palette, he will turn different colors depending on where he is on the global map, and it may feel weird or confusing to the player. A good tradeoff would be to keep the current color coding, or to have another one, but constant, and make slight variations along the way. For example, Blue enemies could be a little lighter in some places, and more towards purple in others.

Here's my thoughts on new weapons, like boomerangs, bombs, or any other things that already exist and could be upgraded. Unfortunately, I will have to be sparse with new things that may take a lot of coding and introduce new visuals to the game. The main reason is lag. Zelda II has quite a lot of intricate details about combat, and that's what makes it exciting and challenging. But that comes with the price of lots of CPU cycles. In the original game, having 2 or 3 enemies with projectiles on the screen at the same time will produce noticeable lag. Every frame, the engine must do a lot of things, and adding new things, while possible, increases the possibiliy of causing lag with several sprites on screen. Every frame, the engine must process quite a lot of things: Link's sprite and movements, update experience and both meters, update the HUD, check for collision with tiles, check for sword hits, process all enemies, process projectiles, apply spells, change palettes, apply scrolling, play music and sounds. And more.

That said, I will upgrade things and add new stuff, but it will be limited. If new stuff causes lag, I'll make the sacrifice, because lag is a deal breaker. The silver lining in all that is, no matter what, having too many enemies on the screen at the same time, especially ones with projectiles, can quickly become unfair, so it's something I will balance anyway through level design. There will be special moves that you can learn, and I'll probably settle for Up+B as an alternate attack command.

As for upgrades and experience, I like the idea of having different swords, but also be able to upgrade them with experience points. I think I'll leave the stats to 8-8-8, since increasing it to another number, like 16, would be more hassle than it's worth, in my opinion.

IcePenguin

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 192
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #27 on: January 24, 2019, 04:50:42 am »
Ah, lag.  It is quite easy to run into lag when testing enemy layouts.  It's been quite a while since I played the original, but I don't recall any instances of lag.  The game always seemed to run pretty smooth.  I can't imagine the lag being too terrible if enemy abundance was on par with the original.

It's great that you are considering so many variables on this project.   :thumbsup:


Spooniest

  • Restricted Access
  • Hero Member
  • *
  • Posts: 3082
  • Madge, I want your body! 'harry your a beast!11'
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #28 on: January 26, 2019, 10:55:07 am »
I don't really have the time to read the entire thread, but this seems like a very well-thought-out project, and it's now on my romhack radar.

I have a strange idea, one that may or may not be met with some form of attention, no idea how others might feel, but I always felt like the black blobs and goblins on the map were a little silly. I know that the FDS version had different monsters (some kind of evil balloons?) but they are equally ridiculous.

One solution would be re-drawing the overworld monsters to resemble in-battle monsters more closely, but in this case, it still is an off-putting visual cue, since they will still not always match the actual monsters you end up fighting.

So, I thought, why not take out the entire mechanic of avoiding random combat altogether, take the "display sprite" code out of the game, but leave in the mechanics for having the monsters attack you when you're on a danger tile (desert, forest, swamp, etc.)? This makes the game a bit more like a traditional JRPG, in that you could be pulled into combat at any time, and you won't expect it, but you can still sort of finagle with it, since the 'map monsters' will still start chasing you after predetermined intervals, and you can retreat to the path, and even if one runs into you, it will just put you on a single screen "safe encounter."

But the idea that the player will not see combat coming all the time, could make the game a bit more exciting. It could be as simple as removing the part of the code responsible for displaying the sprites, but I do want to say that I'm only guessing about it, not being much of a programmer, myself.

Cheers!

IcePenguin

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 192
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #29 on: February 09, 2019, 09:16:46 pm »
Now, with the things that I still have to decide on, and that will certainly change the core gameplay even further. I like the idea of making a hack considerably different from the original game, but I also think the essence of what makes Zelda II unique and fun must remain. It breaks down to these things:

- Lives and health system
- Experience and stats system (Attack, Magic, Life)
- Difficulty levels
- Save system

Lives and health system. Zelda II is the only game of the series with a lives system, and many people don't like it. It does seem out of place for a Zelda game. However, without lives, other aspects of the game would become inadequate. Lava pits would become a disproportionate threat to the player. One badly timed jump and it's game over. Having 3 lives (plus extra lives that can be picked up) is basically the equivalent of having as many separate health bars.

The alternative would be to make pits non-lethal. Subsequent Zelda games don't have jumping mechanisms as elaborate as Zelda II, but they do have pits of all kinds. Falling into a pit makes you lose a small portion of health and takes you back to a determined point. Doing that with Zelda II could be an interesting modification to the gameplay, but also a considerable coding challenge. Also, it would have the consequence of making pits a lot less dangerous. Calculated jumps would become less important, especially if the health penalty is small. On the other hand, losing all your health in one shot because an enemy pushes you back in lava can be frustrating.

If you're open to the idea, I recently made a small hack that let's you restart in the same room you got a game over on.  That could help create an alternative to having a life system.  If used in conjunction with njosro's "restart in palace" hack, it could be a neat idea.

For example, dying out in the world would always restart you on the screen you died, but inside a palace, you would restart at its entrance.  This would allow you to remove the life system altogether.

Here is my post about it, in ShadowOne's topic:
Spoiler:
This is unrelated to anything you had planned, but I made a little hack that addresses a common complaint about Zelda II - Losing all your exp when you get game over.  This hack will keep your current exp if you game over, and you choose the "continue" option.  However, if you choose the "save" option, it will wipe any exp you may have.  Works similar to the restart in palace hack.

Info you'll want to know beforehand:
1. In RAM, the player's current exp is at $775 and $776.
2. In RAM, the gained exp counter is at $755 and $756.  Gained exp is loaded here first, then added to your current exp.
3. In RAM, the position of the cursor in the game over screen is at $488.  00 is positioned on "continue" and 01 is positioned on "save".
4. The game wipes your exp at 2 different times.  Exact moment of game over, and when you choose "continue" in the game over screen.


With that knowledge, here is the hack:


At 0x1CA6D you have the following data:

A9 00 8D 75 07 8D 76 07

This bit of data wipes your current exp the exact moment you get a game over.  It loads the immediate value of 00 into the high and low byte for current exp, thus reducing it to zero.  So our first step is to change this.  Let's change it so it loads that 00 into the gained exp counter instead.  So change the code to:

A9 00 8D 55 07 8D 56 07

Next, let's go to address 0x1CAC7 to find the following data:

AD 88 04 F0 08 A9 40 8D B0 07 4C 05 CF 8D 75 07 8D 76 07 8D 56 07 8D 55 07

The first 5 bytes is checking RAM address $488 - the position of the cursor in the game over screen.  If it's equal to 0, it branches to the code in bold at 0x1CAD3, which is the code to wipe exp when choosing the "continue" option.  If it's not equal, it goes to the underlined code at 0x1CACC, which is for choosing the "save" option.

So what we wanna do is change how far it branches if the cursor position is on the "continue" option.  At 0x1CACB you'll find 08.  If the cursor is on "continue", it will branch ahead 08 bytes, skipping over the length of the underlined code.  Change this value to 14.

At 0x1CAC7 paste the following code:

AD 88 04 F0 14 A9 00 8D 75 07 8D 76 07 EA EA EA EA A9 40 8D B0 07 4C 05 CF

With this, it branches ahead 14 bytes, to the data in bold CF.  The data after this is related to how "continue" option works, but it's not relevant now.  The new underlined code will now wipe your exp when you choose the "save" option.  And selecting "continue" won't wipe it anymore.

Anyway, that's it.  Feel free to use this, or anyone else who is interested.  :)



February 07, 2019, 05:31:10 am - (Auto Merged - Double Posts are not allowed before 7 days.)
As an extension to that hack, here is an another way to do it. 

This way works the same, but in addition, when you get a game over and choose the "continue" option, you will always start on the screen you died on - be it on the world map, caves, towns, dungeons.

I know you have the "restart in palace" hack, but this could be an alternative to that, being able to continue on the screen you died on.  (even boss rooms!)  Plus, you wouldn't have to go all the way back to Zelda's Palace if you died in a cave somewhere.  :P

At 0x1CA6D paste the following code: (this is explained above)

A9 00 8D 55 07 8D 56 07

Next, at 0x1CAC7 paste the following code:

AD 88 04 F0 10 A9 00 8D 75 07 8D 76 07 A9 40 8D B0 07 4C 05 CF A9 03 8D 00 07 20 30 CF C9 0F F0 07 A9 06 A0 01 4C F0 CA 20 58 C3 EA EA A9 00

This difference here is the code in bold.  Your current exp is still saved, but now when you choose "continue" it will set your lives to 03 (with A9 03 8D 00 07), without resetting your location.  Resetting lives was needed, because without it, your lives would just keep counting down to 0, then to FF and so on.

With A9 06 (the part that is underlined), it prevents the game state from resetting your location.  I'm not sure on how to explain this part, ha ha.  You'll basically remain where you are in the world without it sending you back to Zelda's Palace.

I tested all this up though palace 1, and it worked fine.  More thorough testing could be done, but I believe it works with no issues.

Video:
https://youtu.be/-eYl_p-g_Uc

Since that would greatly reduce the penalty and risk of dying, a new system could be set in place as a penalty for dying.  njosro mentioned that he started working on a mechanic where you would have to sacrifice some exp upon death, based on the current stat you were trying to level up.  If something like that were to be implemented, I think it would be an adequate substitute for a penalty.

In case you didn't notice, I'm strongly for removing the life system entirely, ha ha.   :happy:

If all these ideas came together, you'd have something like this:
  • If you die while exploring the World Map, you'd restart on the same screen you died on, and  receive an EXP penalty.
  • If you die while in a dungeon, you'd restart at the entrance of that dungeon, and receive an EXP penalty.
With the way this would be set up, the EXP penalty could be greater while in dungeons, to make them more punishing and dangerous.  Anyway, just a thought I had!

February 09, 2019, 11:32:19 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
The Pause Pane will have the spells compressed, one spell per line, to give space for more stuff at the bottom. Here, I made a partial mockup of what it could look like, appart from any eventual changes in graphics. I added the two icons for the Pieces of Heart and Magic Containers. The rest of the space will be used for other items, like keys, crystals, or some other new info that doesn't exist in the original game. The spot on the left of the Magic Container will be used for sword upgrades. The graphics are still to be determined, let me know what you think (click image for actual size).


I was going through your topic again, just reading everyone's ideas, and I totally missed the part of your post with the inventory menu.  I remember being so enthralled by the archipelago, that I ended up googling pictures of the real place, ha ha.  Speaking of, do you plan to have other areas in the game that are based on places in the world?  It definitely has a certain quality to it that makes it appealing.

Anyway, back to the inventory screen - It looks AWESOME!  I love the layout you did, and looks like there is plenty of space so things don't get squished.  Do you think you'd add a counter that let's you keep track of enemy kills?  Sorta like what I did in Shadow of Night?  It's not really an important thing, but after having it, then playing without it, I miss being able to see that info.  Also, about the heart and magic elements, what's the required amount you'll have to collect?  Having a higher requirement would be cool, so there is more to collect in the world.

Well, I hope your project is going well!  I'm excited for the next update!
« Last Edit: February 09, 2019, 11:34:58 pm by IcePenguin »

8.bit.fan

  • Full Member
  • ***
  • Posts: 192
    • View Profile
    • 8-bit fan's Hacking Projects
Re: Zelda II Hack Project - I want your input
« Reply #30 on: February 13, 2019, 01:54:27 pm »
I love Zelda II and I can't wait for this! Great work and progress so far and I'm loving what I'm hearing in terms of expanding the game! :D

Just wanted to drop in and show my support! Hope this will be a 'fun' hack, as all of the other Zelda II hacks I've played were on the extreme difficult side and I really wish there was one that's more moderate in difficulty like the original Zelda II(ha...as if that was reasonably moderate itself ;) )

Keep up the great work and cheers!!  :thumbsup: :beer:

8-bit fan
In the year of 200X, a super robot named Mega Man...