19.2 The Pop Framework games hall of fame
Here are the names and concepts of some of the computer game projects that student teams have done using earlier versions of the Pop Framework in the author's software engineering class over the last few years . Almost all of these games are two-dimensional games, because only with Fall, 2001, did the Pop Framework begin to offer support for three-dimensional games. In the two-dimensional games, the user is normally looking down at a world from above, moving the player critter with the arrow keys or the mouse, similar to the games Asteroids or PacMan.
They're listed here in chronological order. Virus-checked executables and help files (but not the source code) for some of these are available online at the book website. If you make a game project with the Pop Framework that you're proud of, check on the book website to see about posting it there.
Body Defense . Germs fall down the screen shaped like an artery, and the player shoots them with an inoculation gun. Beautiful graphics, but a bit weak as a game, in that the player has only one degree of freedom in left/right motion. So it's a little too close to Space Invaders.
Brick Bugs . Player pounds a way out of an encircling wall of bricks, while little brick bugs shoot things. Numerous kinds of brick bugs; meaner ones are attracted by the 'noise' of the player pounding away bricks (which disappear after a few hits as in the arcade game Breakout). An original idea.
The Brickbugs game
Garden . Player feeds plants with water and tries to protect them with poison spray from attacking bugs. Water and poison sources are on ladders on either side of the screen. This was one of the first projects to use animated sprites .
The Garden game
Grammar . Player picks a floating disk with the correct word to complete a sample sentence . An effective educational game based on PickNPop.
The Grammar game
Lunatic . One of many Spacewar-style shooting games. Player's vehicle takes on varying properties as different enemies attack.
Olympod . Car racing game in which cars go around on an oval track and the player needs to back up if a car runs off track. The cars use the 'sniff' method to look at the background pixel color at their location so as to detect when they have run off the track.
Paratrooper . Player jumps out of a helicopter moving across the screen, must shoot or avoid birds on the way down, tries to land in a rowboat at the bottom. Cleverly done.
Safari . Player rides in a jeep on a road going across the screen. Multiple screens. Player 'shoots' a camera to send light bulbs out to 'capture' critters that move by. A non-violent spin on a shooting-type game.
Shepherd Boy . Player herds sheep around, who are repelled by him, tries to herd them into a pen. Wolves come to eat the sheep, player can throw rocks at them. Good physics and playability in this one.
The Shepherd Boy game
Airstrike . A game like Spacewar, enhanced by having some moving clouds in the sky and by having critters explode into fragments when you shoot them. The bitmaps aren't handled very well here, that is, the background bitmaps are so intense that its hard to see the critters on top of them.
Amazing Mouse . A game like PacMan, with the player as a mouse eating pieces of cheese, and the enemies as cats. Each piece of cheese (or food-pellet) was a critter, the speed was kept high by not checking collisions for the cheese critters.
The Amazing Mouse game
BB Rampage . A game that's actually 'two- and a-half-dimensional,' that is, it's a two-dimensional game laid out to look three-dimensional. Player uses a variety of weapons to kill off cute dolls that have taken over their factory and run amok. Player must also press buttons in a certain order to turn the machinery off. Quite professional in execution.
Deer's Revenge . Player is an armed deer critter shooting at hunters. The world is larger than a single screen, and the background scrolls to keep the player in the center. Icons are animated, and they change appearance to match the motion direction of their critters. Both of these features were big achievements at the time, as player-tracking and animated icons weren't yet built into the Pop Framework.
Labyrinth Roller . Interesting game modeled on the wooden Labyrinth game in which player tilts the board this way and that to lead a heavy ball through a partially walled maze without falling into pitfall holes (see Exercise 18.8).
The Deer's Revenge game
The Labyrinth Roller game
Pixie Quest . A three-level game based, like many other projects, on the Pop Framework Spacewar game. Beautiful background bitmaps make this game a stand-out, and rather than shooting bullets, the player is spreading pixie dust to neutralize opponents like wasps and bees.
The Pixie Quest game
Treasure Hunt . A multiple level game where player first gets past a wave of attacking fish, then lands on an island and avoids tigers by shooting them until a barrel of gold is found. Shooting an elephant by accident reduces player's score.
City Hunter . A world larger than one screen. Player moves around, looking for enemies to shoot, sometimes hiding behind tree and house critters when the enemies shoot back. There is a moving car critter the player can jump into and drive.
Climber . Player is climbing up an office building. The windows keep opening with critters throwing objects out. Player must avoid the open windows and the falling debris, which included typewriters and pianos! This is nice. It's really a kind of vertically oriented side- scroller .
Dash 2000 . A car-driving game with a track shaped to go all around the border of a map of the United States. The sniff method was used to detect going off the track. There was some difficulty getting the view to zoom in, though this should be possible now with the latest Pop Framework.
Four Pieces of Fate . An Egyptian-themed game with four levels. On each level the player picks up a key, avoiding enemies and moving among walls.
The Climber game
The Four Pieces of Fate game
LifeSaver . A tank game where player uses the arrow keys to drive a tank around a world you view from above. In the world are other tanks and walls. They shoot and player shoots back, aiming the gun with the mouse. There are health- packs and an imprisoned critter to be rescued. Second level player is in the water in a submarine , doing the same kind of thing.
Pinball . A pinball game with several levels. These students got the physics of the flippers to work correctly, which was a non-trivial task. The game still doesn't quite nail the problem of making a really good pinball game.
The Pinball game
Robonator . An impressive game with scads of animated icons. Little robots attack relentlessly as player moves from board to board, using arrow keys to move and mouse click to shoot. Inspired by Robotropolis.
Soccer . Two five-man soccer teams fight it out. The user's control shifts to whichever of the onscreen players is closest to the ball, which is an interesting solution to the problem of how to control a team of players “ shift the listener to whoever has the ball! User has the option to dribble the ball along or to kick it.
The Robonator game
The Soccer game
Alien Invaders . A game similar to the arcade game Defender. Player is limited to the left half of the screen, and shoots to the right. Enemy critters stream in from the right. The game has a moving star-field background, regenerated by a series of little Line calls for each update.
Foosball . A nice game modeled on the physical Foosball game. This is a game with sliding rods and plastic soccermen mounted on them. Player moves the rods, trying to make the soccermen block a ball from going into the goal. A major weakness is that the player can't 'spin' his rod to make his players kick, they act only like blocks.
The Foosball game
Lost Crown . A nice side-scroller game in which player collects treasure and avoids monsters.
The Lost Crown game
Triangle Stacker . A game similar to Tetris, using triangle-shaped pieces. Why not do real Tetris? Students are discouraged from doing the real Tetris game, as the code for this is so well known. This version isn't quite as solid as it could be, though.
3D Blaster . An enhancement of the Defender3D game. You fly your player forward for quite a long time, with waves of different kinds of enemies coming at you. In a way, the game is a kind of first-person-shooter sidescroller. Slightly rough in appearance, but runs at a good speed. An effective 3D experience.
The 3D Blaster game
3D Jewel Hunter . An OpenGL view of a two-dimensional maze game, with three-dimensional creatures in it. The power-packs are spheres and, which is what makes this project impressive, the enemy critters are animated 3D mesh-shapes covered with graphical texture 'skins.' The shapes and skins are read in from standard Milkshape 3D files [a recent address for the shareware Milkshape 3D modeler's home page was http://www.swissquake.ch/chumbalum-soft/, and if this no longer works, search for 'Milkshape 3D.'] This is one of the few projects for which we'll place the source code on the book website.
The 3D Jewel Hunter game
AntiVirus . A well-crafted maze game where player tries to kill off enemy critters on a series of levels. Interest is added by the fact that you have different colored power-levels, selectable by an extra toolbar.
Bermuda . A basic Game Stub-type game with shooting enemies, power packs, and walls. World is larger than the visible screen, and is themed with marine bitmaps.
The AntiVirus game
The Bermuda Triangle game
Ghostcastle . An excellent copy of the classic came Star Castle. Player shoots at a central mother ship that's surrounded by three rings of walls. Each of the wall-rings is an octagon made up of eight cCritterWall objects. The walls are kept rotating by a cForceVortex.
The Ghostcastle game
GoFishing . An original game idea. You move the player back and forth along the top edge of the screen, and use the Up/Down keys to lower and raise a fishing line. In the 'water' that fills most of the screen are fish and crabs. If a crab touches your line you lose a health point. If the hook at the end of your line touches a fish, you catch the fish and get a score point. Program has a bug that occasionally sets the crabs to multiplying uncontrollably.
TequilaWorm . A maze game inspired by Slithereens. Your player moves about in a maze trying to eat (from the tail-end first) some enemy worms. The worms are constructed as in the Pop program Worm game, as critters linked together by rod and spring forces. A good job.
The Go Fishing game
The Tequila Worm game
3D Bug . Based on Defender3D, but you aren't riding the player. You use a crossbow to pop bubbles which contain bugs (bad) or butterflies (good). These flap over to a row of trees behind you, either eating the tree or producing fruit. Each critter has a 'brother' critter that acts as its shadow; the shadow critter copies its brother's (x,y,z) position, but sets y (which is 'up' in this world) to the low value of the border box.
The 3D Bug game
3D Rat Race . Based on the GameStub with a cGraphicsOpenGL view to give a 3D effect. A maze-style game. The player has a nice-looking rat-like cSpriteComposite icon made up of circles and triangles . There are enemy birds that have their _spriteattitude set with a z -axis component that makes them appear to float above the board (even though their collisions are still computed as if they were down on the board with the other critters). The enemy birds have composite sprites consisting of a body and two wings, with the notable feature that the animate method adjusts the wing _spriteattitude matrices so as to make the wings flap.
The 3D Ratrace game
JumpSport . A side-scroller with moving platforms that your player hops onto. Nicely executed with attractive backgrounds.
The Jump Sport game
KillTime . A simple level-based 2D game with lots and lots of enemies chasing you. Tweaked for good playability.
The KillTime game
Pop Rally . A car race game using the waypoint technique to enable the rival cars follow the track. (see Exercise 7.8) The player is kept on track by walls without having to use the sniff method.
The Pop Rally racer game
Smart Cat . A maze-style game with dogs chasing the player cat which chases mice. Nice animated icons.
The Smart Cat game