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

Author Topic: Zelda II Hack Project - Dark Fortress  (Read 11016 times)

SkyeWelse

  • RHDN Patreon Supporter!
  • Jr. Member
  • *****
  • Posts: 22
  • A Rocket Knight exploring Xanadu
    • View Profile
    • Retro-Type
Re: Zelda II Hack Project - I want your input
« Reply #40 on: March 16, 2019, 11:11:14 pm »
I just saw this thread today and I just want to say that I really like the plan you have for this hack! Have you decided what to call it yet?

I also think it is nice that you are receiving feedback from Zelda II fans. I've beaten Zelda II many times and I love the game, though not as much as a kid due to how different it was from the original and getting pretty stuck right around that first major Death Mountain challenge to get the hammer. I would say though that first and foremost, unless you are trying to modify the existing game in a slight way to improve upon one aspect of it, I wouldn't worry about how close or how far you want to stray from the original mechanics of the game. People will be playing your "type" of hack to experience an all new way to play and an all new reason to play Zelda II again. So by that, I'd recommend going with whatever feels right to you.

Since you asked for opinions, even though I can appreciate the XP system of Zelda II, I never really "enjoyed" grinding. Most of the time I'd grind for a bit to cover some of the earlier levels that don't take much XP and then start completing Dungeons so that I could get a full level up by grabbing the crystal at the end maxing out the XP. I really think that taking that out of it and simply making more upgrades as far as items to seek out and explore would be much more interesting. You've already said that you will be expanding the world map, so there should be plenty more places to hide such items. Also, then you can have players really challenge themselves in extremely dangerous areas just to try and get to a weapon or armor upgrade that is meant for later in the game to try and achieve that reward early. In Ys for example, I *Always* risk my life in the mining cave where everything can one-shot me, in order to get one of the best shields in the game. I mean, why not? It's fun to challenge beyond what you are technically ready for!

As for Lives, I mean, sometimes Link just runs out of health and you need to count on those extra lives in order to  keep going. If that were expanded into extra health instead of "chances" at completing the goal you've sought out starting at full-life each time, I'm pretty sure it will greatly change the flow of how Zelda II is laid out.

Take for example this as a scenario:

Link can take 8 hits before dying or needing to start curing as of hit number 7 as he crossed a bridge with floating poison bubbles and other flying enemies and maybe a axe thrower at the end of it. Normally, this would be really hard to complete and if you died, you'd have to "GitGud" a few times to pass it. That can be a fun challenge to overcome, or it could be rather annoying.

If this was changed into say a longer life meter or less damage taken to the lifebar, let's say he had 14 hits now, it's much, much more feasible to pass this trial with the option of getting hit 14 times before death, but that might make it too easy. Then again, the fact that you are having to cure yourself and if you die even once, you're journey is over and you have to start over at Zelda's sleeping shrine, so maybe it would balance out in the long run. It's hard to say until you've tested the difficulty of the enemy placement.

Good luck on your project! Can't wait to see new updates for it!

-SkyeWelse

Trax

  • Hero Member
  • *****
  • Posts: 501
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Hack Project - I want your input
« Reply #41 on: May 07, 2019, 11:56:31 pm »
Well, after quite some time, I managed to do a few things, but not as much as I'd hoped. So, again, sorry for the wait.

First, I had to put the "on-the-fly modification of Overworld Tiles" on the ice, because frankly, I struggled too much with it, and I had to go do something else before going crazy. Also, I think the idea was cool on paper, but the end result was relatively meh. I may return back to the problem later, but I'd give more chances to the Custom Tiles idea, which I already made work in the past. The other thing I feared is lag. I didn't experience any of it, as far as I can tell, but it could become laggy if too much work is needed every frame. It does produce a noticeably longer delay on the loading transition, but that is not important. All in all, I'll spend my time on more essential things.

Speaking of that, I spent already too much time on a new concept that existed in Zelda 1 : Trap Doors. I'm not sure if it's the correct name, because in real life, a trap door should be on the floor, right? But that's not the case. I'm talking about doors that shut behind you. Zelda 1 had them in spades, and you had to do something to make them open again, like killing all enemies or pushing a block. Some of these doors could not even be reopened, like a one-way entrance. Anyway, I also worked too much on that one, but even though it's not finished, I'm on my way to make it completely functional and make it work anywhere I want.

It looks like this : https://www.youtube.com/watch?v=yzZA85urhgA



I created my own data format to give every room the possibility to have either no door, one on the left, one on the right, or both. When you enter a room, there are a few frames where Link moves, but the player doesn't have full control of him. During these few frames, the code I wrote checks if the room has doors, and if it does, it draws one block every other frame, at the position desired. For now, the position is hard-coded, so if the ground is at another level, we will need to have provisions for that. I used the "Breakable Block" sound, which is played for 5 consecutive frames. I think it sounds good for a door, but it could easily be changed to something else. I initially tried the "Fire" sound, but I thought it was too subtle and quiet.

Not shown on the video is the equivalent for the Right Trap Door, which is a bit more complicated to code, because of the fact that Areas can have different widths, from 1 to 4 screens. So we have to use this information, conveniently stored in $D1, to select the correct position for drawing the tiles.

The major difficulty comes from the fact that we have to do two kinds of drawing when we want to change anything in the background, and that's applicable in every side-scrolling areas. The terrain in Level Data is made of blocks, 2x2 tiles. Each screen has 0xD0 tiles. Up to 4 screens. When you want to change something, you need to manually draw the 4 tiles that compose the block, AND you have to change the underlying block data. If you only draw the tiles, you will see the result, assuming the drawing occurs on screen and not in the "scrolling buffer", but as soon as you leave far enough, the tile will be erased by the scrolling mechanism, so when you come back, the old tile will be drawn again, because you didn't change the block data. On the other hand, if you only change the block data, and the tile is within the viewport, you will see no instant change, but when you go far enough and come back, the tile will be drawn as your changes dictated. And as if it was not enough, you also have to do some more math and bit manipulation to change the palette. That last one, I didn't do yet with my Trap Door mechanism, as the video demonstrates at the end. I draw blocks that are normally teal colored, but because the background color is set to grayscale, the instant drawing shows the tile in the wrong color. However, when I come back, the tile is redrawn using its natural color.

Confused much?

Anyway, there is more work to do, because to reopen the doors, you will need to kill all enemies in the room. The custom data I created will also contain an enemy counter, and every time you kill an enemy, this counter will decrease by one. Once the counter reaches zero, the doors will open. I think this mechanism will create a brand new dynamic in palaces (and maybe other places, who knows?) and force players to fight to the death to progress in the game. You will have to change the way you think about palace navigation.

So, what's left do do exactly?

- Make sure the Right Trap Doors work correctly, with all area widths.
- Make sure the custom data table has an enemy counter, and that some enemies (Elevator, for example) are "exempted" from the count.
- Make sure the door tiles have the correct color. If it reveals too hard to do, I could sacrifice this and just make sure the tiles have the same palette as the background.
- If time and motivation permit, add a third type of Trap Door (with the actual name), an horizontal one that blocks a hole in which you can fall.

Other than that, the name of the hack should contain Dark Fortress. Maybe Zelda II : Dark Fortress. Or maybe remove "Zelda" from the title, since she probably won't be part of the story at all. How about Adventures of Link : Dark Fortress ? Or something else, if you have any ideas. I also started working on another Overworld Map, but I won't reveal each one of them, because I can't spoil everything. All I can say is that it will involve a very big mountain.

Also, I decided that the concept of lives are officially out. There will be several changes to make up for it. I'm not fixed on how many mechanisms will change, because each time the game has to be reprogrammed represents quite a challenge. A quick list: no more dolls, small heart items, no instant kill from falling into lava, restart from different places after death, more fairies, enemy damage balancing and reserve fairy.

Vanya

  • Hero Member
  • *****
  • Posts: 1489
    • View Profile
Re: Zelda II Hack Project - I want your input
« Reply #42 on: May 08, 2019, 02:32:48 am »
Damn, that is some cool stuff.
One of the things that always turned me off of Zelda II was how little of the first game seemed to be brought over.
So the more stuff from the first game that could be reimagined for this new perspective the better.

itemdrop

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: Zelda II Hack Project - Dark Fortress
« Reply #43 on: May 11, 2019, 09:36:13 am »
Happy to hear your still at it trax. The trap door idea is very cool wondering if your planning to make a palace around this concept or sprinkle it hear and there. I've had to drop a lot of ideas after either not being able to get them to work or getting lower then expected results so I get dropping the overworld concept you had. While I think the overworld is one of the most least interesting things in Zelda 2 I'm sure you'll find way to make it fun and better i.e. the ice overworld idea you came up with. 

pleasejust

  • Jr. Member
  • **
  • Posts: 46
    • View Profile
Re: Zelda II Hack Project - Dark Fortress
« Reply #44 on: May 12, 2019, 02:26:33 am »
I highly recommend using Zelda II Redux as a base. Or at least apply the same graphical and gameplay changes.

Trax

  • Hero Member
  • *****
  • Posts: 501
    • View Profile
    • Trax ROM Hacking
Re: Zelda II Hack Project - Dark Fortress
« Reply #45 on: May 16, 2019, 01:36:59 am »
Redux is a nice project, in which I participated, but many of the features in it will be done differently in Dark Fortress. Plus, the goal of Redux was not to be a full fledged hack, but mostly a bunch of small modifications of what was considered irritating in the original.

Obviously, I will have to balance many things in the game, like enemy damage and experience. Actually, about experience, I want to go one step further, and make experience gains dynamic. For example, once you reach a certain level, or a certain region further in the game, enemies will start giving less experience. Hopefully, it will make grinding less attractive and encourage the player to go forward, explore new territories and fight stronger enemies. Enemy drops may also be more dynamic.

I also plan to make multiple spawning points for when you reload the saved game, or after death. Similar to A Link to the Past. Restarting at the beginning of palaces is not settled yet, but not out of the question. The HUD will be changed, but I have not decided on the layout yet.