Spilleren skal samle alle hjerter for at åbne en skattekiste og samle ædelstenen indeni, hvilket åbner udgangen til næste niveau.
Spilleren skal navigere i forhindringerne i hvert niveau og undgå eller neutralisere flere forskellige typer fjender, som varierer efter bevægelse og angrebsmønster. Alle fjender forsvinder, når spilleren henter ædelstenen.
Spilleren kan bevæge sig, skubbe visse blokke rundt på niveauet og affyre et begrænset antal skud mod fjender. Når en fjende bliver skudt, bliver den et æg for en kort tid; dette kan skubbes til et nyt sted, bruges som en bro til at krydse vand, eller skydes igen for at få det til at forsvinde midlertidigt. Nogle fjender påvirkes ikke af spillerens skud.
Spillerens liv går tabt, hver gang spilleren bliver skudt eller berørt af bestemte fjender, så vil niveauet blive genstartet. Nogle fjender vil ikke dræbe spilleren, men kan hæmme hans bevægelse ved at stå stille eller fryse på plads, når de berøres. Spilleren kan genstarte et niveau når som helst, når det er umuligt at fuldføre det.