๐ฆ Shrimp
Shrimp is a high-level scripting language for writing Game Boy games. It compiles directly to LR35902 machine code โ the CPU inside the original Game Boy โ and produces standard .gb ROM files.
What you can do
- Define pixel art as tile literals right in your source code
- Handle input with
pressed()andjust_pressed() - Draw sprites and backgrounds with
set_sprite()andset_bg_tile() - Write game logic with variables, loops, conditionals, and functions
- Run instantly in the browser IDE with a built-in emulator
Quick taste
from core import pressed, set_sprite, Button
tile ball:
..33....
.3333...
33333333
33333333
.3333...
..33....
........
........
let x = 80
init:
set_sprite(0, x, 72, ball)
on vblank:
if pressed(Button.Right):
x := x + 1
if pressed(Button.Left):
x := x - 1
set_sprite(0, x, 72, ball)
How it works
- You write
.ssource files in the Shrimp language - The compiler tokenizes, parses, resolves symbols, and emits LR35902 machine code
- A ROM writer packages the code + tile data into a valid 32KB Game Boy ROM
- The emulator (or any Game Boy emulator) runs it
Next steps
- Getting Started โ write your first program
- Syntax โ full language reference
- Built-in Functions โ sprites, tiles, input, and scrolling
- Examples โ Pong and Platformer walkthroughs