NHL ’94

March 14, 2010 in Personal | Comments (4)

Tags:

As any­one born around 1980 would know, gam­ing reached abso­lute per­fec­tion with the release of NHL ’94. It’s great if you want a 10-​​minute diver­sion and I’ve been play­ing a few minutes of here and there for the past few months.

There’s one ser­i­ous prob­lem with NHL ’94, how­ever: the AI is abso­lutely ter­rible. Play­ing in single-​​player mode is way too easy. Play­ing as the worst team (either Flor­ida Pan­thers or Ott­awa Sen­at­ors) against the best team (All Stars East) I can win 5 – 0 without much effort.

In shootout mode the AI is even worse. If you put the goalie on auto­matic mode (the com­puter con­trols your goalie) then the oppos­ing team does alright, but it’s no fun. If you put the goalie on manual mode (you con­trol your goalie) I’m not con­vinced it’s actu­ally phys­ic­ally pos­sible for the com­puter to score on you.

I had the bril­liant idea that maybe the game would be more fun if the human player were han­di­capped. Maybe shootout mode would be more fun if the com­puter had 2 play­ers instead of just 1? I have my doubts, but it got me thinking.

So one idea was to dis­as­semble NHL ’94, add in some 2-​​on-​​1 shootout code and reas­semble it. For­tu­nately there are people out there who take hack­ing the Super Nin­tendo more ser­i­ously than any sane per­son should, so there are some tools avail­able. Learn­ing 65C816 assembly code, dis­as­sembling the game and then tra­cing through and debug­ging soun­ded like the sort of thing that one does after they’ve fin­ished writ­ing their thesis, so I filed that under “plan B”.

Plan A became to track down where cer­tain deli­cious global vari­ables, such as the num­ber of play­ers on the ice, were being stored in memory and modify them as the game was being played. After about 20 minutes of toy­ing around, I got some­thing to work.

Here’s me in reg­u­lar hockey mode, but with only 1 skater instead of 5:

The con­stant beep­ing (sorry) is due to NHL ’94 fool­ishly think­ing that since I’m down 4 men, the other team is on a power play which is end­ing soon, in 0 seconds to be exact. Note the game mis­takenly gives credit for the goal to Zhit­nik and Hrudey of the LA Kings instead of Schneider and Roy of the Montreal Canadiens. Weird.

Here’s me in shootout mode:

Unfor­tu­nately I acci­dent­ally gave myself an extra player instead of the com­puter, but it still demon­strates that my idea won’t work without a lot more fid­dling. The extra player just stands there doing noth­ing. Sigh.


4 Responses to “NHL ’94”

RSS feed for comments on this post. TrackBack URL

  1. Comment by Mike Morton — March 14, 2010 at 10:23 pm   Reply

    That is awesome.

    You might be inter­ested in this: http://​game6​.nhl91​.com/

    Some guys recre­ated game 6 of the 1991 Stan­ley Cup final using NHL ’94. It’s really well done.

  2. Comment by Mike BurrellMarch 14, 2010 at 10:44 pm   Reply

    That was awe­some! Look at how happy Mario was at the end!

  3. Comment by halifax — March 17, 2010 at 2:29 am   Reply

    there’s a guy (statto) on nhl94​.com for­ums who cre­ated an editor for snes nhl94. So you can eas­ily cre­ate your own rosters, change team names, play­ers, jer­seys, player attrib­utes etc.

    I cre­ated a new rom using teams from the World Hockey Asso­ci­ation (1972 – 1979) and we have an online league.

    http://​nhl94on​line​.com/​h​t​m​l​/​s​t​a​n​d​i​n​g​s​.​p​h​p​?​l​g​=​5​&​a​m​p​;​s​u​b​l​g​=​S​NES

  4. Comment by NHL ’94 follow-​​up « Wizardlike researchMarch 26, 2010 at 7:02 pm   Reply

    […] is an addendum to this post where I was try­ing to make NHL ’94 more […]

Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>