Spring (computer Game)
   HOME

TheInfoList



OR:

The Spring Engine (also termed SpringRTS and formerly TA Spring), is a
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
for real-time strategy (RTS) video games. The game engine is
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, subject to the terms of the GNU General Public License v2.0 or later.


History

The development was initiated by Stefan Johansson, Tomaz Kunaver, and Jelmer Cnossen, members of the Swedish Yankspankers game clan under the name TA Spring. Since 2005 it is being developed by the community. The project aimed originally to bring the gameplay experience of
Total Annihilation ''Total Annihilation'' is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released on September 26, 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs ...
into
three dimensions Three-dimensional space (also: 3D space, 3-space or, rarely, tri-dimensional space) is a geometric setting in which three values (called ''parameters'') are required to determine the position of an element (i.e., point). This is the informal ...
and to have the game run the mods and third-party units from Total Annihilation. The first release was on July 7, 2007, achieving its initial goals. Since then, the project evolved from a mere TA
clone Clone or Clones or Cloning or Cloned or The Clone may refer to: Places * Clones, County Fermanagh * Clones, County Monaghan, a town in Ireland Biology * Clone (B-cell), a lymphocyte clone, the massive presence of which may indicate a pathologi ...
to a general RTS
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
including more flexible features like built-in
high-level High-level and low-level, as technical terms, are used to classify, describe and point to specific goals of a systematic operation; and are applied in a wide range of contexts, such as, for instance, in domains as widely varied as computer scienc ...
extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be th ...
through a Lua scripting interface. Most of the games running on the engine (as of December 2010) are focused on
multiplayer A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system (couch co-op), on different computing systems via a local area network, or ...
gameplay. There are also currently a number of single player missions, built on frameworks utilizing the engine's Lua scripting abilities. There are also a large number of skirmish
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
s (AIs), allowing for offline play or extra players in an online game.


Software architecture

Most ''Spring Engine''-based games are designed to be played online, in multiplayer matches. The ''Spring Engine'' 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 ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. A pre-game lobby uses a specially designed protocol similar to that of
Internet Relay Chat Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called ''channels'', but also allows one-on-one communication via private messages as well as chat and ...
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 also. 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 plug-ins to be written in a variety of
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s. Currently these are Lua, C, C++,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
and the JVM languages like
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and
Groovy ''Groovy'' (or, less commonly, ''groovie'' or ''groovey'') is a slang colloquialism popular during the 1950s, '60s and '70s. It is roughly synonymous with words such as "excellent", "fashionable", or "amazing", depending on context. History The ...
. It is also possible to develop plug-ins to support more languages. ''Spring''s rendering features include
deformable terrain In video games, the term destructible environment, or deformable terrain, refers to an environment within a game which can be wholly or partially destroyed by the player. It may refer to any part of the environment, including terrain, buildings an ...
, 3D projectiles and multiple water renderers. The unit files of ''
Total Annihilation ''Total Annihilation'' is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released on September 26, 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs ...
'' are compatible, allowing third-party units to be imported. The scripting language allows for a customizable gameplay and
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
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. Alternatively, the SpringRTS Lobby can be downloaded at mirrors.


Source code

''Spring''s
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
, licensed under the GNU GPL-2.0-or-later, is primarily written in the programming language C++, as is springlobby. An alternative lobby, ''TASClient'', is written in
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
, and there are lobby servers - used to organize multi-player games - written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
. The C++ code structure is written in an object-oriented manner and is documented to some extent using Doxygen. The official source code package includes project files for various
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
s (IDEs) and building tools, including
CMake In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates anothe ...
, KDevelop, Visual C++ 7.0/8.0, and
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
.


Reception and adoption

Various games leveraging the Spring engine range from free content games with minimal restrictions on use and distribution to games with commercially licensed art, such as P.U.R.E.http://wolfegames.com
P.U.R.E - Powered by the GPL
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'' has many 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'' game, a ''
Warhammer 40,000 ''Warhammer 40,000'' is a miniature wargame produced by Games Workshop. It is the most popular miniature wargame in the world, and is particularly popular in the United Kingdom. The first edition of the rulebook was published in September 1987, ...
'' game, and a ''
Star Wars ''Star Wars'' is an American epic film, epic space opera multimedia franchise created by George Lucas, which began with the Star Wars (film), eponymous 1977 film and quickly became a worldwide popular culture, pop-culture Cultural impact of S ...
'' game based on the
Galactic Civil War The Galactic Empire is a fictional autocracy featured in the ''Star Wars'' franchise. It was first introduced in the 1977 film ''Star Wars'' and appears in its two sequels: '' The Empire Strikes Back'' (1980) and '' Return of the Jedi'' (1983). ...
. There are also several fully original games, including "Expand & Exterminate", a strategic game inspired by ''
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 Polish developer Reality Pump and a sequel to '' Earth 2140''. 2150 was one of the first commercial f ...
'', "The Cursed", a unique mixture of science fiction and fantasy, and "Kernel Panic", a ''
Darwinia Darwinia may refer to: * ''Darwinia'' (plant) Rudge 1815, a genus of Myrtaceae found only in Australia *''Darwinia'' Raf., a synonym of the legume genus ''Sesbania'' Adans. * ''Darwinia'' (video game), a 2005 video game by Introversion Software * '' ...
''-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 to 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''.


Beyond All Reason

Beyond All Reason (also known as BAR) is a fork of Balanced Annihilation and also based on the ''Spring'' engine. It is an open-source project under active development. Although the gameplay is similar to ''Total Annihilation'', the project does not aim to be just a copy of the original game.


Zero-K

''
Zero-K ''Zero-K'' is a free software, free multi-platform Open-source software, open source real-time strategy video game. Initially based on content from ''Total Annihilation'' on the open source Spring Engine, it was forked and all proprietary content ...
'' (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'' is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released on September 26, 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs ...
''. However, all the original
Cavedog Cavedog Entertainment was a PC game developer and publisher based in Bothell, Washington. Founded in 1995 as a division of edutainment game developer Humongous Entertainment, Cavedog was known for the 1997 release of ''Total Annihilation''—w ...
content has been replaced with original community-provided content. Among Spring games, Zero-K is notable for its extensive use of Lua scripting for interface and gameplay enhancements, and unique RTS concepts such as a flat
technology tree In strategy games, a technology, tech, or research tree is a hierarchical visual representation of the possible sequences of upgrades a player can take (most often through the act of research). Because these trees are technically directed and acy ...
. ''
Zero-K ''Zero-K'' is a free software, free multi-platform Open-source software, open source real-time strategy video game. Initially based on content from ''Total Annihilation'' on the open source Spring Engine, it was forked and all proprietary content ...
'' was released on
Steam Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization ...
as a standalone game on 27 April 2018.


NOTA

'' NOTA'' (Not Original Total Annihilation) is a game designed for larger maps with to-scale units, fuel for airplanes and accent for strategic decisions. It has a unique navy, more diversified unit types, and a slower tech/econ development then other TA themed games (BA, XTA). NOTA games can be very quick, seeing only T1 units, or very long, ending with the appearance of incredible superweapons.


The Cursed

This unique game is about an undead demonic army that corrupts the universe and is opposed by humankind. The 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.

''P.U.R.E.'' is set in a time when humans are at war against an evil AI called the Overmind. It is developed by one person, known by the Spring community as Argh. The game features up to 57 unique units, new and improved GUI, a 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 most-developed games on the Spring engine, and as the name suggests is based on the later years of
World War II World War II or the Second World War, often abbreviated as WWII or WW2, was a world war that lasted from 1939 to 1945. It involved the vast majority of the world's countries—including all of the great powers—forming two opposin ...
. It contains nearly 300 unique units across the four major belligerent factions (United States, United Kingdom,
Nazi Germany Nazi Germany (lit. "National Socialist State"), ' (lit. "Nazi State") for short; also ' (lit. "National Socialist Germany") (officially known as the German Reich from 1933 until 1943, and the Greater German Reich from 1943 to 1945) was ...
and the
USSR The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, it was nominally a federal union of fifteen nationa ...
), 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 to ''Total Annihilation''. In this game, there are three races: The System, the Network and the Hacker, all having their own advantages and disadvantages. The game takes place inside of a computer, leading to intense, fast-paced gameplay. There are no resources in Kernel Panic, so the player can build units until the map is full. The game's textures and sounds resemble old games, and maps are like computer boards and chips.


XTA

Preceding all other active games, XTA, short for ''eXtended Total Annihilation'' was the original ''
Total Annihilation ''Total Annihilation'' is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released on September 26, 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs ...
'' based game developed on the Spring Project. It features all units from the retail version of ''Total Annihilation'' with a few additional ones added to each faction. Since the original development team there have been various developers of the game, meaning the aim of it may now be skewed, however the game attempts to remain true to its heritage whilst bringing in new game play features.


Evolution RTS

''Evolution RTS'' was the first Spring-based game released (as free to play) on
Steam Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization ...
, in April 2014. It was removed from Steam in April 2020.


Reception

Spring was reviewed in French print computer magazine "Linux Pratique" in February 2009.


References


External links

*
Spring
on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...

Spring
on
ohloh Black Duck Open Hub, formerly Ohloh, is a website which provides a web services suite and online community platform that aims to index the open-source software development community. It was founded by former Microsoft managers Jason Allen and Sc ...

Spring download siteSpring players portalSpringLobby
a
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
lobby client for spring {{Video game engines 2006 video games Fangames Free game engines Free software programmed in C++ Game engines for Linux Linux games Lua (programming language)-scriptable game engines Lua (programming language)-scripted video games MacOS games Open-source video games Strategy video games Python (programming language)-scriptable game engines Real-time strategy video games Total Annihilation Windows games