Hackable Halloween games MMXXIII
13 spooktacular games plus source code for readers to jam on.

As Halloween approaches, I have a special treat for you: some short, sweet, and spooktacular games lovingly crafted during game jams such as Ludum Dare and Godot Wild Jam. All mixing programming languages like JavaScript and Haxe, game engines like Godot and Unity, and all sorts of code, pixels, and sounds in a creative cauldron for your enjoyment.
Don’t let the code samples scare you! While “jam code” might not be famous for its readability or maintainability, most of these games are easy to tweak, allowing you to make yourself invulnerable, grant infinite ammo, or jump to your heart’s contentâyour hacking skills are the only limit.
Many of these games are browser-friendly, providing excellent, eerie entertainment during your coffee breaks. So, grab your broomsticks, don your witch hats, and join us on a hair-raising journey through these 13 Halloween-themed games, all free to play.
Cheat with Ciara and the Witch’s Cauldron đŞđ§đťââď¸
It was no surprise that Ciara and the Witchâs Cauldron took 1st place in Godot Wild Jam #53âwith its delightful style and voice acting. In search of a cure for her bedridden mother, a young girl ventures into the unknown, and a series of perplexing puzzles, seeking the counsel of a witch.
The last level is extremely challenging. The Konami code wonât help you here, but if you press down, right, left, left, up, right, left, up, right, down, right, up, left, down, left, up, left youâll be alright đđť </spoiler_alert>
Or if you really want to cheat, just change Player.gd line 45
as follows and youâll move more freely.
- number_of_tiles = free_spaces[direction]
+ number_of_tiles = 1
for element in elements_carried:
if element.get_free_spaces(direction) < number_of_tiles:
number_of_tiles = element.get_free_spaces(direction)
Though I Walk 𪌠đśđż
Though I Walk is a unique and very challenging gameâdepending on your point of view, and I mean that quite literallyâwhere you guide your body and soul through the shadow of death, collecting chalices and solving creative platforming puzzles.
Yamsylvania đ§đťââď¸ đŚ đ
Thereâs only one thing I hate more than maintaining a horde of YAML files. And thatâs yams. In a world overrun by Yampires and Yampire Bats, you, a determined farmer, must continue selling yams to survive while using yams as your only defense in randomly selected levels. The aptly-titled Yamsylvania will mostly likely meet all your yam-yubbinâ needs. Just donât run out of yamunition.
Norman the Necromancer đ§ââď¸ âď¸
Norman the Necromancer puts you in the shoes of a renegade necromancer, endeavoring to master the art of reanimating the dead, all while facing relentless pursuit by the local villagers. Luckily, Norman has a few spells up his sleeve for you to sling.
If youâre into productivity, consider killing two birds with stone, or rather, multiple villagers with one spell by changing game.ts line 151
:
onCollision(target: GameObject) {
for (let behaviour of this.behaviours) {
behaviour.onCollision(target);
}
if (this.despawnOnCollision) {
- game.despawn(this);
+ // game.despawn(this);
}
}
Bonus: @null-bot9875 wrote an in-depth article on how they built the game if you are curious to know more about the magic inside the game.
Ghost Snap đť đ¸
Ghost Snap is a miniature open-source game that focuses on the captivating concept of snapping ghosts. It was created for A Game By Itâs Cover jam, which challenged participants to turn the fictional cartridge art of the My Famicase Exhibition into the real thing. Boo-tiful!
Don’t Suck at Silver Bullet đ§đ˝ââď¸ đŤ
Silver Bullet was a fangtastic entry in 2022âs GitHub Game Off taking a respectful 6th place in the graphics category and an impressive 13th place overall. With a trusty pistol and a solitary silver shell at your disposal, stealth and strategy are your allies as you navigate a treacherous train, dispatching vampires with precision.
Brains đ§ đ§ââď¸ đş
Brains is a brain-chomping, rhythm-based, puzzle adventure game (try saying that ten times fast), featuring some of the cutest zombies youâll ever see. Bust a move and progress through all of the levels.
Big Black Book of Magic đŽ đ
âExpelliarmus!â and âExpecto Patronum!â your way through Big Black Book of Magicâa platform game where you must defend your castle from marauding monsters with a unique spellcasting mechanic. Itâs as easy as klaatu barada N… necktie… nectar… nickel… noodle⌠nikto!
Deliverance : SOUL REAPER đŤ đ
Deliverance : SOUL REAPER came in a respectable 11th place in Ludum Dare 53 with a small, fast-paced FPS challenging speedrunners to collect souls as fast as they can. Let us know if you manage to complete this in under a minute!
Boo Bark đť đŚŽ
Mischievous ghosts have wasted no time in making their presence known in Boo! Bark! It’s up to you to defend your human from ghostly incursions by barking and chasing away the pesky spirits.
WitchCup1276 đ§š đ
If youâre like me and grew up with games like Ivan “Ironman” Stewart’s Super Off Road, Super Sprint, or even Micro Machines then youâll be totally bewitched by WitchCup1276. Race (or rage) against three other witches, avoiding low-flying brooms and jinxes thrown your way.
Is a witch really a witch if they canât cast a simple spell to make themselves pass through solid objects? Give yourself a flying chance by editing witches.js line 876
so that you can do just that.
- let hitObstacle = hitsAnything(this.game, newP, this.isPlayer);
+ let hitObstacle = false;
if(!hitObstacle) {
this.p = newP;
this.rot += r;
if(r != 0) {
this.speed *= 0.5;
this.acc *= 0.1;
}
return true;
} else {
addCollisionParticle(this.game, this.p, 1);
}
Dante đ đĽ
Youâll have a devil of a good time switching between top-down and first-person views guiding Dante past obstacles and delivering lost souls to where they belong.
Fort Knight đĄď¸ đ
Fort Knight takes place in a land of skeletons and goblins, where youâll need to guide the hero across 10 levels. Thereâs no storm nor 99 other players to worry about, so this should be a more straightforward âbattle royale.â
If you look in hero.js lines 22 - 39
youâll see a whole bunch of powerups set to default values. isGad sounds an awful like lot like isGod, which reminds me of âgod mode.â Setting this to true will make things a tad easier.
// PowerUps
this.powPlus=0;
this.defence=1;
this.speed=0;
this.attackTime=0;
this.renderPower=false;
this.facing=lastDir;
this.attackOver=false;
this.dance=false;
this.axePower=1;
this.hammerPower=1;
this.castleDst=0;
- this.isGad = false;
+ this.isGad = true;
I hope you have a boo-tiful time checking these out (version control pun intended). Did you get a high score or create a fun fork? Share your screenshots with us on TwitterX!
Tags:
Written by
Related posts

Shine a spotlight on your open source project
Celebrate #MaintainerMonth with two big opportunities to showcase your open source project at GitHub Universe and WeAreDevelopers World Congress. Applications are open. Donât miss out!

Our pledge to help improve the accessibility of open source software at scale
GitHub takes the Global Accessibility Awareness Day (GAAD) pledge.

Dos and donâts when sunsetting open source projects
Three maintainers share their tips for gracefully sunsetting open source projects.