Underrun
A twin stick shooter in a dark, neon lit facility. Made by Dominic Szablewski (phoboslab).
WASD or arrow keys to move. Mouse to aim, click to fire.
How to play
- Move through a top down facility clearing enemies room by room.
- Move with one hand and aim with the mouse, independently of where you are walking.
- Enemies come in waves, so keep your back clear before pushing forward.
- Find the way through each area to descend deeper.
Playing it better
- Strafe. Circling an enemy while firing is far safer than backing straight away from it.
- Fight in doorways so only a few enemies can reach you at once.
- Keep the mouse pointed where you are about to go, not where you have been.
- Do not stand in open rooms. Corners and corridors cut the number of angles you can be hit from.
About Underrun
Underrun is a top down shooter by Dominic Szablewski, built for the js13k competition and released under the MIT licence. It renders a fully lit 3D scene using a custom WebGL pipeline in a tiny amount of code, and the result looks far heavier than it is: dark corridors, coloured point lights, particles and a low resolution pixel look that suits the atmosphere.
Play is twin stick. One hand walks, the mouse aims, and because the two are separate you can retreat while still firing at what is chasing you. That independence is the whole skill of the genre. Players who move and shoot in the same direction get cornered, and players who learn to circle a target while keeping distance clear rooms without taking damage.
Positioning matters more than accuracy. An open room gives enemies every angle on you at once, while a doorway forces them into single file. Fighting from choke points, checking behind you before advancing, and clearing a corridor before stepping into the next space are the habits that turn a short run into a deep one.
It is worth playing for the presentation alone. Very few browser games this small look this deliberate, and since the source is open and readable it has become a common reference for developers who want to understand how a compact WebGL renderer is put together. We serve the unminified entry point so the code stays inspectable.
Advertisement
Common questions
What is js13k?+
A yearly competition where the entire game must fit in 13 kilobytes. Underrun was built for it.
Do I need a mouse?+
Yes. Aiming is done with the mouse, so a trackpad works but a mouse is much easier.
What licence is it under?+
MIT, with the original copyright notice kept in the folder we serve it from.
Why does it look low resolution?+
That is deliberate. The renderer draws at a small internal resolution and scales up for a pixel look.
Play something else

2048
Slide matching tiles and chase the big number.
PuzzleMIT

Hextris
Spin the hexagon and match the colours before they stack.
PuzzleGPL-3.0

Pacman
Clear the maze, dodge four ghosts, eat the power pills.
ArcadeWTFPL v2 (public domain equivalent)

Clumsy Bird
One tap keeps you flying. The pipes do the rest.
ArcadeGPL-3.0