Jump to content
NHL'94 Forums

NHL 94: 2024 Edition by Adam Catalyst


AdamCatalyst

Recommended Posts

1 hour ago, twintowersjenga said:

Awesome work!

I do have a favor to ask; is there any way you could do the same thing, but for the AHL teams/rosters? I know it's a big ask but I love having timecapsules of my favorite team. Either way, keep up the amazing work.

lol - that is a big ask! No harm asking though. :) Sorry, just don't have the time. I would highly suggest you try it yourself though. There are ample tutorials etc. on this site. Focus on the single aspect that would be the most important to you, and see if it's worth your while. I started by simply trying to update the opening splash screen. One thing led to another…

 

Link to comment
Share on other sites

On 4/18/2024 at 12:45 PM, AdamCatalyst said:

Hey everyone,

Good news, bad news.

Good news. The playoffs edition is almost ready! Still a lot to do, but I am 100% on top of it, and will try to get it out as soon as possible. All rosters and lines have been updated. Will start on end of year ratings tomorrow morning.

Bad news. I promised a version 3.0 with all new re-balanced gameplay, and arcade mode patches, etc. Well, version 3.0 (playoffs edition) is coming, and the gameplay will have a minor revision, but the all new re-balanced gameplay and arcade patches etc. aren't coming any time soon. I have spent loads of time on this, but I still need even more time to make sure it is balanced just right. To that end, I will need some beta testers this summer. PM if you are interested in helping out.

Good news. I wasn't actually planning on coming back for a '25 version, as there is another. personal projects I wanted to spend time on. But I am not going to abandon my '94 gameplay re-balancing project, so I will have to come back for at least one more season, in order to share my work with you. So, as long as my health holds up, I am planning a '25. 

Stay tuned for a '24 playoff edition any day now.

cheers,

-Adam

 

 

 

Adam. Is 2025 really your last season? Who will take the reigns after you? IMO your hack is the gold standard for NHL94 hacks and one of the best rom hacks ever made.

Link to comment
Share on other sites

On 4/28/2024 at 2:54 AM, George said:

Adam. Is 2025 really your last season? Who will take the reigns after you? IMO your hack is the gold standard for NHL94 hacks and one of the best rom hacks ever made.

Thanks man! I really appreciate hearing that. I'll never say never, but I'm not so sure I can keep up doing these and still have time for new projects I want to commit myself to. Only time will tell what actually happens. 

Link to comment
Share on other sites

Update on 2025 alpha build. The gameplay work I am doing is rapidly progressing, and almost ready for testing. As promised, I will be providing more than one gameplay options, including a more "classic" option. If anyone is willing to play test and let me know your thoughts, please PM me, as I won't be posting pre-release builds publicly.

If you are a player who much prefers the classic gameplay to my own modded gameplay, I could really use your help… what gameplay mods would you like to see removed in a "classic" version? Possible reversions include:

  • Player Hot/Cold variance increased to original range.
  • All Player Overall ratings reverted to the original formulas.
  • Player Rating Attributes moved back to a 0-6 ratings system (instead of 0-15),
  • Slightly larger net & slightly smaller rink. (less posts, more goals),
  • Goalie hold time until whistle shortened.
  • Goalie range of motion limited to original.
  • Goalies Speed attribute increased. (CPU goalie skates into corner more often).
  • Goalies other Attribute decreased. (CPU lets in more goals).
  • Skaters reverting to slower skater start / stop speeds.
  • Skaters reverting to faster speed bursts / check speeds.
  • Skater reverting to much lower agility power.
  • Skater reverting to much lower shooting accuracy.
  • Skater reverting to much lower shooting power.
  • All Skater Attribute ratings generally conformed to the original distributions.
  • All Skater Attribute ratings strictly conformed to the original distribution.
  • Skater Energy Depletion & Recovery rates reverted to original.
  • CPU controlled Skaters take more penalties.
  • CPU controlled Skaters take fewer shots.
  • Something else I have not listed here…

Any and all feedback is welcome and encouraged. 

  • Like 1
Link to comment
Share on other sites

7 hours ago, AdamCatalyst said:

Player Rating Attributes moved back to a 0-6 ratings system (instead of 0-15),

I originally started reading this as a list of things that you were looking to implement for the next build, and was intrigued by your mentioning of this change.

Mainly because I've worked on a few games where I used the 0-15 scale, but have slowly stated reverting back. Actually changing a couple of unfinished projects to 0-6. Mainly I just found that I wished the increments were more like how '93 handled percentages and that an RNG mod I'm testing out had a habit of pushing half of the guys into 99 Overall territory [even when half of the individual stats were showing "HOT" in the low 80's]. Eventually I had to change it back to 0-6 and the numbers became more predictable.

Curious if you'd encountered anything like this or if your rating system was able to account for that [l think I remember you mentioning that you tone down RNG so maybe not this exact issue]

7 hours ago, AdamCatalyst said:
  • Goalie hold time until whistle shortened.
  • Goalie range of motion limited to original.
  • Goalies Speed attribute increased. (CPU goalie skates into corner more often).
  • Goalies other Attribute decreased. (CPU lets in more goals).

I will say that on the goalie front, I tend to prefer "better" goalies so as not to just rack up a score. I also like the option to hold onto the puck until I can get a clear pass, so the range and time are nice for cutting down stoppages.
Goalies going into the corners is also nice to nullify dump and chase tactics, even if they do go into the stupid "Brodeur no-zone"

Link to comment
Share on other sites

18 hours ago, von Ozbourne said:

Curious if you'd encountered anything like this or if your rating system was able to account for that [l think I remember you mentioning that you tone down RNG so maybe not this exact issue]

No, not had any of those issues with the 0-15 rating system. There's been no going back since I switched to it, I'd never be able to tweak the gameplay without the more granular scale. If you had any ROMs with those issues, I would be curious to take a look if you were ever interested.

Thanks for the feedback on goalies! All good stuff to know.

Link to comment
Share on other sites

On 5/6/2024 at 11:11 AM, AdamCatalyst said:

If you are a player who much prefers the classic gameplay to my own modded gameplay, I could really use your help… what gameplay mods would you like to see removed in a "classic" version?

It’s a heavier lift than what you’re proposing from a hacking standpoint and also somewhat covered by JKline/VO’s hack, but for a “classic” version I’ve always thought something with 1994 branding for all of the teams where it is possible would be cool. Just to double down on the throwback nature. 

Link to comment
Share on other sites

@Sean Oh man, that sounds like a great idea! I'd love to see some of the more recent teams retro-ed to 1994. Way beyond the sort of thing I was thinking of, but I like it very much.

I'm really only looking to do a gameplay mod. I could hypothetically make it restrictively accurate to '94, but I'm increasingly thinking that I should go about 80% of the way there, then get it out there as early as I can to collect feedback. If I ask these hypothetical questions, I'm going to get feedback from the designers and modders like you an VonOz, but a lot of average users aren't as sure as to what they like (and dislike) until they play it.

Link to comment
Share on other sites

On 5/13/2024 at 3:36 PM, AdamCatalyst said:

@Sean Oh man, that sounds like a great idea! I'd love to see some of the more recent teams retro-ed to 1994. Way beyond the sort of thing I was thinking of, but I like it very much.

I'm really only looking to do a gameplay mod. I could hypothetically make it restrictively accurate to '94, but I'm increasingly thinking that I should go about 80% of the way there, then get it out there as early as I can to collect feedback. If I ask these hypothetical questions, I'm going to get feedback from the designers and modders like you an VonOz, but a lot of average users aren't as sure as to what they like (and dislike) until they play it.

Well whatever you do, I’m excited to see it! Bummed out to hear you’re thinking it’s your last season, but I’m sure you’ll send yourself off with something amazing. 
 

Also heads up if you didn’t see, the image importer is working for 32 teams now, so re-alphabetizing when Utah comes to town should be a little easier.

Link to comment
Share on other sites

On 5/15/2024 at 9:37 AM, Sean said:

Also heads up if you didn’t see, the image importer is working for 32 teams now, so re-alphabetizing when Utah comes to town should be a little easier.

Thanks for kind words. 

You know, I follow that thread, but still hadn't tried it or even thought of a practical use case. YES! With Utah coming in, will definitely check it out. Thanks for pointing this out!

Link to comment
Share on other sites

  • 4 weeks later...

Absolutely loving this! Curious though, is there not a way to choose which team to play as in playoffs? Want to play as the sharks but it automatically sets me as the blues in that matchup. Playing on the steam deck.

Link to comment
Share on other sites

8 hours ago, jadeecity said:

Absolutely loving this! Curious though, is there not a way to choose which team to play as in playoffs? Want to play as the sharks but it automatically sets me as the blues in that matchup. Playing on the steam deck.

Thanks for writing in!

YES. In the menu, keep changing playoff matchups until the team you want to play as is the first team listed. I think you might be choosing the "St. Louis v San Jose" matchup when you want the "San Jose v St. Louis" matchup. Glad to hear someone is playing through the second tier playoffs. :)

Link to comment
Share on other sites

On a related topic, I remember one of the few times I edited an NHL '94 ROM that there was the option to have several (I think it was sixteen?) different first round matchups per team.  Is that not still possible? It seems like the most recent version of the ROM has all the teams locked into one first round matchup, including the non-playoff teams.

Link to comment
Share on other sites

36 minutes ago, The Dopefish said:

On a related topic, I remember one of the few times I edited an NHL '94 ROM that there was the option to have several (I think it was sixteen?) different first round matchups per team.  Is that not still possible? It seems like the most recent version of the ROM has all the teams locked into one first round matchup, including the non-playoff teams.

This... This is a thing that I'm having a hard time wrapping my head around. Basically because technically there are 32 different playoff draws that can be drawn from. And I've actually been annoyed by the lack of variety in first round matches to the point where I've gone in and set the draws up in a way where every one is completely unique.

But then when playing a game and scrolling trough the playoff options, it still seems that the teams still favour one or two opponents a disproportionate amount of times. So I don't have an answer to why, but I'm just guessing at this point that there is something in the way the game handles the playoff draws where it's not actually just going down the list every time you pick a team,

Link to comment
Share on other sites

Posted (edited)
On 6/14/2024 at 8:27 AM, The Dopefish said:

On a related topic, I remember one of the few times I edited an NHL '94 ROM that there was the option to have several (I think it was sixteen?) different first round matchups per team.  Is that not still possible? It seems like the most recent version of the ROM has all the teams locked into one first round matchup, including the non-playoff teams.

I think it is possible!

You know, these days I am doing most things manually, but for the Playoffs I entirely rely on the NOSE software. Here is what the input looks like for the playoff draws in the software. I've never spent much looking into how it works in practice. If you are curious, grab NOSE, open a ROM and mix things up.

Screenshot 2024-06-17 at 11.25.48 AM.png

 

Edited by AdamCatalyst
Link to comment
Share on other sites

1 hour ago, von Ozbourne said:

But then when playing a game and scrolling trough the playoff options, it still seems that the teams still favour one or two opponents a disproportionate amount of times. So I don't have an answer to why, but I'm just guessing at this point that there is something in the way the game handles the playoff draws where it's not actually just going down the list every time you pick a team,

Interesting. I had assumed that it scrolled through matchups more linearly, but you're saying there is an element of randomness? I feel like someone *must* have written about this in the forums awhile back.

Link to comment
Share on other sites

Sorry to ask, I've searched and drawn a blank... if I download and install NHL94 from old games.com... how do I then update with this file to be up to date.  So happy this is still available and thank you for all updating efforts.

Link to comment
Share on other sites

On 6/15/2024 at 6:34 AM, Robbo said:

Sorry to ask, I've searched and drawn a blank... if I download and install NHL94 from old games.com... how do I then update with this file to be up to date.  So happy this is still available and thank you for all updating efforts.

The version from old games is the PC version.

This is a Sega Genesis version, that needs to be played with an emulator.

Instructions for getting the emulator (which includes the original Genesis and SNES versions) are here: https://nhl94online.com/html/getting-started.php

And then you download the game file from this thread and place it in the "ROMs" folder and then open it as in the instructions (but open the updated game file not the original game file)

"ROM" = complete game file

Link to comment
Share on other sites

On 6/14/2024 at 10:57 AM, AdamCatalyst said:

Interesting. I had assumed that it scrolled through matchups more linearly, but you're saying there is an element of randomness? I feel like someone *must* have written about this in the forums awhile back.

This intrigued me, so I did a little research into how this works as I didn't see anything on the forums.

From what I can tell, there definitely seems to be a random element. 

  • The code loads up the playoff draw table
  • Then (apparently) a random number, always a multiple of 16, is added
    • This essentially selects a random playoff draw from the 32 playoff draws from the table by creating that new offset.
  • The game first checks if the Team 1 is less than 25 (which is 26 teams given we start at 0). This was the limit for "no all-star teams", which since has been hacked away to allow for all 30/32 teams to be selected.   
  • Game checks if Team 1 is listed in the playoff draw row, going incrementally from 1-16  
  • If Team 1 isn't in that playoff draw (i.e. after 16 instances), it loads up the next playoff draw row and starts again
  • Once Team 1 is found, if finds the opposing team and loads Team 2.

I started the original '94 game from the beginning and traced 3-4 times from the start with Montreal and had different outcomes each time.  Meaning, the entire sequence was the same, but the "random" assignment changed.  I also selected the next team, NJ, and the random number changed again. 

So I can't confirm if the number is truly random, but the code where that number is generated is a lot of multiplication and the infamous $D066 RAM value is called, which from what I remember @chaosnoted is used in the RNG calcs.  So I feel pretty confident that it's meant to be RNG, and I'm not going to decipher more of this :lol:.

 

 

  • Love 1
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, kingraph said:

This intrigued me, so I did a little research into how this works as I didn't see anything on the forums.

From what I can tell, there definitely seems to be a random element. 

  • The code loads up the playoff draw table
  • Then (apparently) a random number, always a multiple of 16, is added
    • This essentially selects a random playoff draw from the 32 playoff draws from the table by creating that new offset.
  • The game first checks if the Team 1 is less than 25 (which is 26 teams given we start at 0). This was the limit for "no all-star teams", which since has been hacked away to allow for all 30/32 teams to be selected.   
  • Game checks if Team 1 is listed in the playoff draw row, going incrementally from 1-16  
  • If Team 1 isn't in that playoff draw (i.e. after 16 instances), it loads up the next playoff draw row and starts again
  • Once Team 1 is found, if finds the opposing team and loads Team 2.

I started the original '94 game from the beginning and traced 3-4 times from the start with Montreal and had different outcomes each time.  Meaning, the entire sequence was the same, but the "random" assignment changed.  I also selected the next team, NJ, and the random number changed again. 

So I can't confirm if the number is truly random, but the code where that number is generated is a lot of multiplication and the infamous $D066 RAM value is called, which from what I remember @chaosnoted is used in the RNG calcs.  So I feel pretty confident that it's meant to be RNG, and I'm not going to decipher more of this :lol:.

 

 

Yep D066 and D068 are used in the RNG calc. Can you let me know the addresses you see in the trace? I can look at the disassembled code and map it out better if needed.

Link to comment
Share on other sites

2 hours ago, chaos said:

Yep D066 and D068 are used in the RNG calc. Can you let me know the addresses you see in the trace? I can look at the disassembled code and map it out better if needed.

Instructions from 00011086 to 000110B8, comes up with a value in data register D0.

Link to comment
Share on other sites

7 hours ago, kingraph said:

This intrigued me, so I did a little research into how this works as I didn't see anything on the forums.

From what I can tell, there definitely seems to be a random element. 

  • The code loads up the playoff draw table
  • Then (apparently) a random number, always a multiple of 16, is added
    • This essentially selects a random playoff draw from the 32 playoff draws from the table by creating that new offset.
  • The game first checks if the Team 1 is less than 25 (which is 26 teams given we start at 0). This was the limit for "no all-star teams", which since has been hacked away to allow for all 30/32 teams to be selected.   
  • Game checks if Team 1 is listed in the playoff draw row, going incrementally from 1-16  
  • If Team 1 isn't in that playoff draw (i.e. after 16 instances), it loads up the next playoff draw row and starts again
  • Once Team 1 is found, if finds the opposing team and loads Team 2.

I started the original '94 game from the beginning and traced 3-4 times from the start with Montreal and had different outcomes each time.  Meaning, the entire sequence was the same, but the "random" assignment changed.  I also selected the next team, NJ, and the random number changed again. 

So I can't confirm if the number is truly random, but the code where that number is generated is a lot of multiplication and the infamous $D066 RAM value is called, which from what I remember @chaosnoted is used in the RNG calcs.  So I feel pretty confident that it's meant to be RNG, and I'm not going to decipher more of this :lol:.

 

 

Hmm... Now I am wondering if I read this right. If the playoffs are drawn with a hint from the platter of random. And the result of that random is that should a chosen draw not contain the team the player is selecting, the game will just run linearly down the list until it encounters a draw that does contain that team. Then perhaps in the case where only half of the teams make the playoffs and half do not, there might be some cases where a team will not be featured in a draw until a ways down the list.

So if I'm reading this right, say Ottawa is not featured in any of the playoff draws until the eighth option, and maybe also not featured in the last eight either. Going on the presumption that it also rolls over, that would mean that any random playoff draw landed on from 1-7 or 24-32 would result in the selection algorithm rolling over to option 8. Effectively meaning that 50% of the time, you are going to get whatever team is playing Ottawa in that eighth draw.

If this is the case, this could perhaps explain some of the discrepancies.

  • Like 1
Link to comment
Share on other sites

12 hours ago, von Ozbourne said:

Hmm... Now I am wondering if I read this right. If the playoffs are drawn with a hint from the platter of random. And the result of that random is that should a chosen draw not contain the team the player is selecting, the game will just run linearly down the list until it encounters a draw that does contain that team.

If your understanding is correct, that should undermine the "random." Placement on the list would matter. For instance…

- Assume a 32-team league.

- Team "A" only has two different playoff matchup possibility, Team "B" and Team "C".

- Team "A" matchup against "B" is only listed in row #31, and matchup against "C" is only listed in row #32.

- Random probability that Team "A" will play Team "B" is 31/32, since landing anywhere in the list other than row #32 will lead it to choose the next valid row, which will always be row #31.

- HOWEVER, If Team "A" matchup against "B" was listed in row #16 instead, probability would jump to 50/50.

Someone please correct me if I am misunderstanding!

  • Like 1
Link to comment
Share on other sites

1 hour ago, AdamCatalyst said:

- Team "A" matchup against "B" is only listed in row #31, and matchup against "C" is only listed in row #32.

- Random probability that Team "A" will play Team "B" is 31/32, since landing anywhere in the list other than row #32 will lead it to choose the next valid row, which will always be row #31.

Okay, you did a nicer job of explaining the point I was trying to make.

Although now I am wondering, if our theory is accurate, then I might need to rethink some of my "Two tournaments in one" games like multi-level or men/women World Championships.

Usually I would put one complete set in the first 16 options and then have the second complete set use the last 16 options. So this could mean locking in a 50% chance that I'm getting that first option for either side. Anecdotally I have noted some lack of variety, so maybe going forward I make sure that the playoff draws are listed A tournament ,B tournament ,A,B,A... to take advantage of some more options.

Link to comment
Share on other sites

On 6/14/2024 at 10:54 AM, AdamCatalyst said:

Screenshot 2024-06-17 at 11.25.48 AM.png

 

Yes, this is exactly what I remember.  I thought it was strange to have each team have only one matchup when I knew that wasn't the case in the original game.  I guess I will have to manually edit the playoff matchups next season!

Link to comment
Share on other sites

Posted (edited)
57 minutes ago, The Dopefish said:

Yes, this is exactly what I remember.  I thought it was strange to have each team have only one matchup when I knew that wasn't the case in the original game.  I guess I will have to manually edit the playoff matchups next season!

Yeah, it was a purposeful decision on my part. Would you have interest in an optional patch to mix-up the playoff matchups next year? 

EDIT: Something like this? I just whipped this up.

playoffs.ips

Screenshot 2024-06-17 at 3.31.20 PM copy.png

Edited by AdamCatalyst
Link to comment
Share on other sites

16 hours ago, kingraph said:

Instructions from 00011086 to 000110B8, comes up with a value in data register D0.

Yeah thats the RNG code, do you have the part of the trace used before that?

Link to comment
Share on other sites

I connected with @chaos on Discord and he helped confirm that the game logic described above is correct.  So the implications that you guys are describing with regards to how often a matchup is selected, based on where the teams are located in the table, will also be correct.  

  • Thanks 1
Link to comment
Share on other sites

18 hours ago, AdamCatalyst said:

Yeah, it was a purposeful decision on my part. Would you have interest in an optional patch to mix-up the playoff matchups next year? 
509 B · 0 downloads

(LOL I don't know why the attachment hangs around in the quote)

It seems to me that, for example for the first ROM for next season, each team should be able to have one matchup against every other team in their conference.  Perhaps at the All-Star break/trade deadline those matchups can be limited to only the more likely ones, and by the time the playoff ROM comes around even more limited (the playoff teams should have their matchups be mostly the actual ones, while the non-playoff teams will only have matchups against the top teams in their conference).

mere suggestions, go about your business 😅

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Who's Online   0 Members, 1 Anonymous, 61 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...