HTTPS clone URL
Subversion checkout URL
Leges Motus: A 2D zero-gravity shooter
Latest commit a708c11 greywhind Corrected positioning of weapons when player image is flipped. …
Player must be drawn in a larger region in order to show the whole weapon graphic, now that placement is corrected. Increased size of player region.
__ _ / / ___ __ _ ___ ___ /\/\ ___ | |_ _ _ ___ / / / _ \/ _` |/ _ \/ __| / \ / _ \| __| | | / __| / /__| __/ (_| | __/\__ \ / /\/\ \ (_) | |_| |_| \__ \ \____/\___|\__, |\___||___/ \/ \/\___/ \__|\__,_|___/ |___/ v 0.5.0-git Andrew Ayer | Nathan Partlan | Jeffrey Pfau http://legesmotus.endrift.com ABOUT Leges Motus is a 2D networked, team-based shooter set in zero gravity. GAMEPLAY The objective of the game is to reach the opposing team's gate and stay next to it until it opens fully. Shoot enemy players to freeze them. They will un-freeze a number of seconds after they are frozen. You can move by jumping off of any obstacle, and you will jump in the direction of the mouse pointer. You will also move due to the recoil from firing your gun. When frozen, you will bounce off of obstacles. If you unfreeze away from obstacles, shoot your weapon to move back towards the nearest obstacle. INSTALLING ON WINDOWS The Windows verion of Leges Motus is distributed as a binary. Simply unzip the archive. Leges Motus has no installer on Windows and simply deleted to remove it. However, configuration files will be retained in your home directory. INSTALLING ON MAC OS X Simply drag the Leges Motus application into the Applications folder to install Leges Motus on Mac OS X. To install the server, you need to use the bundled Install Command Line Tools script. BUILDING AND INSTALLING ON *NIX Please note that only GNU Make is supported. If the default 'make' command is not GNU Make, please install and use it where appropriate. Generally it is called gmake when it is not make. 1. Run './configure' in the top level directory. You can also use the --help option to find out all of the supported options for this script. If you're using a Mac, make sure to specify --disable-bundle for a flat build. This script will check to make sure you have the required libraries installed. 2. Run 'make' to build the server and client. 3. Run 'make install' as an administrator to install the server and client. See "ADVANCED BUILDING" below for more advanced build options. REQUIREMENTS FOR BUILDING The following libraries must be installed in order to build the common code for all parts of Leges Motus: Box2D 2.3 Compile Box2D 2.3 (you can get it from http://box2d.org/), and then copy the resulting files: - libBox2D.a to /usr/local/lib (or another location of your choice - use the LDFLAGS to point to it with -L) and - all header files to /usr/local/include (or another location of your choice - use the CFLAGS to point to it with -I). The following libraries must be installed in order to build and run the Leges Motus graphical client: FreeType 2 SDL 1.2 SDL_image 1.2 OpenGL GLEW (Windows only) The following libraries are bundled with the source and statically linked at compile time: SimpleIni 4.13 © 2006-2010, Brodie Thiesfield All of these are bundled in the Windows and Mac OS X packages, except for OpenGL, which should already be installed on the system. No additional libraries are needed to build or run the server. If you do not have SDL_mixer installed and/or you would like to build without sound support, you may pass the --disable-sound option to configure. SPECIFYING THE DATA DIRECTORY By default, Leges Motus expects to find its data in /usr/local/share/games/legesmotus. This path can be set at compile time by passing a --prefix argument to configure. The path can be overridden at runtime by setting the $LM_DATA_DIR environment variable to the location containing the data. The data can be found in the 'data' directory in the top-level source directory. RUNNING THE CLIENT ON *NIX To run the client, if Leges Motus is in your path, run the 'legesmotus' command. You can also double click on legesmotus.exe on Windows and the Leges Motus application on Mac, but you cannot specify command line options in this manner. The client supports the following command-line options: -n NAME set your player name (default: your user name) -t red|blue set your team (default: auto-balanced) -s SERVER set the hostname of the server (default: use the server browser) -p PORTNO set the port number of the server (default: 16877) -w WIDTH set the screen width, in pixels (default: 1024) -h HEIGHT set the screen height, in pixels (default: 768) -f run the game in fullscreen -?, --help display this help, and exit --version display version information and exit RUNNING THE SERVER To run the server, run the 'lmserver' command, or double click on lmserver.exe on Windows. The server supports the following command-line options: -c CONFFILE load server configuration options from the given file (default: no config file) -o OPT=VALUE set the configuration option named OPT to VALUE -m MAPNAME set the map name (default: alpha1) -p PORTNO set the port number to listen on (default: 16877) -P PASSWORD set the admin password (default: admin mode is disabled) -i ADDRESS address of interface to listen on (default: listen on all interfaces) -d daemonize the server (not on Windows) -u USERNAME drop privileges to given user (only super user may use) (not on Windows) -g GROUPNAME drop privileges to given group (only super user may use) (not on Windows) -l (local server) do not register with the meta server -?, --help display this help, and exit --version display version information and exit By default, the Leges Motus server will contact the meta server so other players on the Internet can connect to and play on the server. If you would NOT like your server to appear in server browsers of other Internet users, pass the -l ("local") option to lmserver, or set the server configuration option "register_server" to "no". If a server is run behind a firewall, and it is registered with the meta server, the metaserver will attempt to traverse the firewall so that clients outside the firewall are able to connect to the server. However, this technique does not work with all firewalls, and is not 100% reliable. If you intend to host a long-running server behind a firewall, you are strongly recommended to modify your firewall settings to allow/forward UDP port 16877. CONTROLS space Jump in direction of mouse pointer left click Fire in direction of mouse pointer right click Switch weapons 1 through 8 Switch weapons (if available) t Open chat y Open team chat ~ Open chat log ESC Return to main menu / close chat console tab Show the scoreboard CLIENT COMMANDS These commands are entered in the client's chat bar: /tchat MESSAGE Send a message to your team /name NEWNAME Change your name /team red|blue Change teams /server COMMAND Send the command to the server (see below for list of server commands) /quit Quit the game /legal Show legal information (copyright and warranty) NAME: MESSAGE Send message to specified player only SERVER COMMANDS These commands are entered in the client's chat bar. Some commands (marked as [op]) require you to authenticate first with the password specified on the command-line to the server. /server auth PASSWORD Authenticate with given password /server teamscore Return the score for each team /server teamcount Return the number of players on each team /server maps Retrieve a list of maps /server balance Balance the teams [op] /server shakeup Randomly reform the teams [op] /server reset Reset the scores [op] /server map MAPNAME Load the given map [op] /server newgame Start new game [op] /server kick PLAYER Kick a player [op] /server shutdown Shutdown the server [op] /server help Display this help If no operator password is set, then any player connecting from the localhost (127.0.0.1) will be given operator status. If this is undesirable behavior, then be sure to set an operator password. ON THE INTERNET Home Page (News, Screenshots, Wiki): http://legesmotus.endrift.com/ Project Page (Downloads): http://sourceforge.net/projects/legesmotus/ Trac Page (Bugs): http://legesmotus.endrift.com/trac/ IRC Channel: irc.freenode.net #legesmotus Subversion Repository: http://github.com/jpfau/legesmotus/ For bugs and feature requests, visit Trac. For immediate help or to try to find a game, stop by our IRC channel. For documentation, visit the wiki. ORGANIZATION The code is divided into separate components, located in the following directories: common Common code for the executables client The common client code gui The graphical client server The server serverscanner A command line tool for scanning a metaserver metaserver The metaserver (running a metaserver is not recommended) ai An experimental AI client The data for the program are located in the data directory, and the default configuration files are located in the config directory ADVANCED BUILDING By default, Leges Motus will install to /usr/local. You may change this by specifying a --prefix argument to configure. To install into your home directory, you could use: ./configure --prefix=$HOME/legesmotus By default, on Mac OS X, Leges Motus will build a .app bundle, and use frameworks to find the SDL libraries. Leges Motus will install the bundle to the system-wide /Applications directory. To enable a traditional, flat build, use: ./configure --disable-bundle Note that this requires sdl-config to be installed on your system, which it generally is not unless SDL is installed through a system such as MacPorts. To disable building a universal binary on Mac OS X, use: ./configure --disable-universal To build only the server or client, use one of: make server make client To install in a different directory (useful for making packages): make install DESTDIR=/path/to/package/root Note that, by default, the version of Leges Motus that is built on an OS X computer running 10.6 (Snow Leopard) or higher will not work on older versions of Mac OS X. To fix this, you must configure Leges Motus to use an older version of GCC. This can be accomplished by running the configure script with an environment variable set, like so: CXX=g++-4.0 ./configure When built with a configuration like this, it should work on 10.5, and, assuming you have the SDK for 10.4 installed, 10.4 as well. CREDITS Original Designers and Programmers: Andrew Ayer Server, networking, support code, map handling Nathan Partlan Game logic, component integration, client design and interface, physics, server scanner Jeffrey Pfau Graphics code, sprites, multi-platform support, server scanner Danny Schneider Maps, sound, assist with client Thanks: Kenny Coane Official project mentor Robert Mustacchi Shadow mentor Jon Silverman All-around great guy Hayden Greif-Neill Loyal advocacy and an endless list of excellent suggestions All our testers in the Sun Lab at Brown University's Department of Computer Science Public Domain Sounds From: http://www.a1freesoundeffects.com/ http://www.allmusiclibrary.com/free_sound_effects.php http://www.imphenzia.com/soundtrack/ Creative Commons Sampling 1.0 License Sounds: By schluppipuppie (http://www.freesound.org/usersViewSingle.php?id=4942) wasserflasche25.wav (http://www.freesound.org/samplesViewSingle.php?id=13389) By hammerklavier (http://www.freesound.org/usersViewSingle.php?id=430462) MOURNFUL CADENCE-Plain.aif (http://www.freesound.org/samplesViewSingle.php?id=49287) COPYRIGHT AND WARRANTY Copyright 2009-2011 Andrew Ayer, Nathan Partlan, Jeffrey Pfau Leges Motus is free and open source software. You may redistribute it and/or modify it under the terms of version 2, or (at your option) version 3, of the GNU General Public License (GPL), as published by the Free Software Foundation. Leges Motus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the full text of the GNU General Public License for further detail. For a full copy of the GNU General Public License, please see the COPYING file in the root of the source code tree. You may also retrieve a copy from <http://www.gnu.org/licenses/gpl-2.0.txt>, or request a copy by writing to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA