Super Foul Egg
This is an iOS port of Super Foul Egg, itself a clone of Puyo Puyo released
for the Commodore Amiga in 1995. It is a port of the OSX version, which was a
re-write of Really Bad Eggs, which was itself a remake of Super Foul Egg for the
Coloured eggs drop down the screen in pairs. They can be rotated in clockwise
and anticlockwise directions. The objective is to arrange eggs of the same
colour so that their edges touch and the eggs connect. When four or more eggs
of the same colour are connected in a chain, the eggs disappear from the grid
and any eggs above them drop down to fill the vacated space. A number of
garbage eggs is dumped into the opponent's grid corresponding to the number of
eggs removed. The amount of garbage eggs increases dramatically if:
- More than four eggs are connected in a single chain;
- Several chains are removed at once;
- The removal of a chain causes eggs to fall, which in turn makes additional
chains of eggs.
Super Foul Egg features two basic game types. The first is a single-player
practice mode. Play continues until the grid fills with eggs to the point that
no more eggs can be placed.
The second is a two-player mode against the CPU. Each time chains are made in
this mode, garbage eggs are dumped into the opponent's grid.
A two-player mode that uses an adhoc local network between two iPads is in the
When the game starts a menu system is presented. Tap the options to select
The menus are as follows:
- Game Type: Choose from the practice game type or easy/medium/hard/insane
- Speed: Choose the speed at which the eggs drop down the grid. Faster
speeds mean less time to think.
- Height: Choose the starting height. The number corresponds to the rows
of garbage eggs added to the grid at the start of the game. More rows mean
the game is initially faster paced and harder.
- Colours: The number of different colours of eggs in the game. Each
additional colour reduces the chance of a particular colour egg being
created, making it more difficult to set up elaborate sequences of egg
- Best Of: The number of games per match.
- Move shape left: Swipe left
- Move shape right: Swipe right
- Drop shape: Swipe down with two fingers
- Rotate clockwise: Tap
- Rotate anticlockwise: Tap with two fingers
- Pause: Tap the pause icon (bottom-right of the screen)
- Exit: Tap the exit icon (top-right of the screen)
Garbage eggs are grey eggs that do not connect with any other eggs. The only
way to remove a garbage egg from the grid is to remove another egg adjacent to
The number of garbage eggs generated by chains is calculated via two forumulae.
For the first group of chains the formula is:
blocks - 3
If the player creates a chain of 5 blocks, the garbage created is:
5 - 3 = 2
If the player creates a chain of 5 blocks and a chain of 6 blocks
simultaneously, the garbage created is:
5 + 6 - 3 = 8
In subsequent groups of chains, the formula is as follows:
blocks - 4 + 6
So, if the player creates a chain of 5 blocks, which falls to create a chain of
7 blocks, the formulae are:
5 - 3 = 2 (first chain) 7 - 4 + 6 = 9 (second chain) = 11 (total)
Changes from the OSX Version
Each successive version of Super Foul Egg makes tweaks and changes from the
version that preceded it. Differences from the OSX version are:
- The AI is multithreaded for extra speed;
- The control system is designed specifically for a touch screen device;
- The two-player mode is currently unavailable;
- Hard drop (eggs drop automatically when swiped down) is forced on and soft
drop is not available.
To play the game you will need an iPad running iOS 5.0. It's tricky to play on
the simulator as it's designed around touch gestures, but it's playable. To
compile the sourcecode you will need at least Xcode 4.6.
Credits and Acknowledgements
- Coding, reverse engineering and remixing - Antony Dzeryn
- Original graphics and sounds - David & Michael Hay
- Simian Zombie logo - John Clay
Contact me at firstname.lastname@example.org.