Oh god I laughed hard on that one. FWIW, and I am not making this up, this is Don Knuth's[1] favorite way of playing video games. I had set up an experiment with an xbox, a copy of Halo (fighting aliens game) and a copy of Dead or Alive (fighting boobs game)[2], Don came by and wanted to see the games, he dismissed DoA pretty quickly but Halo2 we played for about an hour and a half. Don loved to have the character do things the developers probably had not thought they would try to do (like fall through a crack in the geometry and walkaround in "space" underneath the ship) He was really creative, we sat for a while with six aliens who wanted desparately to kill us but would not cross a door threshold which if we stepped through the door would close. It was very entertaining. Much like this Madden game. The color commentary though was really priceless.
[1] Yes the "Art of Programming" Don Knuth.
[2] It was a simple experiment at a conference, first half the console sat there, play either game, mid conference announced that we were tracking hours played on each game and compare second half ratio to first half ratio.
His weekly depictions of terrible NFL scenarios were instant classics for sports comedy. Jon Bois is one of the best in the business of just ridiculousness, I highly recommend checking out his entire season this year.
But this one takes the cake as the bugs at the end really made for an incredible story.
Halo 2 is almost as stupendously broken as Ocarina of Time. Superbouncing into inaccessible areas with game objectives --the skull on oddball, flags on CTF-- during live matchmaking games was fun. Sword flying (and rocket cancelling) across maps was entertaining too. As was searching for the golden warthog and banshee...
You can check out some speedruns of the game from Monopoli to see a pretty impressive number of glitches. Here's one from AGDQ 2014: http://www.youtube.com/watch?v=po9HS2lIZRw .
And the competitive community took full advantage of this, because knowing how to "double shot" and BxR made having a battle rifle the only weapon you really needed to beat really anything but a snipe.
Wouldn't have expected this to show up on HN, but this entire 'season' is hilarious if you have even a cursory interest in sports video games -- there's a lot of (hilarious) frayed edges that get exposed when Jon pushes Madden to its limits.
Technically, you only need exactly one rail adjacent to a zone in the first game to make it grow, so the entire traffic model can be essentially ignored.
I can't possibly believe something like a game's score would be recorded in an unsigned byte. The last time I saw an unsigned byte in use in a game was in the original Starcraft, which tracked number of kills per unit with a single byte, so if a unit killed more than 255 enemies, it stopped incrementing.
Apparently this limitation shows up elsewhere in the game, suggesting it might be a problem of too few bits, indeed: "Peterson actually rushed for over 1,100 yards, but once again, the game stopped counting at 1,023. I'm guessing that this is because only 1,024 values can be represented by 10 binary switches in a computer system, and the game's developers (understandably) never would have guessed that another set of switches would be necessary." -- http://www.sbnation.com/2013/10/2/4784946/breaking-madden-in...
> I was pretty amused that a computer could attempt the most basic of tasks -- addition -- and come up with two kinds of wrong.
It's a bit ironic that addition is kinda the quintessential thing computers get wrong. Admittedly, not much of an issue these days - but the comment was amusing :)
I don't think people understand interlacing. The really saddest part is when news video is imported from a region with opposite interlacing and the fields are reversed when broadcast. It means the editors are either only previewing on non-interlaced or half-sized screens or they don't understand what they are seeing.
I once made a similar mistake. Someone submitted a video to my film festival and it was interlaced the wrong way. I swapped the fields and didn't do a full preview. Half way through the submitted video had swapped field order and I'd not noticed.
After the screening I explained the error and apologized. She hadn't even noticed. Some people just can't see.
Another example - a single field glitch.
me : what's that glitch?
person : what glitch?
me (touching the screen next to the glicth) : here
person : what glitch?
I can't tell you how many times I've sat down at someone elses computer back in the CRT monitor days, and had to up their refresh rate to something tolerable (it was always defaulted at 60Hz). Almost no one noticed the flicker at 60. This used to not be so bad, until most interfaces switched to black text on a white background. Argh, my eyes bled.
Or it's from back in the day when Madden used an 8-bit processor, and the code for scoring has just never been updated to use something other than char.
When I worked on Madden around 2007 or so, you could still find the original code for updating the score on a touchdown. It had Steve Chiang's[1] initials by it. It's not like the rules for that have changed much over the years, so there's little reason to touch the code.
No, I get that football doesn't change all that much, and therefore the games don't need to change all that much (so why it's become an annual new release sort of situation is beyond me) so I could understand not redoing all of the game logic, but... eight-bit score storage?
Assuming a 15 minute quarter(though most Madden games have shorter quarters, especially if they're multiplayer), to get 255 points in a quarter, a team would need to score a touchdown + 2 point conversion every 30 seconds. For a full game, that's every 2 minutes.
Any given play generally takes 10-20 seconds, and you're going to be running, bare minimum, 2 plays per 8 points(1 for touchdown, 1 for 2 point conversion). So that's about 25 seconds per score.
If the teams are remotely well matched(i.e. aren't a Breaking Madden team), they'll take at least 2-3 minutes per possession, since you're most likely going to have 4 downs, which have a play clock of 40 seconds(most teams use around 30/play), so the "average" shortest possession is something like 2 minutes.
The point of all this? The Breaking Madden games are really an outlier that you'd have to specifically code for.
Who wouldn't just use "int" for all of this logic? It's so simple that you could do it on autopilot. You'd have to specifically try to limit to 8-bits.
If 'char' in-place of 'int' is a legacy quirk, then I get it. I just find it odd that over the course of twenty-five years the required expense couldn't be made to update the data type. It just makes more sense.
If you find it odd you haven't worked on any large projects that have enormous backlogs of bugs and features to build which need to be prioritized. Bugs that will never actually manifest in normal usage should be far down the list of things to fix, particularly if they are in 25 year old code that is battle hardened and in the critical path.
You have to remember that consoles are very limited devices, especially if core code was developed 25 years ago. Even in the late 90s, developing for the original Sony PSX, we were carrying flags in high bits, removing file names from our file systems for prod builds (relying on known sectors and offsets instead), making sure that no unnecessary strings were in the final build, etc.
While it was annoying at times to be so worried about bits and cycles, it was also a very rewarding type of puzzle, figuring out how to squeeze just a little more performance out of the limited system we had to work with.
> so why it's become an annual new release sort of situation is beyond me
The answer from EA's point of view is that people buy it every year, so of course they'll make a new one.
The explanation from the user's point of view is that much of the magic of the game comes from it reflecting the teams, players, and plays of the actual NFL. When some quarterback gets traded to another team, you want to get next year's Madden so he's on the right team in the game too.
This is one of the really cool things about the game. There are millions of people who have detailed knowledge of different teams and players and what their strengths and weaknesses are. Madden lets you take that otherwise pointless barroom trivia and use it to actually be better at the game.
I understand that, which is why it seems like the more appropriate vector for that sort of change would be via a patch, not an entirely new release of a game.
I find it amazing 25-year old code still exists at all in a franchise like Madden. I played the original Madden. It bears little resemblance to the current generation. There's really not been a total rewrite in 25 years? Amazing.
I can sort of see storing the score as an unsigned char, since that's larger than the largest real-world score. I have no idea what's going on with the 266 value, though.
To those who suspect old code or premature optimization, if you read the comments all EA sports games apparent cap out at 255 points. It's an intentional throwback. When he did it in one quarter he triggered an Easter egg, a "false start".
I'm not sure I would call a false start an easter egg. It is a fairly standard penalty called all the time in real life games. The reason it was special enough to mention in the article is that he had specifically turned off penalties for the game.
[1] Yes the "Art of Programming" Don Knuth.
[2] It was a simple experiment at a conference, first half the console sat there, play either game, mid conference announced that we were tracking hours played on each game and compare second half ratio to first half ratio.