Casual Games

In this class, we'll be putting together a game from the brainstorming phase right up into a good prototype.

Game Project

This is the game project I'm working on for the Casual Games class. It is tentatively entitled Phevo.

Interaction Spec

Phevo Title Screen Test: A test titlecard screen for my casual game, Phevo.


My project for this semester will be a game that is similar to battleship, but involves biological infection instead of artillery.

In Phevo, you have a board full of creatures, called phevos, that have a simple "genome." This genome expresses itself in the phevo's appearance. For example, phevos may have "genes" that code for the appearance of a red outer shape, and yellow inner shape, and several different geometric possibilities in their appearance.

The board you have is set up next to a board representing you opponents. There will be any where between 16 and 64 square on the board (the exact number will require user testing.)

Early Test Of Phevo Board: This is a sketch I made of what the board might look like in Phevo.  Some of the elements important to the game are already present.Early Test Of Phevo Board: This is a sketch I made of what the board might look like in Phevo. Some of the elements important to the game are already present.

To begin play, the user selects a phevo to attack the enemy. A regular phevo will be able to attack an enemy phevo with the same genotype. However, by spend more time (or resources, perhaps,) that phevo becomes more generalized. It may lose color or shape. This indicates that the phevo will be able to attack a broader range of targets. For example, a phevo without color may be able to attack phevos with the same shape in any color available. This makes the attack stronger.

Once the attack phevo has reached sufficient strength, the play can release it to attack the enemy. The player will need to balance between launching many quick attacks (very specific, depletes board stock) and slower power attacks (takes considerably more time.) The pace of this will have to be gamed in a prototype.

"Promoting" a phevo to attack leaves an empty space in the board that the player will need to fill. This can either be done by mating phevos or by cloning (I may have cloning be the default behavior, and may let that happen automatically unless the player intervenes otherwise.)

The game ends when the opposing player has had all of his or her phevos destoyed.

Attached is an archive based on a mechanic I have been meddling with for some time now. Requires Python and Pygame.

phevo.zip198.26 KB

Alpha Release Document

Today we see the release of phevo-0.0.33, the first alpha release of the game. It features a very basic AI opponent, more extended gameplay over previous versions, a brief set of instructions, and a number of bug fixes.

Phevo has also been set up for distribution at, the largest open-source development site on the Web. It is through SourceForge that development of Phevo is likely to continue into the future.

Because of the difficulty in developing and testing a game on my own, I have decided to open-source Phevo under the GNU Public License and release it to the public for testing and development. It is my feeling that Phevo will be able to find an audience, attract developers, and improve in quality because of this.

I would like to address these future developments point by point. First off, the audience for open source games is small but growing. There are a number of sites online, such as the Linux Game Tome, the specialize in Linux and OSS games for the community. It has been my experience that open-source users are very willing to try out new games, test them, report on them, give feedback, and even begin to crack them open to see how they work.

This presents me with a two-fold benefit. I develop a following for the game without having to commit financial resources or deal with a publisher. This following becomes my group of alpha testers as development continues. The second benefit is that I begin to attract other developers to the project.

If the proprietary world of software competes for financial resources, the open-source world competes for developer interest and time. I think I can garner enough curiosity about my project to be able to pull in at least one more person, and possibly a range of others who may commit small improvements with graphics, sound, and the like.

In addition to visual improvements, there are a number of game-level tasks that I'd like to see fulfilled in the alpha stage. One, I'd like to be able to get networking up and running so that two people could play the game against each other over the Internet. It would be especially great to get a meta-server running for it. Second, I'd like for there to be a massive code clean up in the graphics engine, which is starting to show serious weaknesses, especially with animation. Fixing this engine would allow for many more possibilities in display and UI innovations. Third, I would love to see subtle improvements in the game play as alpha feedback starts tickling in. The more feedback I get, the more I'd like to incorporate those experiences into better and more intuitive gameplay.

This concludes the pre-alpha development cycle for Phevo. I'd like to thank Peter Lee and the Casual Games class at Parsons for their continued interest, support, and criticism, which has made this odd little genetics simulation into something approaching a playable game. Cheers!

Prototype 1

Attached here is the prototype document for the first prototype of "Phevo."

prototype_spec.pdf149.21 KB


See the files below for significant builds.

First interaction test
Second interaction test
First prototype
Pre-Second prototype
Second prototype, with Windows executable in the "dist" directory
Third prototype
Alpha release
phevo-0.0.6.tar.gz94.58 KB
phevo-0.0.12.tar.gz578.07 KB
phevo-0.0.13.tar.gz573.72 KB
phevo-0.0.22.tar.gz581.52 KB
phevo-0.0.27_win.zip4.63 MB
phevo-0.0.31.tar.gz860 KB
phevo-0.0.33.tar.gz715.27 KB

Class Notes

  • Notes
    • Watch out for general scope
    • Show the opposing side?
    • Watch out for "heat death" scenario
    • Don't introduce randomness -- just kills the core mechanic
    • Keep an eye on the design
    • Pick a system and use that
      • Minesweeper?
      • Battleship?
    • Multi or single?
  • Assignments
    • Send email with presentation
      • No bigger than 500k
      • In email at least
      • Set up a development site
        • Blog?
        • Sourceforge?
    • Bring first playable something next week