Curse Of Zipfelmuetz

Free your cats in this 6 level jump and run involving broom riding. Exploration, retries and lateral thinking required.

Level "Enthusiastic Watchdogs"
Level "Windy Here"
Level ?
Level "FC Zipfelmuetz"
Level ?


HTML5 WebGL capable browser required. You can play in fullscreen by clicking the button "fullscreen" below the render area.



Must Read

The Trespassers Guide (second option in title menu) contains some hints.

You can start the game from every room (and therefore practice every level) by pressing left/right keys at first option in title menu. This game involves broom riding which you may want to practice by playing room 6 or room 3.

To win the game you MUST start in level 1 and solve all 6 levels in succession.

You can admit defeat in a level run by pressing key P. You can return to the title menu by pressing key P again.


This game is controlled keyboard-only.

Move around and Menu Navigation Arrow keys or WASD
Jump or any other action X or M. You will have to find out by yourself what other actions are possible.
Proceed in menus Return or Space
Admit defeat in a level P. To return to title menu press P again.


Its the time of the dark and ugly middle ages. You, young and energetic witch Joanna, were lucky cause you live in the kingdom of Zipfelmuetz which is not so dark and ugly at all, its secluded and even picturesque. You live happily together with your 50 cats. Now and then you generate a ruckus in your operations as if you wanted to qualify for enemy of the state, which earned you the nickname "Curse Of Zipfelmuetz". But your heart is in the right place and the other citizens are fond of you.

One morning you find your cats gone. Rumor goes these were snatched by magicians and held hostage in the Magical University Of Zipfelmuetz. Those high nosed snobs and mad bureaucrats ! You were cross with these as long as you can think back and now they seemingly found spell testing subjects in demand. Time to put your ruckus generating skills to work, shake up that university and free your cats ! The following night you embark on a rescue mission...

The game has 6 levels, is rather small in scale (for now) and there are puzzles in it. Thats it for info. Everything else you are supposed to find out by yourself. Happy exploration !


In the following a list of all tools and libraries I used for this game. Found them great and reliable. Hope this helps.

The game is C++ and, as should be obvious, handmade: I wrote everything. The only external code included (beside emscripten stuff) is glm (header) library ( and the "one file is all you need" lodepng ( The development zigzagged: Windows prototype, buried for a long time, emscripten version, Linux version, emscripten version again (

I made all the SFX with Goattracker ( The music was either made with Goattracker or a Novation Circuit. For some tracks I created versions with both. You find the Circuit version of "Witching" on the main page, here my experiments with a SID version (.sid, local). Title music is "Witches Ways", a Circuit/ELZ_1 track (on main page). Initially the title music was "Dear Enemy" (.sid, local), an older SID track of mine which I reworked for this game. You can play those SIDs with e.g. VLC. The fourth levels music is another Circuit track, "Hey HeyHeyHeyHey Hey", dancefloor with some dark souls voices/choir (on main page). The control pages plays the Circuit track "Behold The Cat".

The Linux native version uses SDL for audio (

Creating the speech with SAM ( was great fun, in particular to get German speech out of it. I tried to recreate some phrases from Beyond Castle Wolfenstein (the Apple II version).

The phrases to be heard in the game are:
(1) sam -mouth 230 -throat 180 -pitch 22 -speed 60 "WITCHINGgg.";
(2) sam -mouth 125 -throat 135 -pitch 80 -speed 40 -phonetic "AEREHST THAED WHIHTCH5.";
(3) sam -mouth 165 -throat 135 -pitch 100 -speed 40 -phonetic "OWOWOWOWOWOYOYOYOYOY.";
(4) sam -mouth 165 -throat 135 -pitch 160 -speed 30 -phonetic "AO5UW5S5W5AY5S5.";
(5) sam -mouth 165 -throat 135 -pitch 160 -speed 25 -phonetic "L5AO5NXG5SOH5MM.";
(6) sam -mouth 165 -throat 135 -pitch 160 -speed 40 -phonetic "EY5 EY5 EY5 STOHP THIHS.";
(7) sam -mouth 135 -throat 135 -pitch 160 -speed 30 -phonetic "BLAEIHBEHN SIY SHTEYN.";
(8) sam -mouth 165 -throat 135 -pitch 90 -speed 40 -phonetic "THAETS THEH KERRXS OHF TSIHPFEHLMUMTTS.";

(1) is "Witching !" (to be heard whenever you reclaim a broom, ups, you were supposed to find about that possibility by yourself), (2) "Arrest That Witch !", (3) "OWOWOWOWOWOYOYOYOYOY !" :-), (4) "Ausweis !" translating to "Identification papers !". (5) "Langsam !" translating to "Slow down !", (6) "Ey Ey Ey Stop This !", (7) "Bleiben Sie stehen !" translating to "Stop, do not move !" and (8) "That's The Curse Of Zipfelmuetz !".

Regarding graphics: I have drawn most of the sprites pixel by pixel, for some using video stills as template, e.g. for the crawling/grabbing hands I filmed my own. For background objects, more than often, I ran CC0 photos through filters of GIMP ( and/or G'MIC ( The latter also created some of the church windows (decor filter). In case of the title image for example I made a collage from several photos, drew some missing parts and then ran it through several filters. The font in the game is unscii-8-fantasy from (added a few characters, e.g. heart and underline).

Further gimp plugins/scripts used: for the magical currents (lightening), for the cat enclosing soap bubble.

Regarding physics: The rope physics (the ropes, not the catenary) in the game are actually cloth physics (!). I used this tutorial as starting point: . Some are "live" ropes (catenary after split), others are playback of recordings of different "live" ropes, which are made at program start. For the BSplines (paths on which e.g. the spirits move) I used as starting point. Made some changes because I needed closed paths. Every other physics I made from scratch, e.g. catenary, air bubbles, rocket (broom).

The remaining tools: For processing videos by script ffmpeg (, for non-script tasks Openshot ( Audio is processed by script using Sox (, for non-script tasks Audacity ( The native Linux version uses the PowerVR SDK ( which enables to use same OpenGL ES code in Linux as in emscripten (by restricting to the emscripten WebGL friendly subset of OpenGL ES). For general scripting, python ( As development environment: For Linux native version, CodeLite ( For emscripten, just Makefile and Geany as editor ( For merging DiffMerge (

A special mention goes to the wonderful game Cauldron (Palace Software, C64) which inspired to write the Trespassers Guide (and the prologue) in verses.

The game contains puzzles. If you get hopelessly stuck find a hintbook here.

Version history

0.43 Initial version.
0.44 New title music: Witches Ways. If you liked the original Dear Enemy, its here (as .sid).
0.45 Changed controls page music to Behold The Cat.