The Broken Code of Animal Crossing
Вставка
- Опубліковано 29 чер 2024
- Today we look at various programming bugs, errors, and oversights left by the developers in the original Animal Crossing. While most are minor, there are a few glaring issues with some aspects of the game…
‣ Follow me on Twitter: / achunterr
‣ Support on Patreon: / hunter_r
‣ Become a channel member: www.youtube.com/@Hunter-R./join
This video was recorded with an HD community texture pack for the game ran through Dolphin emulator. You can find info about this highly detailed, custom-drawn pack here:
forums.dolphin-emu.org/Thread...
Assets and other information were pulled from the Animal Crossing GameCube community megasheet:
docs.google.com/spreadsheets/...
Link to the Animal Crossing decompilation project:
github.com/Prakxo/ac-decomp
🎵 Music credits:
• 8 P.M. - Animal Crossing:
• Video
• 5 P.M. - Animal Crossing:
• Video
• 6 A.M. - Animal Crossing:
• Video
• Nookington’s - Animal Crossing:
• Nookington's [Animal C...
• Animal Island - Animal Crossing:
• Animal Crossing: GC An...
• 5 A.M - Animal Crossing:
• Video
• Title Theme - Animal Crossing:
• Animal Crossing Gamecu...
0:00:00 Introduction
0:00:28 Fossils and the Museum
0:02:16 Missing Coconuts
0:03:55 Tortimer's Missing Diary
0:05:03 Anicotti's e-Reader Card
0:06:40 Animal Island & O'Hare
0:07:48 Nook Control Code Execution
0:10:53 Conclusions - Ігри
The devs having an NPC tell the player not to do something that will glitch the game so you don’t have to fix the bug is real as hell tbh
It's also meta!
There are only 2 hard problems in computer science: Naming things, caching, and off-by-one errors!
Ahaha, that’s perfect!
Oh my god that's insanely clever
Software developers only have one joke, but at least it's a good one.
FWIW if you're in base 3 you counted correctly
@@DuskTheBard 2+2=11
"now THIS is regrettable!" followed by a game crash is honestly funnier than it should be
nook knows the code crashes the game
NINTENDO forgetting to change a value in a copy/paste and forgetting how the random function cap works is so funny to me
imagine buying a bass instrument and getting a fish in the mail
imagine buying a fish and getting a bass instrument in the mail
Imagine getting a fish in the bass instrument and the mail in the fish
imagine getting a mail and buying a bass instrument in the fish
Imagine buying a Bass Instrument Bass Fish and getting a mail in the
As someone who has gone by "bassguitarbill" for over a decade, I really know what Annicotti's going through
I've always wanted to learn a fish instrument but I'm just a lowly drummer
Same
@@imaginekudryavka9485 _Finstrument_
It makes me feel better knowing that the Nintendo devs would have failed my last programming exam based on that range() oversight
I love Tom Nook's reaction to putting in the crash code. It's like he's breaking the 4th wall and knows the player justs broke reality
A bit like Resetti and Don Resetti in general, the lazy villagers in New Horizons, or Tom Nook when he talks to you in the New Horizons Settings menu.
Love how the Crash Nook Code has Tom Nook say "Now this IS regrettable." Talk about pure coincidence.
this channel is like a drug but disguised as a children's game
What
@GriffinForte they mean this channel is so good it's like drugs like how animal crossing is also good
i adore this channel
???
are you neurodivergent (bc this sounds like a compliment I’d give, and I am violently neurodivergent)
I find the idea that O' Hare cools off when he gets a vacation adorable. Bless his heart.
Love the lil guy
5:30 i'm a double bass player and you have no idea how much this made my day. finally all these years of hearing people mispronounce bass have been worth it
You can play 2 fish as an instrument?
@@novafawkssome people...
Makes sense, you can tuna fish, after all.
Great overview of some of the more interesting bugs we've found in AC's codebase so far!
I'd like to make a minor correction in regards to text commands being patched in Doubutsu no Mori e+. Doubutsu no Mori e+ actually has two versioned releases, 1.00 and 1.01. The check to verify a password's strings do not contain control code commands or message tag commands was not added until the 1.01 release. That means if you have an early copy of Doubutsu no Mori e+, you can execute the text commands just as you can in AC!
Good distinction to make! I’m actually about to purchase a Japanese GameCube and a copy of DnM+/e+, so I’ll try and see if I can actually find a copy of both versions of e+… I’m assuming one is more common than the other, though.
That's awesome, they're great games in their own right. If you're doing that you should know that Doubutsu no Mori+ also has two versions, also 1.00 and 1.01. The 1.01 actually introduced a few minor features and some bugfixes lol@@Hunter-R.
So is the decomp aiming to give us an unofficial PC version of AC once it's done? I hope so, would be nice to play it on PC without having to use an emulator.
That’s a common question, the short answer is no. The more in depth answer is probably. The main goal of the decompilation project is to turn the game back into source code which compiles to an exact match of the official game. From there, things like PC ports become possible but require a ton of extra effort to achieve.
What is the easiest way to tell what version of Doubutsu no Mori you have? I actually have two copies of e+
I did not know about Anicotti's "bass", and that's actually hilarious. Having her in my village, it does feel like something she'd do, though.
Most if not all of the e-Reader gifts were carried over from Dōbutsu no Mori+ passwords from scanning on the GBA and carried into e+. This feels like an English mistake so I'm going to check if it was a thing in either of those games.
Update: Well, in DnM+ it was an actual bass instrument. I have yet to see if this mistake was preserved in DnMe+.
1:50
And there was actually a reason for that since it was a small story lore in the franchise.
In AC:GC Blathers was still a student of Paleontology so he can't identified the fossils officially, it wasn't until AC: Wild World when he graduated and now can identify the fossils properly.
And also at the same time in one of the AC:WW episodes events Blathers also mentioned while he was a student, he met Brewster and helped him in opening the Roost in the town.
I was kind surprised that Nintendo added some sort of story to the games for be honest.
The old games had a ton of lore like this. Even up to New Leaf they were still doing it a little bit, even if it wasn't much. It's really just New Horizons where they kinda quit doing that other than copy pasting the same Sable stuff they've always had
@@loganmiller7827 The new characters have some lore to em, a lot of it contained to the Roost but it's still there
@@CherryPixelBun AND vacation homes!
I always love when game developers mess up code in their game because it has a possibility for great content like this to come out 23 years later to discuss it
Honestly. I feel like in the modern world, with automated testing and merge requests, most of these simple mistakes would NEVER make it to production.videos like this will probably be a thing of the past.
@@deforesttthompson9299 ah yes, modern video games, known for not being buggy
Don't worry about it, Nintendo has been trying their hardest to prevent game preservation so in 20 years we won't be able to talk about coding errors in current games as those won't be available any more!
:(
I always wanted to hear more about that weird glitch with reburying fossils and not getting the first Faraway Museum letter. Could never find much more documentation on it than what you said though. I guess it really is just that simple.
It just always stood out to me as really bizarre. As a kid I didn't even understand wtf Blathers was talking about, so it stood out as just a weird thing for him to say. As an adult revisiting the game, I understood he was breaking the 4th wall to try to warn the player about a glitch, but that's just a really odd way to handle it, and it made me wonder what crazy shit was going on in the game's code that the devs couldn't fix it.
probably less more they couldn't fix it due to complexity, and more of "this game is shipping for disc mastering in 3 days, you aren't fixing that. what can we scab in to take care of this problem?"
Ohh, so that's how the "nook code execution" works. I knew I wasn't crazy when I remembered a code that permanently sets your background music to Resetti's theme, freaked me out as a kid. I'd love to see a video where you go further in depth about this.
It's weird, because I have never played a single Animal Crossing game, yet I find this stuff endlessly fascinating. I'm a coder, and just love glitches and understanding how a game works. It's also a testament to this channel's quality; these videos are damn well edited and you're good at explaining and visualizing basic concepts in computing. Subscribed!
I’m always glad to hear that people who haven’t played the games can also enjoy these videos! I appreciate the kind words! 🙂
It’s only a matter of time before people start using nook codes to back door the gamecube
I love looking at the code behind beloved games. it's like getting a glimpse into the mindset of the developers, and seeing all the little mistakes makes it feel so much more human. inspires me to stop worrying so much about the code in my games, and just have fun programming.
I'm not sure if fits your usual video topics, but I'd love to see a sort of tutorial on playing the "Best" version of Animal Crossing, be it via upscaling, emulation, texture replacement for an "HD version," etc. I'm really interested in the preservation and longevity of this game, and this channel is a huge avenue for that!
I like that, due to my programming knowledge, I found myself guessing the problems before they even are disclosed. "Yep, knew it. A classic mistake. I can totally see myself doing that." 😆
Modern day Sisyphus is a programmer endlessly chasing off-by-one errors
Holy. The section of the range being set incorrectly to 15 instead of 16 blew me away. We were told to be careful about doing this in 11th grade computer science class. I wonder how they managed to miss that. Literal rookie mistake XD
im guessing something along the lines of not explaining the random function very well internally(it did release over 2 decades ago)
With a game with so many items and random events, and this being a once-a-year event, it seems pretty easy to overlook a relatively small error like this. One of the biggest rules in cooking is to check the oven before you turn it on. It's easy to forget when you've got other stuff going on, and if there's only a clean cookie sheet in it (ie the code still gives you a random diary and it's got quite a few possibilities), you might not notice until you take a look inside.
...that's one of the weirder metaphors I've made. And i'm a writer 😂 I hope that makes sense though
@@HmmmmmLemmeThinkNo it does make sense as to explain just a sanity check (but this kind of hard to notice off by one sanity check is a bit more complex than just forgetting, its that it works but not exactly how you might want)
@@HmmmmmLemmeThinkNo Oh makes sense. Maybe also just the fact that when you do something for long enough, it becomes harder to see mistakes. Maybe they were paying full attention to the coding, but maybe couldn't spot the mistake since they don't have a fresh set of eyes. Coding mistakes are fun to think about, but thinking about how the mistakes came to be is also fun.
It makes sense though. It’s kinda like how in trades most accidents/mistakes actually come from industry veterans do to them being more comfortable and less cautious.
I will not believe that Hunter doesn't have a separate UA-cam channel, the quality of this content is simply incredible. We want more!!!
I think this is more of a problem with overworked developers and ridiculous video game release cycles, these sort of bugs would easily be caught in a code review
I played through Doki Doki Panic on its built-in NES Emulator, Hunter via Dolphin thanks to save states, and I must say, the game is playable up until World 7. If you manage to get to Wart/Mamu, it's near impossible to beat him because the World 7 vegetables and Wart himself are invisible. The only time Wart is visible is when he opens his mouth to spit bubbles at you, but because the vegetables are invisible, you have to get lucky and hope that one falls on you, then you have to somehow time your throws so they end up in Wart's mouth 3 times without being destroyed by the bubbles. The bubbles themselves are visible so you can dodge them easily, but Wart himself is not easy to dodge since you can't see him at all so you can accidentally run into him and die a lot trying to beat him. So... Yeah, in short, do not try to play DDP all the way through in Animal Crossing, whether on actual hardware or on Dolphin, you will rage trying to get the true ending by beating the game as all 4 characters.
I loved this video but i kinda wish they were longer.
Like I would legit watch a 30 minute or even a 1hr video on this stuff
It would be interesting to see if they ever made a definitive edition of the original Animal Crossing. Many people have said that it feels like it has the most soul, and it has a lot of random, one off events that never return, simply because other games have more things for the player to do.
This channel combines two of my niches, animal crossing and going way too in-depth into various video game features, glitches, etc.
This is perfect
Same
I’m so glad you brought up the weird fossil-check issue because that dialogue has always been so weird and out of place to me-especially in a Nintendo game. Like they were clearly aware of this issue and instead of fixing it they just straight up tell you to not rebury your fossils, and don’t even give an in-universe reason other than it “causes confusion” 💀 it’s always felt like such a weird thing to see in an Animal Crossing game
You DO KNOW that in-universe, Blathers is technically still studying to be an expert in fossils, right?
@@Most-sane-deltarune-fan
I’m not referring to the mechanic of sending fossils away to be studied. I’m referring to the 4th-wall-breaking dialogue specifically telling the player not to rebury their fossils after digging them up because it “causes confusion”, as brought up in the video. They could have easily fixed this issue but instead just decided to keep the bug in and tell the player that if they rebury their fossil, they won’t get a letter from the Farway Museum. It’s a weird workaround to an oversight that was surely easy to fix.
@@justyourbud But at least they provided an in-universe reason too.
I still miss it's soundtrack in the next AC games 😢.
The thing where two words are spelled the same but have different meanings and/or pronunciations probably caught the devs lol (The bass fish vs the bass musical instrument with the same spelling, but different pronunciation and meaning)
Nook: You see, you're late on your rent... Hunter, I'm usually a patient person, but-
Hunter R: Ai9xES@...
Nook: W-What are you doing?
Hunter R: ...UaKHI3
Nook: What did you just say? What does that- Wait... I feel strange... Oh god... *Oh god no*...
**Hunter turns and starts to walk away, as Nook's body convulses and bubbles, before exploding like a bloody balloon of guts and gore..**
Now THIS is regrettable
@@64manxman AND violently disgusting.
Awesome work! I got the offer for a dummy from a villager in their igloo today, but I ended up picking the wrong bag
When I was a kid, I thought Blathers’ warning about re-burying fossils was like, a general practice thing, so I always told my siblings to mail them to the Farway Museum right away or they’d ruin their fossils. My brother refused to listen to me and it drove me NUTS knowing how many fossils he “ruined.”
As far as I know, here in Australia, the only games that had E-Reader support were Animal Crossing and Pokémon Channel. The latter's cards were released, but the reader itself never was. AFAIK the GBA-GBA Link Cable was never released here either.
that’s so odd because i’m pretty sure if you have the aus version of animal crossing not only can you not buy an e reader the functionality just isn’t in the game cool cards tho lmaoo
The e-Reader did have an Australian release in October 2003. The Australian version of Animal Crossing also has the e-Reader terminal in the post office. I’m fairly certain the e-Reader released in Australia is the exact same model as the North American one, so an e-Reader from either region should work in either version of the game.
@@Hunter-R. damn wtf how come i’m the only one without it 😭
Seeing how developers mess up with these things makes me wonder if I'm gonna make some similar mistakes when I get to program a videogame
Keep in mind Animal Crossing is an extremely complex game and far outside the scope of most indie projects. The coding errors in this case probably largely come from the sheer amount of things going on in the game. If you keep whatever game you make reasonably scoped I imagine you will do very well.
@@Joeyppeterscorp That's a really good advice, thank you!
I love videos about videogames code/bugs
This has become one of my favorite newer channels to watch, and every time one of your videos pops up, I smile. Keep up the amazing work!!
My favorite control code makes Resetti's theme play on repeat, it even splits the instruments in the museum
I am truly amazed at the number of bugs that would be fixed by simple unit tests or PR reviews
I find it amusing that re-burrying the unknown fossil was so widespread it got back to nintendo, so they had blathers specifically call it out!
as a sims 2 player in 2024 i've finally found a new channel to satisfy my curiosity for strange coding and mechanics decisions
I'M ON TV!!
Seriously though, you're amazing. The speed with which you are putting these videos out is astounding relative to the quality and research on display. It feels like it was just the other day that this topic was brought up and somehow you've already churned this out.
Keep up the great work, and don't be afraid to take a little more time if you need it! ;)
9:07 WHY HAVE I MEMORIZED THE BLOCK FLOORING CODE 😭
Amazing vid Hunter! Always amazes me how you find stuff from this game I have never heard anyone else talk about. Love this type of stuff
all of your videos are fascinating stuff. ALL of them. I can’t wait for more. Also did I hear the sting noise from the anime Asobe Asobase?
Would love to see a deep dive into how the game handles town rating much like your HRA video! Always curious how exacrly that system worked. Thank you for the content im in love with the channel
Whenever i see a new video on your channel it makes me so happy. One of the only channels on UA-cam where i can watch every video and enjoy it all the way through
Great video. Informative, clean professional and high quality. definitely subscribing to see more of these.
Also very exciting news about the decomp! Can't wait.
5:27 "You know what that means? fish"
Man I've been loving these videos so far, obscure info on games that I would never otherwise play has gotta be my number 1 fave genre :D
I love the bass/bass mixup! That's a fun one
Godddd I've been a huuuuge fan of these videos! Keep up the incredible work! Excited to see what you got coming next!
I remember that you can take the game disc out of the GameCube and it mostly still runs just fine. That might be an interesting video depending on the more technical stuff that does happen.
I think in the PAl version this didn't work when you tried to enter a building, it asked for the disc then.
great video! as a programmer myself i can understand oversights happening here and then, its almost innevitable lol
i'll have to check out some of your other vids to see any new stuff i may not know
Thanks for these videos. So informative and addicting
I’m unsure if I’ve commented on your videos, but I just want to say that I’m so glad your channel exists and I always wait for your next video. I’m neurodivergent and animal crossing was a special interest of mine as a child, I wanted to learn everything about it. I’m also an aspiring/beginner game developer! Learning about how this game works is awesome and your videos make my day genuinely. I hope that you never stop making content!
Means a lot, thank you for the kind words. Good luck on your journey of game development!
You've reawakened my interest in all things Animal Crossing through your deep dives. :)
9:28 to say you could literally generate infinite money or an item that could lead to instant %100 approval in newer games if this wasn't stamped out would be an understatement.
Your content is awesome. I have a feeling your viewership is going to skyrocket. I see your name in my feed and click right away.
I would love to see you cover other GameCube games too, like Pikmin or Super Mario Sunshine. As a lot of them have very messy codebases and buggy programming in general due to many of them being rushed and made under very strict deadlines, and it'd be interesting to see someone cover it.
I don't even play AC or watch content of it in any other form but this channel is ADDICTING
Sorry I’m late, but I feel like I’m understanding better now! I especially love your explanation about the coconuts and shells.
Edit: And ooh I do enjoy how I immediately understood the diary explanation. Back then? I was not the smartest… but I’m getting better
love ur channel ! happy new year
I just noticed that the rotation of the octagonal notches on the keyboard's analog stick is wrong. The orthogonals and diagonals are supposed to line up with corners, not sides. Oh that's gonna bug me now.
as a comp sci major i love watching videos about coding errors found in games, not in a “haha they messed up kinda way” but it makes me feel better about the simple mistakes i make in my own code
I always thought it was weird Blathers couldn't appraise fossils in the original game. Glad I know why now.
4:44 So cute, in-game items have their own genus/species
Man i never played Animal Crossing but watched almost all of yours videos, they are good!
I started AC: nGC for the first time today (I’ve been playing NH for almost its lifetime) and recalled this video and others about glitches and coding errors. Imagine my shock when my island had ORANGES as the native fruit?? And I couldn’t find this video right away to make sure I was thinking of the right fruit 😭 thank you for the video(s) on AC, it’s really lovely to enjoy with coffee.
The Nook codes may be limited but I smell ACE potential in custom e-reader codes...
Glad to have found this channel when it only had a few uploads
I've said this before, I don't play at much and I find this super interesting
I'd love to see more indepth looks at the glitches that crash the game! For some reason, game crashes have always fascinated me. I'd love to see what goes wrong, how it goes wrong and why it goes wrong!
Super exciting to know that a Animal Crossing decomp is on its way.
While there has been a handful of AC sequels over the decades, GC Animal Crossing holds a special place in my heart
Maybe if it releases in the future, you could cover it in a video?
Regardless, thanks this here
This channel is so fantastic and deserves more subs and views!
Loved the video if possible it would be really nice to see this type of video about other games
Its great to see other devs make mistake not just me 😆
3:10 Is that a damn floating point number being used to represent what will only ever be a whole number? ;:/
thank u for putting that fruit thing in a past video btw! couldn’t find anything on it by googling or anything had to find it in another video lmao i made a post out of it on reddit so hopefully more people looking for that information can find it i bet sooo many ppl were bothered by that
also for the next video a cool idea would be making it about the island and the whole gba link stuff its super neat it makes me wonder if there’s more to it
While I've played a little Animal Crossing, I never was the biggest fan of it (playing consistently long term). That being said, whenever I see one of your videos in my feed my day is instantly made better
unreal vid thanks hunter!
Always love your videos!
Was waiting for this man
Great video as always :)
As a programmer myself, your videos are so interesting, especially combined with a game I like ^^
I love this channel ive always wanted to get into coding and game making, my brother used to make pixle games back in the early 2000s and it always stuck with me watching him make sprites and code wapking, jumping and running. Too bad ill never understand it 😅😂
Great vid!
I find the random number 1-15 bug so funny. I’m still in school, and thats something you learn about in programming 1
Very insightful and well written video ❤
Me as a dev: bugs? Oh no!
Me watching a youtube video: bugs? Oh yes!!
nintendo accidentally giving you a bass fish instead of a bass instrument is extremely funny
Wooo a new video ❤
I remember there being a code that played Resetti's music. I always thought they were easter eggs though lol, I didn't realise it was actually broken code
Further notes on the e-Reader "Bug"
The game most likely is reading in code that says "Send Player this Item ID." Much like the Gran Turismo 2 Bug where the game is reading from the Table/Array and ending up with the wrong Rival in some European Events.
Now, why, did the Item ID get "Mixed" up? Well, Localization most likely caused this to happen. Though, I am probably wrong on that one. Do the Item IDs for US and Japanese Versions "Line Up"?
I would watch even more of this! Are you using a texture replacement to get smoother textures? I recall a 4k one in the works a few years ago that was fairly far!
Check the description!
You have become one of my favorite channels.
My wacky solution to the off by one error when using random number generator:
struct Includes { int i; };
struct Excludes { int i; };
Then override rng with these functions:
int rng(Includes min, Includes max);
int rng(Includes min, Excludes max);
int rng(Excludes min, Includes max);
int rng(Excludes min, Excludes max);
So every time rng is called it needs to be used like this thus preventing confusion:
int rng(Includes{0}, Includes{15});
these videos are so fun, please continue