Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

Super Foul Egg

This is a MacOSX port of Super Foul Egg, itself a clone of Puyo Puyo released for the Commodore Amiga in 1995. It is a re-write of Really Bad Eggs, a port of Super Foul Egg to the Nintendo DS.

Game Mechanics

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.

Game Types

Super Foul Egg features three 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.

The last mode is a two player game. Two human players battle it out using different keys on the same keyboard.

Menu System

When the game starts a menu system is presented. Use the cursor keys to choose from the highlighted options. Press ">. to accept the selected option and move to the next menu. Press "," to return to the previous menu.

The menus are as follows:

  • Game Type: Choose from the practice game type, the easy/medium/hard/ insane player-vs-AI types, or the two-player game.
  • 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 chains.
  • Best Of: The number of games per match.

Controls - Practice and vs CPU Modes

  • Move shape left: Cursor left
  • Move shape right: Cursor right
  • Drop shape: Cursor down
  • Rotate clockwise: ,
  • Rotate anticlockwise: .
  • Pause/unpause: Return

Controls - Two-Player Mode

Player 1

  • Menu up: R
  • Move shape left: D
  • Move shape right: G
  • Drop shape: F
  • Rotate clockwise: S
  • Rotate anticlockwise: A
  • Pause/unpause: Space

Player 2

  • Menu up: Cursor up
  • Move shape left: Cursor left
  • Move shape right: Cursor right
  • Drop shape: Cursor down
  • Rotate clockwise: ,
  • Rotate anticlockwise: .
  • Pause/unpause: Return

Other Controls

  • Full screen: Command-F
  • Quit: Command-Q
  • Back to menu: Esc

Controls can be changed via the Preferences menu.

Garbage Eggs

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 it.

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 Nintendo DS Version

The OSX port has a number of differences to the DS version:

  • The scoring system is an exact replica of the Amiga original, not a Tetris- inspired system;
  • Scores are represented using the original Amiga graphics;
  • Eggs drop off the losing player's grid at the end of a game;
  • The larger screen size allows for the grid bottom row to be shown;
  • The bounce animation that plays when a garbage egg lands in a column is more dramatic.
  • The AI is considerably more advanced.

Requirements

To play the game you will need a Mac running OSX 10.7 Lion. To compile the sourcecode you will need at least Xcode 4.4.

Credits and Acknowledgements

  • Coding, reverse engineering and remixing - Antony Dzeryn
  • Original graphics and sounds - David & Michael Hay
  • Simian Zombie logo - John Clay

Email

Contact me at ant@simianzombie.com.

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.