Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Two interesting fun facts about Pokemon Crystal:

1) Pokemon Gold/Silver, the prior versions of Crystal, was programmed by four people. (http://en.wikipedia.org/wiki/Pokémon_Gold_and_Silver#Develop...)

2) Crystal is 1MB in size. Yes, one megabyte.



> Crystal is 1MB in size. Yes, one megabyte.

Is this notable because it's little or because it's a lot?

Zelda III for the SNES was 1MB. Pokemon Red and Blue was 512KB, which is also quite a lot for a Gameboy game.


That seems pretty small by today's mega sized binaries. But for an assembly program that seems very big. It is impressive that a large part of my childhood was written in assembly


Considering busybox (statically-linked ls, etc.) is 2MB, 1MB is pretty impressive.


There was an interesting talk on this at Linux.conf.au a couple of years ago, trying to figure out why modern binaries are so large. http://www.youtube.com/watch?v=Nbv9L-WIu0s

> Bloat: How and Why UNIX Grew Up (and Out) - Rusty Russell, Matt Evans

> The 'ls' binary on the original release of Unix (version 6) was 4920 bytes long. Thirty six years later, 'ls' on Ubuntu is 105776 bytes. Is this the laziness of modern coders? Increasing features? Does 'cat' really now do 313 times more stuff, or is there something else going on?


OT: I find it slightly disturbing to read people's Google+ conversations that were imported to extend the YouTube thread. I hope YouTube/Google isn't really buying Twitch, despite the return that would mean for the Twitch investors.


As the comment in https://news.ycombinator.com/item?id=7769456 notes, these games were written in Asm while busybox is C.

It depends on the exact proficiency of the programmers involved and the compiler/platform/etc., but it's not unusual to have an order of magnitude difference or more between the same application written in Asm vs. a high-level language like C.

People have tried to rewrite standard *nix utilities in Asm; one example is Asmutils[1][2] which certainly illustrates the "order of magnitude or more" size difference. If you're curious about extreme size optimisation there are many cool examples of that in the demoscene, like 96KB games[3] and all the 4k/64k intros.

[1] http://en.wikipedia.org/wiki/Asmutils

[2] http://asm.sourceforge.net/asmutils.html

[3] http://en.wikipedia.org/wiki/.kkrieger


Well, Pitfall! II on the 2600 is 4 KB, and run in 128 bytes of RAM, and has 256 different levels.

See http://www.youtube.com/watch?v=MBT1OK6VAIU


Does that include artwork, levels, sound, everything?


Must do, the art is all very compact. 2 bits per pixel - so 4 colour palette or 2-bit grayscale in the first game. All you need is black, dark grey, light grey and white and you have Pokemon Red! Music is also pretty small, as it's synthesised you don't need to store samples, you can loop repeated sections to save space and so on.

This is the entire overworld for Kanto, for instance.

http://socks-studio.com/img/blog/tumblr_lkshcyoNE81qhydr5o1_... (Red/Blue)

http://1morecastle.com/wp-content/uploads/2012/09/MQ2-612x49... (Crystal)

It's not as big as you remember it, I'll bet ;)

Even Johto isn't much bigger:

http://members.shaw.ca/dwarkentin/Webpage/graphics/mpics/joh...

And as the person below also mentioned.. No, the credits for Pokemon are extensive. There may only have been four coders, but there were level designers, sprite designers, etc, etc.


yeah, he's referencing the size of the flash rom dump that the cartridges came with.

edit: oh, I didn't notice your question can be answered two ways. For the other half, I am unsure if it was 4 people on the whole project.




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

Search: