Spikes
Spikes are obstacles in Celeste Classic that can kill Madeline when she touches them. Spikes are one of two ways the player can die in the base game, along with the bottom of the screen. There are four types of spikes that point in each of the cardinal directions. Spikes are typically placed next to a block so that their prongs face outward.
Original Code
function spikes_at(x,y,w,h,xspd,yspd) for i=max(0,flr(x/8)),min(15,(x+w-1)/8) do for j=max(0,flr(y/8)),min(15,(y+h-1)/8) do local tile=tile_at(i,j) if tile==17 and ((y+h-1)%8>=6 or y+h==j*8+8) and yspd>=0 then return true elseif tile==27 and y%8<=2 and yspd<=0 then return true elseif tile==43 and x%8<=2 and xspd<=0 then return true elseif tile==59 and ((x+w-1)%8>=6 or x+w==i*8+8) and xspd>=0 then return true end end end return false end
Glitches
Spikes don't kill the player if she's moving the direction they face[1]. This means Madeline can move into a spike from behind it without dying. In addition to making it possible to fall through spikes, this also lets Madeline interact with a block that would otherwise be inaccessible due to a spike near it.
When there is ground under upward-facing spikes, Madeline can sometimes land on the ground while moving upward. Gravity isn't applied while Madeline is standing on the ground, so she can often stand on the ground for a long time. This is known as a spike clip[1]. If Madeline's upward speed moves her above the ground, she can perform a gracejump to gain more height than would otherwise be possible. This is known as a boost, and it can also be done if there are no spikes on top of the block.