6

Donkey Kong Country was among the most ambitious, popular and influential of Super Nintendo games. Technically, its big trick was taking animations rendered on Silicon Graphics workstations and putting them on the cartridge to be displayed as SNES sprites.

The cartridge was 32 megabits (4 MB). That was pretty big for a fourth-generation game cartridge, and ROM chips were a significant contributing factor to total cost. If I were the developer, I would have tried very hard to compress the animations, background images and other data on the cartridge, decompressing them into console RAM for use. I'm sure the developers at the time must've thought of it.

What data compression techniques did they use?

13
  • 3
    Not an answer, but here is a post-mortem of another 3-D game, also pre-rendered on SGI workstations, released for another console at the same time
    – Davislor
    Commented Jan 3, 2021 at 7:10
  • 1
    In particular, part 3 of the Crash Bandicoot war story talks about how they did it for that game.
    – Davislor
    Commented Jan 3, 2021 at 7:15
  • 2
    A speculation, thus not an answer: there are two factors to consider - the memory consumption for decompression must be relatively low, thus complex Markov model-based algorithms are out; and, at the time, several efficient LZ algorithms, as well as arithmetic coding, were still under patents. Thus, a homebrew quick-and-dirty variant of a LZ family algorithm is likely.
    – Leo B.
    Commented Jan 3, 2021 at 7:22
  • 1
    @LeoB. Was avoiding patent fees a higher priority than getting a better compression routine that works, right away? Especially one that’s willing to pay for $100K IRIX workstations in the ’90s?
    – Davislor
    Commented Jan 3, 2021 at 11:08
  • 5
    sounds like custom decompression was used (the SNES CPU is a 16-bit 6502 like), check out disassembly here: github.com/p4plus2/DKC2-disassembly Commented Jan 3, 2021 at 17:46

1 Answer 1

1

A lot of the search engine results discuss compressing ROM files rather than how developers used techniques, algorithms, or special cart hardware to account for space limitations. MVG (Modern Vintage Gamer) has some really insightful videos regarding titles toward the end of the SNES' life that used tricks to crank out titles that went head to head with PSX ports at the time (Street Fighter Alpha 3 is a great example of this - https://www.youtube.com/watch?v=fB9GlZUYNUQ&t=8s).

1 or 2 specialized cartridge chips were created for realtime/fast decompression (https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips this was used in SA2 as mentioned above). CRT technology displayed low-resolution images quite well, so the lack of fidelity was not as jarring as when you display titles like DKC/Killer Instinct on panel tech. The cartoonish models they used were simple enough to translate well into 16-bit sprites. DKC2 and 3 appear to have some custom compression algorithms documented in various places online (google is your friend here). For the most part though, some wise choices are able to keep even some of the largest games under the 4MB ceiling.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .