wiki:Projects/FlagFu

The Game

This game is inspired by a lot of games I enjoy. Some friends and I were discussing combining some games and thinking that Soldat+bzFlag+CalvinBall+... might be fun. I wrote a short paper expanding on the ideas as a final project for a class. Finally, I started implementing my ideas with the hopes that other people would find it an interesting and worthwhile venture and that it might provide a solid base for other, more interesting games.

The Story

You must learn Kung Fu to protect your family, but the master at the local dojo only wants to teach those best suited for it and willing to learn, so before training can occur, he sends you and others on small challenges to collect balloons of certain colors. Players must demonstrate their skill and willingness by completing more goals than the others.

Playing

  1. Go to the red square and hit tab.
  2. Pick up some or all of the balloons shown in the bottom right corner of the screen.
  3. Go to step 1.

Controls

The controls are intended to feel mostly like Soldat's controls, which are much like common first person shooter controls.

  • WADS are used to move the player left and right, up (by jumping), and down.
  • The left button throws a projectile. In this case, it is a volleyball.
  • The right mouse button activates wind magic, causing the player to rise. A meter in the bottom left corner of the screen indicates how much wind magic a player has, and it regenerates when not in use.
  • The tab key interacts with balloons and the monk. Going to the monk at any point will update your goal, which is displayed at the bottom right corner of the screen, to take into account any part of it that you have already completed. At the beginning of the game, it may be useful to head to the monk to find the current goal.

Downloading and Running

I will try to make sure that Windows and Mac OS X binaries exist here for downloading.

There are three executables. The client uses the file settings.txt for configuration.

NameDescriptionUsage
flagThe client. By default, it will try to connect to a server running on the local machine and fail if no connection can be made.flag [-s host] [-p port] [-n name]
flagdThe server. Tries to load default.ffu as the map, and listens on port 10001.flagd [-l listenPort] [m mapfile]
fledThe editor. Takes no options.fled

Getting the Source

The subversion repository is located at https://www.unprompted.com/svn/projects/flags/trunk/. To check out a copy, run

svn co https://www.unprompted.com/svn/projects/flags/trunk/ some/local/folder/flags

To update a local copy, simply

svn update

from some/local/folder/flags.

The source and changes can be seen in the source browser. Alternatively, a tarball is created each night in http://acm.cs.rpi.edu/~cory/svn/flags/.

Building

This project requires SCons to build. Run-time dependencies include OpenGL, SDL, SDL_image, SDL_ttf, and SDL_mixer. It should build in Linux and in Windows using the included Visual Studio project.

Simply run

scons

from the build directory to build flag, the client executable, and flagd, the server executable.

The Editor

There is a level editor in the editor directory. It requires fltk to build.

Contact

Bother Cory with any questions about this.

Last modified 10 years ago Last modified on Dec 24, 2013, 9:13:33 PM

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.