Spring Engine

Last updated

Developer(s) The Spring Community
Initial release1.0 / June 7, 2007;16 years ago (2007-06-07)
Stable release
106.0 / January 11, 2022;2 years ago (2022-01-11) [1]
Repository github.com/spring/spring
Written in C++, Lua
Operating system Linux, Microsoft Windows
Platform Cross-platform
Type Real-time strategy game engine
License GPL-2.0-or-later
Website springrts.com

The Spring Engine (also termed SpringRTS and formerly TA Spring) is a game engine for real-time strategy (RTS) video games. The game engine is free and open-source software, subject to the terms of the GNU General Public License v2.0 or later.

Contents

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. [2] Since 2005 it is being developed by the community. The project aimed originally to bring the gameplay experience of Total Annihilation into three dimensions 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 to a general RTS game engine including more flexible features like built-in high-level extensibility through a Lua scripting interface. 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 scripting abilities. There are also a large number of skirmish artificial intelligences (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 and Windows. A pre-game lobby uses a specially designed protocol similar to that of Internet Relay Chat 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 languages. Currently these are Lua, C, C++, Python and the JVM languages like Java and Groovy. It is also possible to develop plug-ins to support more languages.

Spring's rendering features include deformable terrain, 3D projectiles and multiple water renderers. The unit files of Total Annihilation are compatible, allowing third-party units to be imported. The scripting language allows for a customizable gameplay and user interface 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. [3] Alternatively, the SpringRTS Lobby can be downloaded at mirrors. [4]

Source code

Spring's source code, [5] licensed under the GNU GPL-2.0-or-later, is primarily written in the programming language C++, as is springlobby. [6] An alternative lobby, TASClient, is written in Delphi, and there are lobby servers - used to organize multi-player games - written in Java and Python. The C++ code structure is written in an object-oriented manner and is documented to some extent using Doxygen. [7] The official source code package includes project files for various integrated development environments (IDEs) and building tools, including CMake, KDevelop, Visual C++ 7.0/8.0, and Xcode.

Reception and adoption

Various games [8] 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. [9] 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 game, and a Star Wars game based on the Galactic Civil War. There are also several fully original games, including "Expand & Exterminate", a strategic game inspired by Earth 2150 , "The Cursed", a unique mixture of science fiction and fantasy, and "Kernel Panic", a Darwinia -esque game emphasizing simplicity. The website also distributes tools and instructions for making your own game.

Balanced Annihilation

As the name suggests, the game mod rebalanced the Absolute Annihilation mod (which it replaced in late 2006), 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. [10] 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 (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 . However, all the original Cavedog 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. [11] Zero-K was released on Steam as a standalone game on 27 April 2018. [12] [13]

NOTA

NOTA [14] (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. [15]

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. [16]

Spring:1944

Kernel Panic, a non-TA-based game for Spring. KernelPanic.jpg
Kernel Panic, a non-TA-based game for Spring.

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. It contains nearly 300 unique units across the four major belligerent factions (United States, United Kingdom, Nazi Germany 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. [17]

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 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 [18] was the first Spring-based game released (as free to play) on Steam, in April 2014. [19] It was removed from Steam in April 2020. [20]

Reception

Spring was reviewed in French print computer magazine Linux Pratique in February 2009. [21]

Related Research Articles

<span class="mw-page-title-main">Freeciv</span> Open-source turn-based strategy game

Freeciv is a single- and multiplayer turn-based strategy game for workstations and personal computers inspired by the proprietary Sid Meier's Civilization series. It is available for most desktop computer operating systems and available in an online browser version. Released under the GNU GPL-2.0-or-later, Freeciv is free and open-source software. The game's default settings are closest to Civilization II, in both gameplay and graphics, including the units and the isometric grid. However, with a lot of multiplayer games being played in longturn communities, rulesets and additional variants have evolved away from the original ruleset. Freeciv is playable online at Longturn.net, fciv.net, freecivweb.org and some temporary private servers.

<i>Quake II</i> 1997 video game

Quake II is a 1997 first-person shooter video game developed by id Software and published by Activision. It is the second installment of the Quake series, following Quake. The game's storyline is continued in its expansions, including one tying in Quake II and the first game, and Quake 4.

Real-time strategy (RTS) is a subgenre of strategy video games that does not progress incrementally in turns, but allow all players to play simultaneously, in "real time". By contrast, in turn-based strategy (TBS) games, players take turns to play. The term "real-time strategy" was coined by Brett Sperry to market Dune II in the early 1990s.

<i>Total Annihilation</i> 1997 strategy video game

Total Annihilation is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released in September 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs were released, The Core Contingency on April 29, 1998 and Battle Tactics on July 20. After the closure of the Cavedog Entertainment in 1999, the intellectual property fell to Infogrames.

A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible.

<i>Blood</i> (video game) 1997 video game

Blood is a 3D first-person shooter video game developed by Monolith Productions and published by GT Interactive and developed using Ken Silverman’s Build engine. The shareware version was released for MS-DOS on March 7, 1997, while the full version was later released on May 21 in North America, and June 20 in Europe.

<i>The Battle for Wesnoth</i> Free and open source turn-based strategy video game

The Battle for Wesnoth is a free and open-source turn-based strategy video game with a high fantasy setting, designed by Australian-American developer David White and first released in June 2003. In Wesnoth, the player controls a particular faction/race and attempts to build a powerful army by controlling villages and defeating enemies for experience. The game is loosely based on the Sega Genesis games Master of Monsters and Warsong.

<i>Empires: Dawn of the Modern World</i> 2003 video game

Empires: Dawn of the Modern World is a 2003 real-time strategy video game developed by Stainless Steel Studios and published by Activision. Set in a world-historical period that extends from the Middle Ages to World War II, the game tasks players with guiding one of nine rival great civilizations to victory. Customer surveys from Stainless Steel's previous game, Empire Earth, were used as a starting point for Empires: these inspired the team to take a more minimalist design approach, and to include civilizations without overlapping styles of play. Empires was positively received by critics, who enjoyed its multiplayer component. However, certain reviewers disliked its single-player mode, and opinion clashed on the game's level of uniqueness compared to competitors such as Rise of Nations. The sales of Empires, when combined with those of Empire Earth, totaled 2.5 million units by 2004.

<i>0 A.D.</i> (video game) Free and open-source real-time strategy video game

0 A.D. is a free and open-source real-time strategy video game under development by Wildfire Games. It is a historical war and economy game focusing on the years between 500 BC and 1 BC, with the years between 1 AD and 500 AD planned to be developed in the future. The game is cross-platform, playable on Windows, macOS, Linux, FreeBSD, and OpenBSD. It is composed entirely of free software and free media, using the GNU GPLv2 license for the game engine source code, and the CC BY-SA license for the game art and music.

Cube 2: Sauerbraten is a first-person shooter released for Microsoft Windows, Linux, FreeBSD, OpenBSD, and Mac OS X using OpenGL and SDL.

<i>Alien Arena</i> 2004 video game

Alien Arena is an open-source, stand-alone first-person shooter video game. Begun by COR Entertainment in 2004, the game combines a 1950s-era sci-fi atmosphere with gameplay similar to the Quake, Doom, and Unreal Tournament series. Alien Arena focuses mainly on online multiplayer action, although it does contain single-player matches against bots.

<i>Glest</i> 2004 video game

Glest is a free and open-source real-time strategy computer game from 2004. Glest is set in a medieval fantasy world with two factions, and was compared with Warcraft III and the Empire Earth series. The game received positive to mixed reviews from the press, has been downloaded over two million times, and spawned several derivative continuation projects which are under active development.

<i>Total Annihilation: Battle Tactics</i> 1998 video game

Total Annihilation: Battle Tactics is the second expansion pack for the real-time strategy video game Total Annihilation, released on June 30, 1998 in the United States. Its features include 100 new missions as either the Arm or the Core, four new units and new keyboard shortcuts. Six new multiplayer maps are included, and, for the first time in the Total Annihilation series, some single-player missions are set on acid and crystal worlds.

<i>SuperTuxKart</i> Open source arcade racing game

SuperTuxKart (STK) is a free and open-source kart racing game, distributed under the terms of the GNU General Public License, version 3. It features mascots of various open-source projects. SuperTuxKart is cross-platform, running on Linux, macOS, Windows, iOS (beta), Android systems and Nintendo Switch (homebrew).

<i>Civilization V</i> 2010 video game

Sid Meier's Civilization V is a 4X video game in the Civilization series developed by Firaxis Games. The game was released on Microsoft Windows on September 21, 2010, on OS X on November 23, 2010, and on Linux on June 10, 2014.

<i>Bos Wars</i> Video game

Bos Wars is an open source, cross-platform real-time strategy video game. The game's engine is based on the open-source Stratagus engine, and is set in the future. The game allows the player to develop a war economy, managing energy and magma as resources, in order to build an army to combat their enemies.

<i>Age of Empires Online</i> 2011 video game

Age of Empires Online is a multiplayer online real-time strategy game developed by Robot Entertainment and Gas Powered Games that was released on August 16, 2011. Based upon the gameplay of the Age of Empires series, it was originally developed by Robot Entertainment, but on February 24, 2011, Gas Powered Games, took over production. The game was published by Microsoft.

<i>Zero-K</i> 2010 video game

Zero-K is a free multi-platform 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 replaced, and evolved into a completely new game with unique features. Among the games powered by the Spring Engine, Zero-K makes extensive use of Lua scripting for interface and gameplay changes/enhancements, as well as unique real-time strategy concepts such as a flat technology tree.

<i>MegaGlest</i> 2010 open source video game

MegaGlest is a free and open source real-time strategy computer game in a fantasy world, mixing elements of re-imagined past civilizations, magic and steampunk. It is an actively developed fork of the 2004 game Glest, which is no longer under development.

<i>Planetary Annihilation</i> Real-time strategy game by Uber Entertainment

Planetary Annihilation is a real-time strategy PC game originally developed by Uber Entertainment, whose staff included several video game industry veterans who worked on Total Annihilation and Supreme Commander. The game was released in 2014, and the stand-alone expansion Planetary Annihilation: Titans was released in 2015.

References

  1. Spring 106 Official Announcement (springrts.com)
  2. Sigfried Arnold (May 11, 2006). "TA Spring Interview (en)". Rebell.at. Retrieved April 28, 2011.
  3. "About - Spring".
  4. "Download SpringRTS".
  5. "Spring RTS game engine". GitHub . October 26, 2021.
  6. "Springlobby - WikiStart - SpringLobby". Archived from the original on September 16, 2009. Retrieved September 9, 2009.
  7. "Spring". Archived from the original on February 14, 2010. Retrieved September 26, 2011.
  8. "Games - Spring". springrts.com. Retrieved September 19, 2023.
  9. http://wolfegames.com P.U.R.E - Powered by the GPL
  10. Cole, Joshua (December 14, 2021). "Best RTS Games Of 2021". Screen Rant. Retrieved December 14, 2021.
  11. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. Retrieved September 19, 2023.
  12. "Zero-K on Steam". store.steampowered.com. Retrieved September 19, 2023.
  13. Dominic Tarason (April 27, 2018). "Free Total Annihilation-like RTS Zero-K lands on Steam". Rock, Paper, Shotgun .
  14. "NOTA | Mobile Focused Warfare Strategic Not Original Total Annihilation Game" . Retrieved September 19, 2023.
  15. "The Cursed Windows, Linux game". Indie DB. Retrieved December 8, 2018.
  16. "main". www.wolfegames.com. Retrieved September 19, 2023.
  17. "Spring:1944". Spring:1944. Retrieved September 19, 2023.
  18. "Evolution RTS on Steam".
  19. "News - Now Available on Steam - Evolution RTS".
  20. "Evolution RTS - Evolution RTS is leaving Steam - Steam News". April 15, 2020.
  21. "Spring review in Linux Pratique n51". Linux Pratique . February 1, 2009. pp. 10–12. Archived from the original on February 4, 2009. Retrieved January 4, 2009.