5 ms·
Modern Vintage Gamer just released a video [0] discussing this leak in greater detail along with its expected implications. Anyone who's curious can find the d
by TheAceOfHearts 6y ago
Modern Vintage Gamer just released a video [0] discussing this leak in greater detail along with its expected implications.
Anyone who's curious can find the download links by backtracking through all the Pokemon Prototype General threads under the Pokemon board on 4chan.
One of the leaks that caught my attention was the source for Pokemon Blue, partially because of nostalgia and partially out of curiosity to see what an old game's codebase even looks like. The first thing that stood out to me was the project's flat folder structure, full of hundreds of files; I guess I was expecting things to be a bit more structured. The source is more readable and approachable than I expected, although I've only poked around in some of the more obvious places and definitions. I'd recommend watching The Ultimate Game Boy Talk [1] before trying to dive into any code.
[0] https://www.youtube.com/watch?v=n8G7eq0GlQs https://www.youtube.com/watch?v=n8G7eq0GlQs
[1] https://www.youtube.com/watch?v=HyzD8pNlpwI https://www.youtube.com/watch?v=HyzD8pNlpwI
- BenoitEssiambre 6y agoThe most shocking part of this story is still that Nintendo keeps all its code in CVS. CVS!!!
- ginko 6y agoFor game code written in the mid 90s I'm actually pleasantly surprized. I would have expected just a bunch of copied folders with weekly snapshots.
- grawprog 6y agoIt wasn't Nintendo's CVS it was BroadOn's CVS. It was a third party Chinese company Nintendo allowed to produce Nintendo compatible hardware in China. They had access to a bunch of sdks and the source codes for the system to develop their hardware.
- fl0wenol 6y agoIt was probably iGware's or Acer's CVS when it was hacked, if I'd have to guess. RouteFree->BroadOn->iGWare->Acer Cloud Technology (as of 2011, now just a business unit)
- dehrmann 6y agoI have zero experience in the video game industry, but I'd think that since video games get ~zero attention after they're shipped, writing maintainable code is less of a priority. I'd be really curious to see how the Pokemon Red/Blue split was done. Is it a C precompiler flag? Build config? Actual config? Cloned repo?
- saagarjha 6y agoThey’re touched much less often than most software, but even older games would occasionally share engines and stuff. Games these days often have DLC.
- ptmcc 6y agoIn the old days that was probably more true than it is today, since so many games are "as a service" now with shared engines, online platforms, continual updates/patches, tons of expansions and DLC, supporting mods, etc. The downside is that we'll never really be able to play today's games nostalgically like we can with old burned-to-ROM games. Online multiplayer games have a shelf life of sorts that depends on the servers being available and having other people to play with. There's a few examples of community-driven projects to revive classic online multiplayer games with mixed success but it'll just never be the same thing.
- creamynebula 6y agoAfter MSN Gaming Zone died in 2006, the Age of Empires II community developed a multitude of alternatives to play the game online (with a rating ladder). The one that was the most widely used up to the very recent release by MS of AoE2:DE on Steam was Voobly, which exists since 2008, although back then it was called IGZones.
- chongli 6y agoThat’s not my experience of modern games. There are loads of games out right now that get patches constantly, sometimes even weekly. It’s not just multiplayer games; lots of roguelikes are in constant development as well.
- 6y ago
- sb057 6y agoIncidentally, Pokemon Red and Blue were disassembled years ago: https://github.com/pret/pokered https://github.com/pret/pokered
- lprubin 6y agoIs the reason for the flat structure saving space? I know on older games, space is at a premium and referencing files from the root might save some bytes so maybe that's the reason due to shorter file reference names.
- klmadfejno 6y agoI wouldn't be surprised. As I understood it, just translating the game into English was a problem because there's more characters to cram in the cartridge.
- wtetzner 6y agoI don't think the filenames of the source files would end up in the final ROM.
- mywittyname 6y agoThis was probably development environment limitations. You have to remember that this game was released in 96, which means it was probably developed on a command-line machine with an IDE like Turbo C.
- kimikimi 6y agoIt was way more common to simply not attempt to organize projects in this way "BITD" - it complicates your build system because now it has to manage paths, which entangles it with the OS file system. Not every file system even has subdirectories and not every tool acknowledges or agrees upon how to use them, so depending on how antiquated their dev environment was, it may have been totally impractical.
- numpad0 6y agoOr maybe it’s in part cultural. Deep nested hierarchy is not very Japanese concept.
- klmadfejno 6y agoMaybe relevant, but Pokemon Blue is part of the American release, which came quite a while after the original Japanese release of Green (both had a red). They had to rework some things to handle English. It wouldn't surprise me if that contributed somewhat to a less ordered structure in that it's an alteration of the original.
- Blackthorn 6y agoI'm really excited by the Pokemon leak. The game was so large and detailed yet the resulting output so incredibly tiny. The developers implemented so many tricks to keep the size down. Now you can see what they did and how it worked. This could be really historically important.