Duckmaze
Saved games stay in this browser only.
About the game
You is a duck what can move walls, and you is in a maze, like. That is how the game explains itself, and it is about right. The duck walks around a grid of little maze walls, and if it walks into a wall, it pushes it, as far as the wall can go. The catch is in the rule: a wall will not move if there is another wall in its way. So a maze that looks closed can be opened by pushing the right wall in the right order, and one that looks open can be shut by a careless push.
There are eighteen mazes, starting with ones that solve themselves and ending in some that take a lot of thought, and each has a clock counting down in the corner: if you do not reach the edge in time, the level starts again. Your progress is saved, so a later visit can start from the level you reached.
It is a tiny game by one person, made in 2007 for the GP2X handheld and for PCs, drawn entirely with squares and circles and a hand-drawn duck on the title screen.
Playing it here
The first time you click Play the page downloads the Python runtime and the pygame library (about 23 MB), which takes a few seconds; after that a "click to start" message appears, and one more click opens the title screen. The download is kept by your browser, so the other pygame games on the site open faster. Nothing is loaded from other sites. The levels you have unlocked stay in this browser only. This version has no sound, and no level editor: the original editor saved levels the game itself could not yet play.
Controls
| Key | Action |
|---|---|
| Arrow keys (or O left, P right, Q up, A down) | move the duck, and push the wall in front of it |
| Hold a key | keep walking in that direction |
| Escape | pause: continue, restart the level or end the game |
| Up / down and Return | move through the menu and choose |
| Any key | start from the title screen |
A few things worth knowing
Think before you push. A pushed wall slides until something stops it, and you cannot pull it back, so look at where it will end up.
Walls cannot pass each other. If a wall is blocked, the duck is blocked too. Sometimes the way forward is to push another wall first.
Watch the clock, not the walls. The time is generous on the first levels and tight on the last ones; restart a bad level from the pause menu instead of waiting for the timer.
Frequently asked questions
Does it save my progress? Yes, the last level you reached, in this browser. On the title screen, Escape opens a menu where you can start from any level you have unlocked.
Does it work on a phone? It needs a keyboard, so not really.
Is it free? Yes: the code is free software under the GPL, version 2 or later.
Credits and licence
Duckmaze was made by Andy Balaam in 2006 and 2007, and released under the GNU General Public License, version 2 or (at your option) any later version. This version is the 0.2 release as kept in the author's repository, ported to Python 3 with a few more changes to run in a browser (the complete source, the changes and the licence texts are linked from the Licenses page). The game runs on pygame-ce (LGPL-2.1) and CPython, whose licences and source are linked there too.