Hacker News new | past | comments | ask | show | jobs | submit login
NES classic ‘Punch-Out’ has an Easter egg that went undiscovered for 29 years (thenextweb.com)
239 points by ant6n on April 13, 2016 | hide | past | favorite | 63 comments



Well, 'undiscovered' means nobody can find a reference to it on google. My cousin noticed this around 1989, I very clearly remember him yelling at me when I did it wrong. He didn't bother to put a dated reference to it on the internet at the time...


Haha! Yeah, I'd bet money that this has been found by dozens, if not hundreds of people independently over the years. The entire trick to winning the game (as my ridiculously-talented ex-roommate once taught me) is to watch carefully for subtle timing cues and use them to punch at the correct moment - if you do it right, you can win very consistently. So people have been scouring the pixels for these kind of cues since the game first came out!


You can even do it [without sight](https://youtu.be/CvzIb53Lcno). And yeah, TAS'ers, speedrunners and others have been analyzing these games bit by bit (literally) for years. I'd be surprised if this hadn't been found before.


Ha! Strange that this is a new find. I got more than one "easter egg" like this simply by writing a letter to Nintendo America back in the day, and asking for help. They'd usually write you back with suggestions like this.


The one time I ever called Nintendo was when I stumbled across the Chris Houlihan Room in Zelda for SNES—and they didn't know what I was talking about. I was half disappointed and half impressed to have stumped a Game Counselor. I wanted to know what the hell I had found!

http://zeldawiki.org/Chris_Houlihan_Room


I had the same thought. Me and my boys knew this trick as well.


I'm just going to me-too this. This was way obvious to every child in my neighborhood. Next they are going to tell us the white mushroom houses in Mario 3 are undiscovered.


If anybody remembers "PlayFun" by Tom7 (http://www.cs.cmu.edu/~tom7/mario/), which learns playing NES games by locally trying to optimize a bunch of objective functions based on lexicographical ordering of the bytes of the NES Ram. That system probably would've found the easter egg, because it can look into the future to find the best moves. Tom7 did try Punch-Out, but his AI-player lost the game before reaching the bosses mentioned in the easter egg: https://youtu.be/YGJHR9Ovszs?t=4m39s


The easter egg isn't the fact that there's a moment when you can knock out your opponent with one hit, that was already known. The easter egg is the small visual cue in the background that indicates when to punch. I assume that this program would learn when to punch, but if it's running the simulation forward to figure it out then it would just be doing it because it works, not because of a visual cue.


If I remember correctly, my favorite part of his program was how it couldn't figure out how to remove rows in Tetris, so it simply paused the game right before GAME OVER to maximize its score over time. :D


So the ducking head tell is supposed to be an Easter egg? Doesn't really fit the definition in my mind. Or am I misunderstanding?

Hard to believe nobody noticed this in the last ~30 years.


Yeah, this definitely seems like a wrong use of the word easter egg to me, and I'm trying hard not to let it bother me.


Wikipedia's definition:

>An Easter egg is an intentional inside joke, hidden message, or feature in an interactive work such as a computer program, video game or DVD menu screen.

The headbobbing, the camera flashing etc. are hidden hints/messages from the programmer to the player, so I'd say the term fits


Ehhh.. What's meant by "message" in that quote is usually something more like an actual textual message from a developer, like "Stormbrew was here!", not a visual cue for the game itself. Easter eggs are meta, this is not.

It's also something you have to seek out -- by going to a particular place and doing a particular thing. This is just something that happens in the game, and it happens without player triggering.

The wikipedia page agrees with me on this, as far as I can tell, if you keep reading past the first sentence (which is a summary, and as with many wikipedia summaries, is incomplete and vague). This first paragraph from the software section seems rather more useful to quote:

> In computer software, Easter eggs are secret responses that occur as a result of an undocumented set of commands. The results can vary from a simple printed message or image, to a page of programmer credits or a small videogame hidden inside an otherwise serious piece of software. Videogame cheat codes are a specific type of Easter egg, in which entering a secret command will unlock special powers or new levels for the player.


Games often provide cues. Subtle is different than hidden.


Except it isn't hidden.


A non-hidden message would be "PUNCH NOW", not some guy in the background nodding


Tell that to Waldo.


Why couldnt someone just reverse engineer the source code? It seems to me conditional jumps would be a good start and maybe work backwards from things that look like auto wins.

I doubt the team had the budget or bytes to obfuscate the bytecode.


I'm not going to look at the code, but this guy's head-bob animation does occupy a privileged position early in the sprite table:

https://dl.dropboxusercontent.com/u/6821374/Screen%20Shot%20...

Of course if that makes it a hint, then it suggests the sprite right next to it (the guy on the right side of the audience with glasses) is also some kind of clue... does anybody know that one?


Found it... it's a clue for Super Macho Man:

https://www.youtube.com/watch?v=rcJneBFV9cI&t=32m33s


Can you find the sprite for the light bulb man that's a cue for the first Bald Bull fight. He's on the far right side of the ring, under bottom rope.

Seen here: https://youtu.be/U_iVHVGqMIU?t=1m16s Here: https://youtu.be/U_iVHVGqMIU?t=1m47s And, Here: https://youtu.be/U_iVHVGqMIU?t=3m27s


Pretty sure it's the ones marked 242 and 234 here: https://dl.dropboxusercontent.com/u/6821374/Screen%20Shot%20...


The machine code may still be obfuscated, but not for the sake of obfuscation. Cartridge ROM space was tight, so you end up with lots of tricks (like overlapping graphics and code) in some NES games to save space. That's not to mention the scarcity of clock cycles and RAM.


There's nothing wrong with that idea, conceptually. Practically speaking, it's just a bigger pain in the butt than you might think. You've got as many as a couple thousand individual, numbered variables to look for patterns in, controlled by a few 10's of thousands of instructions. It's quite possible to do; it just takes someone with Nintendo/6502 programming experience, an eye for patterns, and a ton of time :-)


> Why couldnt someone just reverse engineer the source code?

You make it sound like something one could do in a spare 15 minutes.


Why haven't we landed a man on mars yet? I mean its just a rocket and a man, how easy.


I imagine the average game - in assembly language - has several conditional jumps.


For all we know the code isn't explicitly tied together, so you'd have to find two things going off (probably) the same condition, and they even then might be going off two different (yet related) conditions that are non-obvious just looking at the code.

Just because the two things sync up doesn't mean the code makes that obvious.


The real question is why would someone reverse engineer the source code for no reason? You would have to know what you are looking for before you started.


you'd have to know to look


I think this is just a coincidence. There's probably co-incident timings that cause his duck motion to happen at the same time as the punch.


From the original reddit post, highest comment and highest reply:

>> Isn't one of the timing cues a camera flash? I forget for which boxer.

> Yup! a camera flash is for the first time you fight Bald Bull. The developer leaked that easter egg and said there was more, that's when I noticed this one.

Apparently there's a pattern of there being visual cues put in by the developers.



It happens at the same time you need to throw a punch in order to land it on the boss, not at the same time the boss is about to throw a punch. It's not periodic, so the idea that the displayed behavior is mere coincidence is implausible at best.


I think what gburt is trying to say is that the timings for the head-bob and the boss's vulnerability are probably driven by the same RNG results, and thus are coincidental rather than intentional. This doesn't imply that they don't always align 100%, only that the developers may not have put purposeful thought into their coincidental timings.


According to this comment (https://www.reddit.com/r/gaming/comments/4dybvk/i_think_i_di...) the bearded man doesn't do anything during other fights, so this is not a random animation.


But these are super punches by the boss that may knock the player out in one hit, so it isn't a common punch for the boss to use. If I remember correctly, the timing and number of times the super punch is used is loosely based on how well you are doing. I remember feeling that if you are winning handily the super punches come out sooner and more often.

I would suppose an easy test is to go the full round without attacking the boss and see if that spectator does the head nod at any point other than during the super punch.


That would not disprove what Zikes is proposing. Zikes (and gburt, and myself) are saying that it's possible the two actions are coincidentally linked. We are not arguing they are not linked, just that the fact they are linked does not necessarily mean they were intentionally linked by the developer. We all agree on the events in the game, we're talking about intent. The only way to know would be to ask the developer.


This doesn't take all that much speculation.

http://arstechnica.com/gaming/2016/04/decades-later-a-new-mi...

The developers are quoted halfway down the page as having included the timing cues for opponents intentionally.

We (the gaming community) have known this since 2009 when that interview came out, so it's kind of amusing that people are making tech-based arguments trying to debunk a cultural fact they aren't familiar with. It could have been an unintentional artifact of the PRNG, sure, but it isn't. At the very least it was intentionally not removed.

If nothing else, those cues probably helped QA quite a bit.


I agree now that it is not likely to have been a mere coincidence of RNGs or timings.


You're misunderstanding, and I don't blame you because I don't think I'm explaining it well. First, I do not disagree that this is very likely intentional "easter egg" behavior programmed in by the developers. However, this behavior could just as easily be a result of chance, even though it is 100% reproducible.

When you look at how older video games are developed, you almost always have to first consider what the extreme constraints are. Nowadays you can get away with paying very little mind to, say, how much disk space a video game takes. Even optical disk space matters little, as additional content could be downloaded as a part of the game installation process.

On older games, however, disk space, processor usage, RAM, everything was in terribly short supply. As a result, lots and lots of shortcuts were taken. A more well-known example is how the Mario Bros clouds and bushes used the same sprite with a different color palette. [1]

So when developing a game under those constraints, the developer would have had to be keenly aware of how much was going on at any given time and whenever possible re-use any existing processes or assets. In Punch-Out there are several things happening on the screen at once, between the movements of the crowd and the enemy. When it came time to implement the "super punch", the developer would have probably wanted to re-use any existing RNG process already being run, rather than run a whole new RNG for that action alone, in the interest of conserving resources. In this case, they could have chosen the same RNG results that drive the head-bob in the crowd NPC.

[1] http://24.media.tumblr.com/tumblr_kz7gthD7UU1qbn1vmo1_500.pn...


I understand, I think it was explained fairly well. I'm just saying that since the super punch event appears to be an event that is not necessarily random (granted it does to me from memory without researching it), I don't agree that it could be tied to another event that is seemingly random. I guess my main question is whether the super punches are indeed random or the result of conditions with randomness mixed in. If it is fully random, then I agree your explanation is possible. If it is not, then the head nod event should happen occasionally outside of the super punch event.


I disagree that it is implausible; I find it quite likely (I just deleted a comment that mirrored gburt's).

That it happens when you need to throw a punch is not evidence of intent, as that is a pre-determined sequence. There are likely only so many sources of random-looking behavior available, so it's quite reasonable that a background character's movement would be tied to the same source as the source that determines how often the boss is vulnerable.

edit: To clarify, the two events are clearly linked, but that does not mean they were intended to be linked. I am in agreement with Zikes' reply.


That sort of double-duty was pretty common in old console games, which were limited in both memory and available compute time, so that's a pretty plausible theory.

But seeing as one of the game's creators has mentioned they liked to put in contextual cues for when things were about to happen, it also seems pretty plausible that it's intentional.


The entire game is based around timing your punches, and the whole thing is filled with subtle timing cues that, once you learn them, make it possible to win every time. I find it much more likely than not that this was intentional, given how many other intentional cues exist.


That's a reasonable reaction, but take a look here http://nintendoeverything.com/punch-out-has-a-22-year-old-se...

The subject of the interview suggests that there are lots of yet-undiscovered Easter eggs in the game.


More likely than coincidence it was put in by the devs so they would have an easier time winning fights and play testing later ones.


In the coin-op arcade Punch Out the opponents eyes flashed yellow just before they threw a punch (or started a sequence). That's also true in the last Wii version.

I don't know if there are any tells for when to throw the knock-out blow.


This reminds me of a couple years back, when an entire sidequest was discovered in Final Fantasy IX (thirteen years after the fact!):

http://www.engadget.com/2013/05/28/obscure-final-fantasy-ix-...


What's amazing about that is that they brought back the 8^2 curse of extinction.

In 1993, Squaresoft used to send out ads to people on their mailing lists (I was one of those people). One of their little mailings included a comment about a curse in Final Fantasy II for the SNES: if you do an action 64 times, it will trigger a reboot of your game, and your save file will be lost. They never told what the action was, but they were admant on the number of times it needs to be done.

t haven't found this info anywhere. If I'm the only one that knows it, it makes me sad. Hopefully, more find it.


Great nostalgia! Sort of reminds me of the incessant photo flashes during the fight with Mike Tyson when he is about to punch you (speaking of which I never got to fight white Mike, I only beat the original).

If I recall correctly there are a ton of visual cues in punch-out.

I found Punch-Out and Contra to both be eventually easy games. There is very little randomness and luckily the controls are very good. I remember taking a bet in college of beating contra (w/o thirty lives) after not playing. Replaying was like riding a bike.

Compare this to the ridiculous difficulty of broken games like Top Gun or the worse game every made AD&D for NES (seriously check out how f@#$ awful that game is).


I'm pretty sure I heard the phrase, "there's no way you can beat Contra without the cheat code" in college as well.


I knew that was garbage when I would use the cheat and would routinely finish the game with more than 30 lives.

After I realized that, I just stopped using it.


Yeah once you get the Spray Gun or whatever the S gun is called you are pretty much golden.

Really the challenge is playing at the same time with some one else.


So it's just a quick-time event with intentionally the worst UI ever.


There's a baseball legend that a MLB team used to light up a certain light bulb on a sign/scoreboard in their stadium to tip off the pitch their batter was about to face.


Punch-Out was really well designed. It was also incredibly hard. I finally beat it in college, and I still feel proud of that accomplishment.


Who's read "Ready Player One"? Cause that's all I'm seeing here. Also, can't wait for the movie!


This is probably just a coincidence.

NTSC runs at a framerate of about 30fps. PAL runs at 25fps. I have not worked on an 8-bit console. But if I were to, I would probably run a simulation/AI tick every 6 frames.

By coincidence, some background animation is going to coincide with some gameplay event.


I completely disagree.

1. Visual cues are littered throughout the entire game. Sometimes it'a camera flash, sometimes it's the opponent blinking, to give you a warning.

2. The game play design is pretty consistent. Each fight gets progressively more difficult, but there is almost always a critical weakness of each opponent. Exploiting (or even finding) the critical weakness gets harder and harder as you progress.

The most obvious example of this design was King Hippo. Using traditional fighting style made it seem like he was impossible to beat. The only way to beat him was to stun him and punch him in the stomach. If you punched left, right, left, right, repeatedly, you could knock him out in one stun cycle. Learning this as a 10 year kid was great fun and made you feel like a genius/gaming god.


60fps and 50fps interlaced respectively. NES games ran at 60fps. There is some randomness to when Honda's window opens and the background animation always happens in sync


NES games ran at 60fps progressive (240p). This is a mode in which the CRT does not alter the scanline position each field.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: