Difference between revisions of "BZFlag Source"

From BZFlagWiki
Jump to: navigation, search
m (updated link to Github)
(updated information)
Line 39: Line 39:
 
The source code is available in a number of ways.
 
The source code is available in a number of ways.
  
The simplest way is to download one of the source code archives that is released with each major release of the software. These are available at the [http://sourceforge.net/projects/bzflag/files/bzflag%20source/ BZFlag SourceForge Downloads Page]. There is an archive of the source code used to build every version of the game. The source archives are provided in Unix line ending format ( .tar.gz and .tar.bz ) as well as Windows line ending format ( .zip ). The archives contain instructions on how to compile the software directly. Additional software such as a C++ compiler will be needed.
+
The simplest way is to download one of the source code archives that is released with each major release of the software. These are available at the [https://github.com/BZFlag-Dev/bzflag.git BZFlag GitHub page]. There is an archive of the source code used to build every version of the game. The source archives are provided in Unix line ending format ( .tar.gz and .tar.bz ) as well as Windows line ending format ( .zip ). The archives contain instructions on how to compile the software directly. Additional software such as a C++ compiler will be needed.
  
The source code for BZFlag is always changing and being developed. The developers keep the current code for the project in a SVN repository located at SourceForge. Please see the [[BZFlag SVN]] page for information on how to access the SVN system.
+
The source code for BZFlag is always changing and being developed. The developers keep the current code for the project in a Git repository located at GitHub. Please see the [[BZFlag Git]] page for information on how to access the Git repository.
  
 
==License==
 
==License==
Line 47: Line 47:
  
 
The main BZFlag website is licensed under the [https://bitbucket.org/blast007/bzflag_main_website/src/tip/COPYING MIT License].
 
The main BZFlag website is licensed under the [https://bitbucket.org/blast007/bzflag_main_website/src/tip/COPYING MIT License].
 
==Patches==
 
A number of users have submitted changes to the source code as [http://en.wikipedia.org/wiki/Patch_%28computing%29 patches]. These patches are source code modifications that can ether fix a bug or add a feature. The development team will periodically review all patches submitted to the [http://sourceforge.net/tracker/?group_id=3248&atid=303248 SourceForge Patch Tracker] and apply desired patches to the mainline source code.
 
  
 
==History==
 
==History==
 
The BZFlag source code has been open source and hosted by SourceForge since March 2000. Before this the source code was the proprietary property of [[Chris Schoeneman]] who began developing the game in 1992 at the Cornell Program of Computer Graphics for the SGI line of graphic workstations.
 
The BZFlag source code has been open source and hosted by SourceForge since March 2000. Before this the source code was the proprietary property of [[Chris Schoeneman]] who began developing the game in 1992 at the Cornell Program of Computer Graphics for the SGI line of graphic workstations.
 +
BZFlag is now currently hosted on GitHub.
  
 
BZFlag is in no way related to the commercial game [http://en.wikipedia.org/wiki/Battlezone "BATTLEZONE"] by [http://en.wikipedia.org/wiki/Atari Atari, Inc], it was simply inspired by it. They do not share any code or intellectual property.
 
BZFlag is in no way related to the commercial game [http://en.wikipedia.org/wiki/Battlezone "BATTLEZONE"] by [http://en.wikipedia.org/wiki/Atari Atari, Inc], it was simply inspired by it. They do not share any code or intellectual property.

Revision as of 23:56, 9 July 2016

The BZFlag source code is predominantly written in C/C++and is used by developers to implement the game client, server, and services.

Overview

The source code to BZFlag is released as a collective work under the GNU Lesser General Public License and is freely available to anyone.

BZFlag is primarily written in the C++ language, but does contain some modules written in Perl, PHP, and Python.

Developers use the source code to modify and extend the features of the game. It is also used by a number of players to compile the software into its playable form.

Organization

The BZFlag source code is organized into a number of projects or sub sections, to try and keep the software somewhat modular.

There are three primary projects that make up the sofware.

  • BZFlag: The main game client.
  • BZFS : The game server.
  • BZAdmin : A command line administration tool for server owners.

These three projects build the three applications that make up the software.

A number of other smaller projects are used for common code that is shared between the three main projects. These are:

  • 3D : Utilities for drawing the Three Dimensional view in the client
  • common : Shared general code
  • date : version and build date stamps
  • game : shared game logic
  • geometry : 3D geometry and OpenGL code for the Three Dimensional view in the client
  • mediafile : external file loaders for images and sounds
  • net : networking code
  • obstacle : collision detection
  • ogl : common OpenGL utilities
  • platform : OS specific implementations of low level features ( input, window management, etc.. )
  • scene : render culling and scene management

BZFlag also includes it's own copies of a few third party libs. These include:

  • c-ares : an asynchronous DNS resolver
  • regex : a text parsing library
  • zlib : a compression library.

Releases and Distribution

The source code is available in a number of ways.

The simplest way is to download one of the source code archives that is released with each major release of the software. These are available at the BZFlag GitHub page. There is an archive of the source code used to build every version of the game. The source archives are provided in Unix line ending format ( .tar.gz and .tar.bz ) as well as Windows line ending format ( .zip ). The archives contain instructions on how to compile the software directly. Additional software such as a C++ compiler will be needed.

The source code for BZFlag is always changing and being developed. The developers keep the current code for the project in a Git repository located at GitHub. Please see the BZFlag Git page for information on how to access the Git repository.

License

The BZFlag source code is licensed under the GNU Lesser General Public License or LGPL license. This means that anyone is free to use and redistribute the software and it's source code, as long as they follow the license. In order to release a version of the software, or a modified version of the software, a user must also release the source code to the software, as well as any changes they have made to the LGPL source code. This is so that others may benefit from the modifications as well.

The main BZFlag website is licensed under the MIT License.

History

The BZFlag source code has been open source and hosted by SourceForge since March 2000. Before this the source code was the proprietary property of Chris Schoeneman who began developing the game in 1992 at the Cornell Program of Computer Graphics for the SGI line of graphic workstations. BZFlag is now currently hosted on GitHub.

BZFlag is in no way related to the commercial game "BATTLEZONE" by Atari, Inc, it was simply inspired by it. They do not share any code or intellectual property.

See also

BZFlag Git

External Links

GNU Lesser General Public License

BZFlag Source Code Git Repository

BZFlag Main Website Mercurial Repository.