TA Spring
Encyclopedia
Spring is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 open source RTS
Real-time strategy
Real-time strategy is a sub-genre of strategy video game which does not progress incrementally in turns. Brett Sperry is credited with coining the term to market Dune II....

 game engine
Game engine
A game engine is a system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and personal computers...

 created by the Swedish Yankspankers. Originally intended to bring the gameplay experience of Total Annihilation
Total Annihilation
Total Annihilation is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and released on September 30, 1997 by GT Interactive for Microsoft Windows and Mac OS. It was the first RTS game to feature 3D units and terrain...

into three dimensions
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

, the engine has since evolved to support a plethora of more modern and more flexible features, including built-in high-level
High-level programming language
A high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or be from the specification of the program, making the process of...

 extensibility
Extensibility
In software engineering, extensibility is a system design principle where the implementation takes into consideration future growth. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension...

 through a Lua
Lua programming language
Lua is a lightweight multi-paradigm programming language designed as a scripting language with extensible semantics as a primary goal. Lua has a relatively simple C API compared to other scripting languages.- History :...

 scripting interface. The core game engine is licensed under the GNU GPL.

Various games leveraging the Spring engine range from free content
Free content
Free content, or free information, is any kind of functional work, artwork, or other creative content that meets the definition of a free cultural work...

 games with minimal restrictions on use and distribution to games with commercially licensed art, such as P.U.R.E. Additionally, content from Total Annihilation has been modified to run on the Spring Engine, although playing games that incorporate such content requires that one own a copy of the original Total Annihilation game.

Spring is being developed by the engine's community since 2005. The project has surpassed its initial goal to have the game run the mods and third-party
Third-party software component
In computer programming, a third-party software component is a reusable software component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform...

 units from Total Annihilation, and has evolved into a more general RTS engine. Most of the games running on the engine (as of December 2010) are focused on multiplayer gameplay. There are also currently a number of single player missions, built on frameworks utilizing the engine's Lua
Lua programming language
Lua is a lightweight multi-paradigm programming language designed as a scripting language with extensible semantics as a primary goal. Lua has a relatively simple C API compared to other scripting languages.- History :...

 scripting capabilities. There are also a large number of skirmish AI
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...

s, allowing for offline play or extra players in an online game.

Engine

Spring is designed to be played online, in multiplayer matches. It uses a deterministic game simulation which is executed simultaneously on all game clients. Only user commands are sent to other players, preventing any active cheating. Multiplayer is supported on both Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. A pre-game lobby uses a specially designed protocol similar to that of Internet Relay Chat
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...

 to facilitate chat, player match-making, and the adjustment of battle options. A number of spring lobby clients exist.

The lobbies for the game allow setting up single player games as well. This can be done either by using a special single player mode, or using the multiplayer mode with a password and adding bots to the game. Instead of using bots, some games also support special game modes that allow single player gameplay. Most popular in this area are the "chicken" modes of Zero-K and Balanced Annihilation, where a player has to defend against waves of monsters. Since version 0.79, Spring also features missions. A mission editor with advanced functions while being intuitive is bundled with the game.

Skirmish AIs (or bots) are needed to get a normal single player game running. They take over the role of controlling a team and can therefore be seen as a machine equivalent to a human player but are of course less cunning. The engine supports Skirmish AI plugins to be written in a variety of programming languages. Currently these are Lua, C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 and the JVM Languages like Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and Groovy. It is also possible to develop plugins to support more languages.

Springs rendering features include deformable terrain, 3D projectiles and multiple water renderers. The unit files of Total Annihilation
Total Annihilation
Total Annihilation is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and released on September 30, 1997 by GT Interactive for Microsoft Windows and Mac OS. It was the first RTS game to feature 3D units and terrain...

are compatible, allowing third-party units to be imported. The scripting language allows for a customizable gameplay and user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

 modifications. Team Players can also draw and write on the game map to coordinate tactical moves with other players. The third-party AI allows for varying degrees of difficulty.

Source code

Springs source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

, licensed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, is primarily written in the C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

, as is springlobby. An alternative lobby, TASClient, is written in Delphi, and there are lobby servers - used to organize multi-player games - written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

. The C++ code structure is written in an object-oriented manner and is documented to some extent using doxygen
Doxygen
Doxygen is a documentation generator for multiple programming languages.Doxygen is a tool for writing software reference documentation. The documentation is written within code, and is thus relatively easy to keep up to date...

. The official source code package includes project files for various IDEs
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 and building tools, including CMake
CMake
CMake is a cross-platform, open-source system for managing the build process of software using a compiler-independent method. It is designed to support directory hierarchies and applications that depend on multiple libraries, and for use in conjunction with native build environments such as Make,...

, SCons
SCons
SCons is a computer software construction tool that automatically analyzes source code file dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform...

, KDevelop
KDevelop
KDevelop is a free software integrated development environment for the KDE Platform on Unix-like computer operating systems. KDevelop includes no compiler. Instead, it uses an external compiler such as gcc to produce executable code....

, Microsoft Visual C++ 7.0/8.0, and Xcode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

.

Games

Spring has numerous games in various stages of development. Some are based upon and use content from the original Total Annihilation game, this includes the games: Balanced Annihilation, Tech Annihilation, NOTA, and XTA. However, there are many games which are derivatives of other works of fiction, such as a Gundam
Gundam
The is a metaseries of anime created by Sunrise studios that features giant robots called "Mobile Suits" ; usually the protagonist's MS will carry the name Gundam....

game, a Warhammer 40,000
Warhammer 40,000
Warhammer 40,000 is a tabletop miniature wargame produced by Games Workshop, set in a dystopian science fantasy universe. Warhammer 40,000 was created by Rick Priestley in 1987 as the futuristic companion to Warhammer Fantasy Battle, sharing many game mechanics...

game, and a Star Wars
Star Wars
Star Wars is an American epic space opera film series created by George Lucas. The first film in the series was originally released on May 25, 1977, under the title Star Wars, by 20th Century Fox, and became a worldwide pop culture phenomenon, followed by two sequels, released at three-year...

game based on the Galactic Civil War
Galactic Civil War
The Galactic Civil War is a fictional war from the Star Wars galaxy. It serves as the setting for the original trilogy of films A New Hope, The Empire Strikes Back, and Return of the Jedi, as well as many novels, comics, and video games in the Expanded Universe.The war was fought between the...

. There are also several fully original games, including "Expand & Exterminate", a strategic game inspired by Earth 2150
Earth 2150
Earth 2150 also known as Earth 2150: Escape from the Blue Planet is a real-time strategy game, originally published in 2000 by SSI and the Polish developer Reality Pump and a sequel to the largely unknown Earth 2140...

, "The Cursed", a unique mixture of science fiction and fantasy, and "Kernel Panic", a Darwinia
Darwinia (computer game)
Darwinia is the second game by Introversion Software.-Plot:Darwinia was created as a digital theme world for artificially intelligent polygons by Dr. Sepulveda. Housed in a massive network of surplus Protologic 68000 machines from the 1980s, Darwinia is a world where the single-poly Darwinians,...

-esque game emphasizing simplicity. The website also distributes tools and instructions for making your own game.

Balanced Annihilation

As the name suggests, the game rebalanced Absolute Annihilation, which was a rebalanced version of the Total Annihilation game Uberhack. The unit stats have been modified from Uberhack's base stats making it very dissimilar from Uberhack. It features all the previous units from retail version of Total Annihilation, plus several extras for each faction. The balance does not reflect Total Annihilation gameplay as much as an augmented version of Total Annihilation.

Zero-K

Zero-K
Zero-K
Zero-K is a free multi-platform open source real-time strategy computer game. Initially based on content from Total Annihilation on the open source Spring Engine, it was forked and all proprietary content replaced, and evolved into a completely new game with unique features...

(formerly known as Complete Annihilation) started as a fork of Balanced Annihilation, and so can trace its heritage all the way back to the original Total Annihilation
Total Annihilation
Total Annihilation is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and released on September 30, 1997 by GT Interactive for Microsoft Windows and Mac OS. It was the first RTS game to feature 3D units and terrain...

. However, all the original Cavedog
Cavedog Entertainment
Cavedog Entertainment, or Cavedog, was a video game developer based in Bothell, Washington. Cavedog gained the attention of gamers and the gaming press alike with the 1997 release of Total Annihilation , winning many accolades such as multiple Game of the Year honors or being one of The Greatest...

 content has been replaced with original community-provided content. Among Spring games, Zero-K is particularly notable for its extensive use of Lua scripting for interface and gameplay enhancements, as well as unique RTS concepts such as a flat technology tree.

Star Wars: Imperial Winter

Featuring over a hundred different units for the Galactic Empire and Rebel Alliance, spanning from The Phantom Menace to Return of the Jedi
Star Wars Episode VI: Return of the Jedi
Star Wars Episode VI: Return of the Jedi is a 1983 American epic space opera film directed by Richard Marquand and written by George Lucas and Lawrence Kasdan. It is the third film released in the Star Wars saga, and the sixth in terms of the series' internal chronology...

, Imperial Winter aims to not only recreate the epic battles and rich universe of Star Wars
Star Wars
Star Wars is an American epic space opera film series created by George Lucas. The first film in the series was originally released on May 25, 1977, under the title Star Wars, by 20th Century Fox, and became a worldwide pop culture phenomenon, followed by two sequels, released at three-year...

, but also offers innovative and interesting design features such as asymmetrical sides, realistic weapon physics and a territory-based resource system designed to target competitive gamers as well as Star Wars fans. The production is currently in a closed beta testing as of January 2009.

The Cursed

The very unique game is about an undead demonic army that corrupts the universe and is opposed by humankind. The unique artistic setup is inspired by arts from Doom I and II, Warcraft III and Warhammer table tops. The free game is released.

P.U.R.E.

Not to be confused with the ATV game Pure
Pure (video game)
Pure is an off-road, quad-bike trick-racing video game for Xbox 360, PlayStation 3 and Microsoft Windows published by Disney Interactive Studios and developed by Black Rock Studio...

, P.U.R.E. is set in a time where humans were at war against an evil AI called the Overmind. It is developed by a single person, known by the Spring community as Argh. The game features up to 57 unique units, new and improved GUI, unique resource system and 2 different sides, and a main menu (though not in-game). P.U.R.E. is featured in ModDB and several other review sites.

Spring:1944

Spring: 1944 is one of the furthest-developed games on the Spring engine, and as the name suggests is based on the later years of the Second World War. It contains nearly 300 unique units across the four major belligerent factions (USA, United Kingdom
United Kingdom
The United Kingdom of Great Britain and Northern IrelandIn the United Kingdom and Dependencies, other languages have been officially recognised as legitimate autochthonous languages under the European Charter for Regional or Minority Languages...

, Nazi Germany
Nazi Germany
Nazi Germany , also known as the Third Reich , but officially called German Reich from 1933 to 1943 and Greater German Reich from 26 June 1943 onward, is the name commonly used to refer to the state of Germany from 1933 to 1945, when it was a totalitarian dictatorship ruled by...

 and the USSR), with all content being produced by several main developers and a handful of contributors, and is the most popular independent production project on the Spring engine. Unlike most conventional WW2-themed real-time strategy games, Spring: 1944 is heavily "epic" in scope, with players commanding hundreds of units and multiplayer team games involving thousands of infantry, vehicles, tanks and aircraft.

Kernel Panic

Kernel Panic is a game that has no connection or basis in Total Annihilation. In this game, there are three races: The System, the Network and the Hacker, all having their own advantages and disadvantages. As expected, the game flows inside of a computer, leading to a fast packed, intense, game of action. There are no resources in Kernel Panic, so the player can build units until the map is full. The game's textures and sounds resembles old games, and maps are like computer boards and chips.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK