Building Bitfighter

From Bitfighter
Revision as of 20:37, 16 November 2010 by Dbuck (Talk | contribs)

Source

Bitfighter uses subversion for source content control and management.

The current version of the Bitfighter source is available via SVN:

svn checkout https://bitfighter.googlecode.com/svn/tags/bitfighter-013e bitfighter

You may also checkout from trunk to test the bleeding edge changes:

svn checkout https://bitfighter.googlecode.com/svn/trunk bitfighter

Linux

Bitfighter should build on any major flavor of Linux. It has been tested and is known to work on Ubuntu and Centos.

The Bitfighter client depends on Freeglut and the Lua development libraries. Freeglut is not needed to build a Bitfighter dedicated server (without client portions).

Bitfighter must be compiled with the g++ compiler, which is not included in many Linux distributions. SVN is required to obtain the source code.

To get the Bitfighter source, use SVN (get the latest production version using the command at the top of this page)

The game will build out-of-the-box on many distros. For details of the various build options, please see the top-level Makefile.


Building full game client on a clean install of Ubuntu These instructions should work on both 32 and 64 bit platforms.

sudo apt-get update
sudo apt-get install subversion g++ libreadline6-dev
sudo apt-get install freeglut3-dev libopenal-dev libalut-dev
 
# Get the source code
svn co https://bitfighter.googlecode.com/svn/tags/[version] bitfighter
 
# Build the game -- the standard options should work
cd bitfighter
make
 
# Copy required files into exe folder:
cd exe
cp -r ../installer/levels .
cp -r ../installer/robots .
cp -r ../installer/sfx .
cp -r ../installer/screenshots .


Building a dedicated server on a typical clean Centos virtual server instance

yum -y update
yum -y install subversion
yum -y install gcc
yum -y install gcc-c++
yum -y install zip        # For archiving purposes
 
yum install -y ncurses-devel     # Needed on some servers
yum install -y readline-devel    # Needed on some servers
 
 
# Get the source code
svn co https://bitfighter.googlecode.com/svn/tags/[version] bitfighter
 
# Build the dedicated server (called bitfighterd)
cd bitfighter
make dedicated 
 
# Copy required files into exe folder:
cd exe
cp -r ../installer/levels .
cp -r ../installer/robots .
cp -r ../installer/sfx .
cp -r ../installer/screenshots .

Windows

Bitfighter can be built with MS Visual C++ 2010 Express Edition, a free download from Microsoft, and a much-improved IDE over previous versions.

To compile, you'll need to obtain a few files directly from Microsoft -- see the readme.txt in the folder win_include_do_not_distribute.


OS X

Bitfighter builds on OS X using Xcode 3.1 or greater. You must have developer tools installed to build bitfighter on OS X! (You can get them from Apple.)

Note: If you don't wish to download Xcode with iOS integration (saves about 2GB off of downloading) you can get older versions on the developer downloads page. Xcode 3.2.2 is the latest without iOS built in.

Getting the source

The Bitfighter source is available via SVN. To access SVN on your Mac, open Applications > Utilities > Terminal and paste in the SVN command, located at the top of this page, here

This will download the Bitfighter source into your home folder.

Building Bitfighter

Note: Do NOT use the OSX project folder. It is an old unused file. Instead, find the folder that says 'zap'

  1. Navigate through bitfighter > zap > Bitfighter.xcodeproj
  2. Open Bitfighter.xcodeproj with Xcode.
  3. Click 'Build and Go' at the top. Bitfighter should compile successfully and attempt to launch.
    • Note: building from trunk may NOT complete successfully and/or the launch may fail.
  4. Your newly created bundle is found in your SVN source checkout folder at bitfighter > zap > build > Release

Now you have successfully built your own Bitfighter game.

Notes

  1. The bitfighter project also builds the tnl and libtomcrypt frameworks automatically before compiling the bitfighter source itself.
  2. The following frameworks are added automatically to the bundle:
    • libtomcrypt.framework
    • tnl.framework
    • Openal-Soft.framework
    • FreeALUT.framework
  3. Upon first launch of your newly created game, a hidden folder '.bitfighter' is created in your home directory. This folder contains bitfighter settings as well as the levels, scripts, and screenshots save locations. You can get to the folder in a terminal, or by going through the alias as Documents > bitfighter_settings.