Spring (computer game)

TASpring-Screenshot_87.jpg

Spring (formerly known as TA Spring or Total Annihilation: Spring), is a full 3D free/open source RTS game engine originally created by the Swedish Yankspankers, intended to bring the gameplay experience of Total Annihilation into three dimensions. The core game engine is licensed under the GNU GPL.

Games are played using one of a number of mods. The prepackaged mod that comes with the standard installation, XTA, requires that one own a copy of TA to legally play it, as do most mods based on TA. There is, however, an official release which uses fully free content, and there are also a number of mods available for download which May Be used free of charge without owning a copy of TA.

Spring is being developed by the Swedish Yankspankers and The Spring community. The initial goal was to have the game run the mods and 3rd-party units from Total Annihilation. This goal is now mostly complete, and the project has moved on to including additional features. The game is mainly focused around multiplayer games over the Internet or a LAN connection. There are currently a few single player missions, built on the basic support for this through Lua scripting. There are also many skirmish AIs under development, allowing for offline play or extra players in an online game. Two skirmish AIs ship in the game package, as well as three maps and the XTA mod.

The source code

Spring's source code, licenced under the GNU General Public License, is primarily written in the C++ programming language with the exception of the lobby which is written in Delphi, and the LAN game server which is written in Java. The C++ code structure is written in an object-oriented manner and is documented to some extent using doxygen. However most of the code has no proper documentation yet. The official source code package includes project files for various IDEs and building tools, including SCons, KDevelop, Microsoft Visual C++ 7.0/8.0, and XCode.

Multiplayer support

Spring is designed to be used for online multiplayer matches. It uses a deterministic game simulation which is executed on all game clients. Only the user commands are sent to other players, which prevents any active cheating. AMD-64 and i386 platforms are supported for multiplayer on Linux, and i386 on Windows.

The game is unusual in that it uses a lobby with a look and feel similar to an IRC client.

Features

Some of the defining features of this game are:

  • Large battles, with support for up to 5000 units per player. (How playable this is depends on the CPU power of the computers that are running the game. Everything is synchronized with all player's CPUs, the slowest CPU is the hard limit of gamespeed.)
  • Allows the user to control select units in an FPS style.
  • Ability to handle large maps.
  • Fully 3D camera view, allowing for complete freedom of movement.
  • Easily interchangeable AI and mods.
  • Realistic 3D trajectories for projectile and missile weapons
  • Fully 3D air combat.
  • Detailed terrain. Some maps are directly exported from terrain rendering tools such as L3DT and Terragen.
  • Deformable terrain (example)
  • Compatible with unit files from Total Annihilation, allowing 3rd party units to easily be moved into Spring.
  • Up to max 16 players online (32 players are possible with the use of third-party lobby clients).

Mods

Spring has numerous mods in various stages of development. Most are based upon and use content from the original TA, including the most widely played mods: Balanced Annihilation, Complete Annihilation, and XTA. However, there are many mods which are derivatives of other works of fiction, such as a Gundam mod, a Warhammer 40,000 mod (with another in production), and a Star Wars mod based on the Galactic Civil War. There are also several fully original mods, including "Expand & Exterminate", a strategic mod inspired by Earth 2150 and "Kernel Panic", a Darwinia-esque mod emphasizing simplicity.

de:Spring (Computerspiel) fr:Spring (jeu vidéo) nl:Spring (computerspel) pl:Spring (gra) ru:Spring (игра)