Mr Worm

Saved games stay in this browser only.

About the game

Mr Worm is a snake game with a twist: instead of moving on a grid in four directions, the worm glides in twelve. Each key press turns its head a little to the left or right, so you steer it in smooth curves rather than sharp corners.

A waffle sits somewhere on the screen. Run into it and the worm grows three segments longer, your score goes up by one and a new waffle appears. There are no walls: leave one side of the screen and you come back on the other. The only danger is the worm itself, and when it runs into its own body the game shows your score next to the best one of the session.

Playing it here

This is a CHIP-8 program. CHIP-8 is a small virtual machine from 1977, created for hobby computers such as the COSMAC VIP, and people still write new games for it today. Mr Worm targets SUPER-CHIP, a later extension of CHIP-8 with a sharper 128 by 64 screen, and is based on an old graphing-calculator game. It runs here in the Octo emulator. Click Play and press any key on the title screen.

F2 saves the state of the emulator at any moment and F4 brings it back. A gamepad works too: left and right on the D-pad turn the worm.

Controls

Key Action
A or Left arrow turn left
D or Right arrow turn right
any key on the title and score screens start / play again
F2 / F4 save / load the state

A few things worth knowing

Turns are gradual. Holding a key keeps the worm turning, and a full U-turn takes six steps of rotation. Start turning early when you are heading towards your own body.

Use the wrap-around. Since the edges connect, a long straight run across the screen is a safe way to buy time while you plan your next turn.

Give it a moment after a crash. The score screen ignores keys for a short moment so you do not skip it by accident while still steering.

Credits and licence

Mr Worm was created by Ryan Hitchman (rmmh) and written in Octo, the CHIP-8 assembler and emulator by John Earnest (MIT licence). Its author placed it in the public domain under CC0 1.0 through the Chip8 Community Archive. The licence text is linked from this page.