PDA

View Full Version : Potential NES Inconsistencies



ZoriaRPG
08-02-2017, 09:01 AM
I found some interesting pages on NES Zelda bugs/glitches, and oddities, that we may not yet be implementing.

Ganon
This one is obvious. Our Ganon is not NES accurate:
http://ifs.nog.cc/kobe-ug.hp.infoseek.co.jp/zelda_ganon.htm

Video
-=SPOILER=-


NES Glitches
Some topics on NES glitches that we may not be emulating:
http://www.glitchgamer.com/the-legend-of-zelda-nes

Bugs
A Bug that Allows Quickly Skipping to the Ending:
https://www.digitaltrends.com/gaming/legend-of-zelda-glitch-warps-straight-to-the-ending/
This one may only affect the FDS version, that IMO, we should eventually support as a module.

Behaviour
Finally, some trivia and NES behaviour that we may not have down pat:
https://www.gamefaqs.com/boards/563433-the-legend-of-zelda/63969876?page=1

Patra
Apparently, we are not the only ones with issues on boss coding:
https://www.youtube.com/watch?v=83iAiwhQQF8
This may be an emulation bug.

Clearly, none of this is mission-critical to 2.54+ versions of ZC, but we might want to consider implementing it (perhaps with scripts), in the Z1 module.

Tamamo
08-02-2017, 01:28 PM
BS patra also doesn't behave correctly.
ZoriaRPG
Your video is misleading a bit.

https://www.youtube.com/watch?v=jC3GDbwBFXw

ZoriaRPG
08-02-2017, 02:26 PM
BS patra also doesn't behave correctly.
ZoriaRPG
Your video is misleading a bit.

https://www.youtube.com/watch?v=jC3GDbwBFXw

I didn't record that. Someone sent it to me, and if it is not correct, tell me how or why.

BS Patra: I would need to play the BS Game and sit around recording its patterns, or see long-shot videos of it. if you know precisely what it is not doing properly, let me know and we can try to address it at some point.

I was thinking that the first npc scripts would probably be a set of Z1 enemies and bosses, and we would fix all of these patterns in those.

Tamamo
08-02-2017, 08:38 PM
ZoriaRPG
Gannon
He appears to be teleporting and shouldn't be...

BS Patra
Two versions.
https://youtu.be/-fnXGPfOjz8?t=125
https://youtu.be/KmxsMSIC_Ro?t=614

That patra fight rustles every ones jimmies.

Tamamo
08-03-2017, 09:10 AM
DarkDragon ZoriaRPG
Once you get the base line for the NPC scripting developed, feel free to email me, I dont check this site daily, but I do check my email every day.
I am very much in support of this contrary to how I have made my beliefs sound. As long as we can get it working this time around that is, and I very much have faith in you two have been working together.
Hopefully 3 won't make a crowd.

ZoriaRPG
08-03-2017, 07:56 PM
<!-- BEGIN TEMPLATE: dbtech_usertag_mention -->
@<a href="http://www.armageddongames.net/member.php?u=42228" target="_blank">ZoriaRPG</a>
<!-- END TEMPLATE: dbtech_usertag_mention -->
Gannon
He appears to be teleporting and shouldn't be...

BS Patra
Two versions.
https://youtu.be/-fnXGPfOjz8?t=125
https://youtu.be/KmxsMSIC_Ro?t=614

That patra fight rustles every ones jimmies.

Ace! Thanks.

That second Patra fight, has damned sexy moves.

Here is an alternative take on the Ganon pattern:


https://www.youtube.com/watch?v=hsZCqlqPGmY

Tamamo
08-03-2017, 10:38 PM
That actually is ZC, and is how he works.
I found a game genie code that made him visible, and he does in fact teleport.
So I retract the above statement.

His pattern is very complex mind you. And the closest anyone has come to decoding is the Japanese page above.
I'm far too busy this month to translate it as I told you unpolitely. Come September, I'll have more freetime and will be more then happy too.

DarkDragon
08-04-2017, 10:55 PM
Nightmare do you have any insights about these inconsistencies? I know you're an expert on the NES behavior.

jman2050
08-04-2017, 10:55 PM
It's worth noting that the way the RNG works for item drops isn't even remotely close to how the NES does it. Probably not something worth worrying about but I figure in a topic about NES inconsistencies I might as well point it out. Could be a potential "default quest only" rule if it ever does get implemented.

ZoriaRPG
08-05-2017, 11:49 AM
It's worth noting that the way the RNG works for item drops isn't even remotely close to how the NES does it. Probably not something worth worrying about but I figure in a topic about NES inconsistencies I might as well point it out. Could be a potential "default quest only" rule if it ever does get implemented.

Do you know the difference, off-hand? I suspect that NES item drops work off a one byte timer, but I do not know if that is true.

Nightmare
08-05-2017, 01:09 PM
Nightmare do you have any insights about these inconsistencies? I know you're an expert on the NES behavior.

I'm reading up. The only one I have a real concern with is item-dropping, but honestly on that, I think it should only be a part of the first two official quests and nothing else. It really should be implemented by scripting and limited to the 1st and 2nd Quest: I don't think anyone really wants this. Too many quests rely on corrected item mechanics and could break certain quests (I think New Quest and James Quest would be totally broken without Blue Earknut drops for example)

The other one worth noting is the side-warp bug (where you turn and go to the end of the screen), but if we're fixing the bugs I don't think this is a high level of concern.

Patra patterns might need to be fixed, but still, not too high on this as I'd consider this more an error on Nintendo's part and not so much an intended feature that he doesn't reset eventually.

10th Enemy Has the Bomb probably needs to be implemented in the 1st and 2nd Quests. 3rd and on, probably not, I'd leave it up to the developers.

-James

Chris Miller
08-05-2017, 01:26 PM
Here's a detailed explanation of how item drops work in Zelda 1: http://redcandle.us/The_Legend_of_Zelda#Drops

Nightmare
08-06-2017, 04:49 AM
Good posting, but one thing to keep in mind is that implementing the drop system outside of the 1st and 2nd Quests as a non-rule would break a lot of people's quest balances, and that's not fair to do to developers with no notice, no matter how liked or disliked they are. I don't know if everyone is me, but hundreds of hours are put into testing quest balance (testing for 4 days like New Quest Rebuilt rarely happens: Usually it takes a month best case). Furthermore, the root of ZC's drops come from the Zelda manual, not the table.

Do drops and 10th enemy need to be implemented? Yes, without a doubt. Should they be forced on people? Absolutely not, especially if we're allowing free scripted enemies and other things that don't belong in Z1. Personally, I like the ZC drop system, and I don't want to change it.

Also, I know it's a dirty thing, but keeping it an option differs us from direct copying, and possibly out of DMCA trouble, just saying.

-James

Gleeok
08-06-2017, 05:56 AM
Easiest thing to do might be to add a few..

When the new scripting upgrade gets put in all this should be scriptable via callbacks; example:



OnEnemyDeath(npc e){
if(!counts_as_enemy(e)) return;
int current = tenth_eneny_increment();
e.dropset = tenth_enemy_lookup_table(current);
}

ZoriaRPG
08-06-2017, 10:57 AM
Here's a detailed explanation of how item drops work in Zelda 1: http://redcandle.us/The_Legend_of_Zelda#Drops

I was aware of this aspect. I am not sure how the chance to drop /anything/ works. As I said, I suspect that there is a perpetual one byte counter, and if it is above or below a specific threshold, that there is a drop; then the drop is selected from a list. If I knew what determined the drop frequency, I could script this in a matter of minutes and load it into 1st-4th.

Tracking enemy kills is actually more of a pain than it should be in ZScript at present, FWIW, partly because we do not have npc scripts yet, and those could report a message to the system that the npc died.

Any npc running by script could simply do:

if ( this->HP <= 0 ) do_npc_death_count();

A global script would then track these, and use a hardcoded drop table. I do not know how far off we are from npc scripts. I know that we need to move weapons into their own class to do weapon scripts, and that will take some doing; and will require me reworking the item and weapon editor stuff (again).

I want to make some adjustments to how noc shields work, in the process. Give npcs a long for shield type on all for sides, that has a size equal to the hitbox length on that side, but that is a topic for another day.

Chris Miller
08-06-2017, 11:41 AM
From what I understand, the value that determines whether an enemy drops an item or not depends on a frame counter that starts at power-on.

EDIT: As I thought: http://redcandle.us/The_Legend_of_Zelda/Luck_Manipulation

Anarchy_Balsac
08-06-2017, 02:38 PM
Here's a detailed explanation of how item drops work in Zelda 1: http://redcandle.us/The_Legend_of_Zelda#Drops

Mystery solved, always wondered what the old man meant.

ZoriaRPG
08-16-2017, 02:45 AM
Mystery solved, always wondered what the old man meant.


What he says is a bit clearer in the JP version.

Perhaps you can pester Jeremy for the 1.xx source so that we can work on a load_quest() function for those.

I could still use your purview of all of these things.
War Lord: Do you have the 1.x sources somewhere? If I could see the loading code in those, at least 1.84, I could possibly fix this inability to load the older quests in modern ZC.

War Lord
08-16-2017, 11:39 PM
If I do, it's on a CD or hard drive buried somewhere in my basement.
I'm not particularly keen on a needle in a haystack romp down there looking for it...

Tamamo
08-17-2017, 09:34 AM
To be honest I think we should allow nes consisten dropGroups to be available to custom quest.
Perhaps consider that once Enemy Scripting is implementing?

DarkDragon
08-17-2017, 03:08 PM
The item drop system is so different in the NES (based on a counter of enemies killed) than in ZC (based on true probabilities) that implementing the NES system as a hard-coded alternative is probably not worth doing. But I agree it's something an enemy script should eventually be able to handle.

Tamamo
08-17-2017, 10:17 PM
DarkDragon
yeah that's what i was thinking DN, once enemy scripts are finished being implemented it should be possible.

ZoriaRPG
08-26-2017, 12:18 AM
To be honest I think we should allow nes consisten dropGroups to be available to custom quest.
Perhaps consider that once Enemy Scripting is implementing?

I agree with this, and I see no issue with adding special dropset cases using the script engine in the future.