vikingerik
Joined 5 years ago
Joined 5 years ago
The key is to make sure you never leave a defensive opening - you have to watch out for two enemy pieces attacking a pawn that's defended only once. The computer/opponent will sacrifice the first piece to get the second to break through behind the pawn ranks, and it can often demolish all the pawns from there or checkmate your cramped king.
(Of course, both really come from a long lineage of naval vessels with the name.)
The fuzziness is in the physical properties needed to achieve that. 13 Jupiter masses is generally the threshold where deuterium fusion starts, but that can vary: a brown dwarf composed of only primordial H and He would need a bit more, while one with some heavier elements from previous generations of stars will be denser and need slightly less. Rotation speed also matters: a faster rotator will experience centrifugal force and thus have less interior pressure.
And there is fuzziness in what we can observe, so sometimes we're not sure if an object is a brown dwarf. We may not know its exact mass and composition, and we might not be able to tell if it's radiating energy from deuterium fusion, or just from gravitational compression, or (in a binary system) if it's just reflecting light from its companion star.
It's low resolution at only 256 x 80, stretched vertically to the screen size.
It's only 16 colors so only 4 bits/pixel.
That comes to 10kb per frame.
A variant of Huffman coding gets it to 3.52kb per frame.
It's at 15 fps and is 12.5 seconds in length.
15 x 12.5 x 3.52kb = 660kb, which fits in a 4mb cartridge.
There is dithering to give the appearance of more colors, and it's done in vertical stripes rather than checkerboards because that compresses better. Then at runtime, every other scanline is offset by 1 pixel, and in opposite directions every other frame, so the dithering blurs back together to give the appearance of many more colors.
https://www.youtube.com/watch?v=Svz-W5w2bPM
There's a 7-minute version, with two more verses that aren't in the version you always hear on the radio. The one starting at 3:45 in that video is particularly powerful and chilling.
The signature hack on the system is to reuse sprites mid-frame. That's the "racing the beam": after an object has been drawn, reposition the sprite to draw something else further down on the screen, before the scanline beam gets there.
Pac-Man didn't do that. Instead, it draws only one ghost sprite per frame, and flickers between the four of them every four frames. The flickering and racing-the-beam are opposites, not one causing the other.
Atari's programmers knew how to race the beam for reusing sprites. Air-Sea Battle did it years before Pac-Man. What's different about Pac-Man is that the objects aren't constrained in their movement. They can overlap on the same scanline which makes drawing multiples with a single sprite impossible. The right solution to this and what Ms. Pac did is smart sprite reuse - if they're on the same scanline, flicker temporarily, but then when they move to be separated vertically, race the beam to display both together. This didn't happen for Pac-Man because Atari rushed it to release in too short a timeframe to implement that, and also the code wouldn't have fit into a standard 4k cartridge and would have needed more expensive hardware with bankswitching logic chips. 2600 Pac-Man's terribleness was a business decision, not a technical limitation.