Skip to content

Thirteen spooktacular games to play, hack, and slash this Halloween 🧙🏻‍♀️

Make a pillow fort and grab some candy (and a friend) before you play and hack your way through 13 of the spookiest game jam games.

Thirteen spooktacular games to play, hack, and slash this Halloween 🧙🏻‍♀️

With Halloween creeping up (and Game Off just days away), we thought you might enjoy some fun, fiendish, and forkable games that have risen from game jams over the years. For the undead uninitiated, game jams are hackathons for building games in just a few days or weeks based on a theme or some other constraint like limitations to CGA color palettes, total filesize no more than 13kB, or fitting an entire game into a 64×64 pixel canvas. They’re fun, challenging, and we’ve seen some spooktacular creations!

We’re covering 13 games with ghosts, ghouls, demons, daemons, witches, worms, and a myriad of monsters from jams like CGAJam, Global Game Jam, JS13K, LowResJam, and Ludum Dare. Play them alone in the dark, or fork them and make some tweaks to the source to give yourself an advantage. We’ve provided a few cheat codes to get you started. 🎃

The Wandering Wraith (JS13K, 2019)

The Wandering Wraith

► Play in your browser · Source (JavaScript)
Game theme: Back · By @tulustul

A lost wraith is wandering through the world seeking peace. Will you guide him back to his grave so he can finally rest?

Fun hack: Give yourself infinite dash-jumping abilities and get to those hard-to-reach places with ease by commenting out this.dashed = true; in player-physics.ts L#285:

   this.player.body_.vel.y = 5 * (this.gravity > 0 ? -1 : 1);
-  this.dashed = true;
+  // this.dashed = true;
   zzfx(0.6, 1, 200, 0.1, 0.47, 4.2, 1.4, 1, 0.15);

Trick Parade (Ludum Dare 33, 2015)

Trick Parade

► Play on Win, macOS, or Linux · Source (Lua)
Game theme:
You are the monster · By @SimonLarsen

Trick Parade is an RPG with a twist—through a combination of menu-based combat and mini-game mayhem, you’ll quest to become a master of tricks and scares.

Daemon vs. Demon (Game Off, 2017)

Demon vs. Daemon► Play on Win, macOS, or Linux · Source (Godot, GDScript)
Game theme: Throwback · By @securas and @mundus

Winner of 2017’s Game Off, Daemon vs. Demon challenges our hero to fight their way back to the land of the living using the W A S D keys to move and the J K keys to hack and slash.

Fun hack: Having problems getting through those tentacled felines? Limit their ability to grab you by updating GRAB_PLAYER_TIMEto a higher value in scripts/

  var steering_control = preload( "res://scripts/" ).new()
- var GRAB_PLAYER_TIME = 0.5
+ var GRAB_PLAYER_TIME = 1337
  var grab_player_timer = GRAB_PLAYER_TIME

Murder at the Residence Gudul (Global Game Jam, 2015)

Murder at the Residence Gudul

► Play in your browser · Source (Superpowers, JavaScript)
Game theme:
What do we do now · By a team of ten people

With the theme “What do we do now?”, we were almost guaranteed some classic point-and-click adventure games. This one didn’t disappoint.

Mogee (LowRezJam, 2016)


► Play in your browser · Source (Elm)
By @w0rm, @kuzminadya, and @carlospazuzu

Built in just three days and 64×64 pixels, this pixelated platformer and infinite runner poses quite a challenge. 

Fun hack: Give yourself a speed boost with a tweak to Mogee.elm lines 20-27 by doubling the jump and walk velocities:

jumpVelocity : Float
jumpVelocity =
-   0.09
+   0.18

walkVelocity : Float
walkVelocity =
-   0.045
+   0.09

Monster Pong (Game Off, 2018)

► Play in your browser · Source (JavaScript)
Game theme:
hybrid · By @michelebucelli and Andrea Di Primio

2017’s Game Off inspired a hybrid of Breakout and Pong that can get monstrously difficult.

Fun hack: If it’s too challenging to defeat the computer, hack the AI! Removing the following from script.js lines 707-710 will force your opponent to make some monstrously inefficient decisions when it comes to which balls to intercept, giving you the advantage.

// Checks if there are balls attached and finds the nearest incoming ball
for ( var i = 0; i < this.balls.length; ++i ) {
-   if ( this.balls[i].v[1] < 0 && this.balls[i].x[1] < nearestIncomingBall.x[1] )
-      nearestIncomingBall = this.balls[i];
-   if ( this.balls[i].x[1] < nearestBall.x[1] )
-      nearestBall = this.balls[i];

   if ( this.balls[i].bound == 2 && this.t >= 3.5 )
      this.shoot ( 2 );

Witch ‘em up (CGA Jam, 2017)

Witch 'em Up

► Play in your browser  ·  Source (Lua)
By @Tinchetsu

Limited to a CGA color palette, this side-scrolling shooter might be the perfect introduction to fantasy consoles.

Fun hack: Press ESC to open the code editor, and give yourself more lives or health. You can even make yourself invincible.

Meteorite (LowRezJam 2018)

► Play on Win, macOS, or Linux · Source (Godot, GDScript)
By @Bauxitedev

Watch out for the giant floating eyeball that shoots purple laser beams in this low-resolution, metroidvania, first-person shooter. It’s even more impressive when you consider that this jam had a constraint where any game could only be a maximum of 64×64 pixels.

The Sucker (JS13K, 2012)

The Sucker

► Play in your browser · Source (JavaScript)
Game theme:
13 · By @onether

Can you survive the onslaught of zombies? This zombie survival game was made with less than 13kB.

Fun hack: Turn those red pixels into something a little slimier. Fork the repository and make the following change to this line:

app.blood.forEach(function (elem)
-  ctx.fillStyle = 'rgb(' + (128 + Math.floor(Math.random() * 128)) + ', 0, 0)';
+  ctx.fillStyle = 'rgb(0,' + (128 + Math.floor(Math.random() * 128)) + ', 0)';
   ctx.fillRect(app.round(elem.x), app.round(elem.y), elem.w, elem.h);

Dark Forest (Game Off, 2017)

Dark Forrest► Play on Win or macOS · Source (Unity, C#)
Game theme:
Throwback · By @progrium

Built in just ten days, this polished entry will keep you entertained as you take on an evil spirit from a dark realm.

Fun hack: Windows users can navigate to the DarkForest_Data folder and rename or swap the level1 and level2 files with one another to start on the final level.

Blood Worm (Ludum Dare 33, 2015)

► Play on Win or macOS · Source (JavaScript)
Game theme:
You are the monster · By @whitingjp

This game gives you control of a creepy-crawly worm complete with voiced sound effects. What more could you ask for?

Micromancer (Ludum Dare 33, 2015)

► Play in your browser · Source (JavaScript)
Game theme:
You are the monster · By Team RADMARS

This is another Ludum Dare 33 entry where you play as a necromancer king raising your army of the dead to fight on to victory.

Johnny Smiter: Episode Zero

► Play in your browser (and VR) · Source (JavaScript)
Game theme:
Back · By @supereggbert

This game throws you into a virtual reality forest where you must capture runes and avoid deadly spiders.

We hope you had fun playing with these games. Did you experiment with tweaking some variables, modifying graphics, or updating the sound? We’d love to see it—reply to our post or tag us on Twitter, Facebook and LinkedIn with screenshots or videos. ❤️

Happy hack-a-ween!

Build your own game this November

Inspired to build your own game? Game Off, our annual month-long game jam kicks off on November 1st. Check back for the theme and join the fun. 

Join Game Off


Explore more from GitHub



See what’s happening in the open source community.
GitHub Universe ‘22 Dev

GitHub Universe ‘22

The global developer event for cloud, security, community, and AI
GitHub Actions

GitHub Actions

Native CI/CD alongside code hosted in GitHub.
Work at GitHub!

Work at GitHub!

Check out our current job openings.