From Sonic Retro
Spikes are sharp, pointy white obstacles common in many Sonic games. They are one of the most common obstacles throughout the series and have come in many forms. Usually placed where the player would not expect to see them, the points cause damage to the player when touched. In most cases, spikes cannot be destroyed.
Spikes vary in appearance and quantity across many games. For instance, spikes come in sets of three in the original Sonic the Hedgehog, but can come in sets of four in later Mega Drive games, and even sets of five in the Sonic Rush games. In some Zones, the spikes can have a unique appearance, such as being animated in Sonic & Knuckles' Flying Battery Zone, or having a digital appearance in Sonic Advance 2's Techno Base. Regardless, they all serve the same purpose.
They are generally stationary objects, but there are instances where they are used in a more trap-like manner. Some spikes can pop in and out of the ground at set intervals, which can be a nasty surprise for unsuspecting players, or are even placed on the crushing edge of a crusher. In Sonic 1 and most prototypes of Sonic 2, spikes have a nasty sort of behaviour commonly referred to as the "spike bug", where spikes are harmful regardless of whether Sonic is flashing or not.
A common variant are Spiked Balls that are heavy black or grey balls covered in spikes, and they are just as dangerous. They can be either moving in a certain pattern in the air, or swinging around on chains. They are much more common in Sonic Adventure.
In Sonic the Hedgehog 3's Marble Garden Zone, there is a Badnik that looks like a set of spikes, but acts as a spring and rises slightly out of the ground to shoot projectiles when the player approaches it.
In Sonic Mania's Press Garden Zone, there is a frozen variant that behaves like normal spikes, but can be destroyed with a Fire Shield. Additionally, Sonic Mania's version of Lava Reef Zone allows the player to destroy spikes using a walking platform mech.
|Game||Object ID #||Code offset||Mappings offset||Subparameters|
|Sonic the Hedgehog (16-bit)||36||$CE28||$CFF4||
|Sonic the Hedgehog 2 (16-bit)||36||$15900||$15B68||The first nybble can be set in the range $0-$3 and sets the spike style. The second nybble is a flag - if set, the spikes shift up and down, if clear, the spikes are static.|
|Sonic 3 & Knuckles||08||$23F84||$24456||The upper nybble determines size and orientation. Size varies from $0 (smallest) to $3 (largest), and if bit 2 of this nybble (bit 6 of the entire byte) is set, the spike is vertical. The lower nybble determines the spike type. 0 means static, 1 means it moves up and down, 2 means it moves sideways, and 3 means it's pushable.|