Heat Death

An arcade-style highscore-focused twin stick shooter. In my experience it runs best in Chrome or Edge, but should be playable in most modern browsers.

How to play

Dual Stick Controls

The dual stick controls with a gamepad are the recommend way to play. Visit https://html5gamepad.com/ to see if your browser supports your gamepad (you may have to unplug it, plug it back in, and press some buttons for it to be recognized).

You may also play dual stick with the keyboard, but there are a lot of buttons so it can be a bit tricky!

You can remap your controller or the keyboard controls by pressing the controller icon to the right of the game window after pressing play.

If you have an Xbox-style controller, the default mapping is as follows:

"Simple" Controls

If you don't have a gamepad with two sticks or you prefer to use fewer buttons on the keyboard, you can try the simple controls! You will automatically aim in the opposite direction you're moving so that you can shoot enemies chasing you. If you hold shoot, you will lock your aim in place and strafe. Let go of shoot to aim somewhere else.

You can remap your controller or the keyboard controls by pressing the controller icon to the right of the game window after pressing play.


  • Objective: gain heat by shooting enemies
  • Collect power gems to fill the power bar
  • Hold power button to charge ability (1...2...3)
  • Release power button to spend power on numbered ability
Number/CostAbility Name
1 power
DefragCollects debris in an area and converts it to firepower. The number of extra shots you get is directly proportional to the amount of debris it collects, so try to place it where it can collect the most.
2 power
CloakBriefly prevent enemies from chasing and aiming at you. If all players are cloaked, enemies will move towards and shoot at random locations.
3 power
Remote Backup
Creates a backup on the field which prevents one death. Instead of dying, you will be teleported to the backup you most recently placed. You can have up to 5 backups on the field at a time.
Remote Backup


  • Position yourself to kill high-value targets at the beginning of each level.
  • You are briefly invulnerable right when enemies spawn. Look for the flashing cross on your ship.
  • Dying resets your power to 2, so use your abilities proactively to avoid wasting power.
  • Use defrag liberally; it's the least expensive and it's the only ability that directly increases your offense.
  • You are not invulnerable while cloaked; be careful around erratically moving enemies.
  • You are briefly invulnerable after a remote backup triggers. Follow the line to find yourself after the teleport so you can regain control before the invulnerability runs out.
  • Remote backups are expensive; sometimes it's better to prioritize offense over defense.
  • You slowly lose heat over time; play faster to get higher scores.
  • Chain gems by collecting them the instant they flash your color for bonus points.
  • The gray number near the top left of the HUD is the heat remaining until you're award an extra life.
  • Some enemies drop green slime when they die. Slime will slow you down when you move through it, so try to avoid those areas or use defrag to clean them up.
  • Look at the post game stats to figure out where you're dying and what you could do better!

Inspired by Robotron and Smash T.V.

Source Code

Full source code is available here: https://github.com/Gate88/heat-death/

Rated 5.0 out of 5 stars
Made withPICO-8
TagsArcade, High Score, Local Co-Op, Local multiplayer, PICO-8, robotron, Shoot 'Em Up, Singleplayer, Twin Stick Shooter
Average sessionA few minutes
InputsKeyboard, Xbox controller, Gamepad (any)
AccessibilityConfigurable controls
MultiplayerLocal multiplayer
Player count1 - 4

Development log


Log in with itch.io to leave a comment.

Great little game! Just getting into PICO-8 dev myself so especially liked your motivation and value article which I'm currently reading.

One question though, is it possible to run your joystick remapping when running the game 'natively' in PICO-8 (I'm running it on Windows) as I can only see this option if running via the Itch webiste.

Cheers and well done

Nope -- unfortunately that's one of the limitations of PICO-8 supporting dual-stick. 

If you're playing single player in the native app you can use P1's directions to move and P2's directions to shoot, but PICO-8 does not let you map different player's movements to the same controller. You can remap keyboard controls there, but most people have a pretty hard time playing dual stick on a keyboard (there's a lot more buttons and it can get overwhelming).

OK thanks. Just so I'm clear then, the only (current) way to have the dual-stick setup is to use your 'remap controls' option that's via the HTML5(?) version?

(I've not yet even attempted to map joystick controls in my own game, so some of this may be more obvious once I get to that point I guess)



Yes, that's correct. In PICO-8 each player only has access to 4 directional buttons and 2 other buttons. Thus, to have enough buttons to support dual-stick controls, the game actually uses two players' directional controls at once. In the HTML5 version I can manually map both players' controls to one controller in javascript, but in the native version of PICO-8, joysticks will only ever map to one player's controls at time.


This is rad


Incredible arcady ambiance during the intro's introduction with the very frugal possibility of the Pico 8, and catchy tutorial for this game, which has many good ideas to add game-depth!


Thanks for the kind words!

(1 edit)

My current highscore table, for those of you who are competitive and want a goal!


Dude... this is amazing.


Ok yeah this rules