# Spring (Engine)

Spring (ehemals Total Annihilation: Spring) ist eine quelloffene Spiel-Engine für Echtzeit-Strategiespiele.

## Entwicklung

Die Entwicklung von Spring begann 2004 ursprünglich als ein Spiel unter dem Namen TA Spring. Als Basis diente der bereits entwickelte Total Annihilation Demo Viewer. Das ursprüngliche Ziel war, alle Mods und Einheiten (auch von Drittentwicklern) des Spiels Total Annihilation (kurz: TA) zum Laufen zu bekommen. Als dieses Ziel 2006 nahezu erreicht worden war, verlagerte sich der Fokus der Entwicklung in Richtung einer allgemeinen RTS-Engine über TA hinaus. Mit Version 0.73b1 wurde dies im Namen abgebildet, als das Projekt von TA Spring in Spring umbenannt wurde, auch um sich von dem proprietären TA-Material zu lösen. Eine angewachsene Fan- und Entwicklergemeinde leistet inzwischen die Hauptarbeit bei der Entwicklung neuerer Versionen der Engine.

## Eigenschaften

Spring ist sowohl alleine gegen KI-Spieler als auch online mit Spielern aus aller Welt spielbar. Außerdem wird weiterhin an vielen neuen, im Vorbild TA nicht enthaltenen Features gearbeitet. Geplant und teilweise schon ausgeführt ist unter anderem:
* Ein neues Einheitenformat wurde geschaffen, das das veraltete .3do (Total Annihilation Format) ersetzt, wobei UV-Mapping, Einheiten-Beleuchtung und bessere Unterstützung für Team-Farben eingeführt wurden.
* Ein neues Kartenformat, das dem von Warcraft III ähnelt.
* Eine neue GUI, da die jetzige auf dem ursprünglichen TA basiert.
Es soll betont werden, dass die Engine und Spiele jetzt schon vollständig und ohne Konfiguration herunterladbar und spielbar sind.
Spring wird hauptsächlich als Mehrspielerspiel über das Internet oder LAN-Verbindungen (letztere benötigt zusätzliche Serversoftware) gespielt. Es gibt bisher wenige Einzelspielermissionen, die über die Scriptingsprache Lua realisiert sind. Es stehen auch einige KI-Computergegner zur Verfügung, mit denen man offline spielen, zusätzliche Spieler im Multiplayermodus ersetzen bzw. gegen die gemeinsam gekämpft werden kann.

## Spielverlauf

Der nachfolgend geschilderte Spielverlauf gilt für Spiele, die auf dem Grundspiel Total Annihilation basieren (auch als *A Mods bezeichnet), andere Spiele für die Spring-Engine weichen teilweise deutlich von einigen dargestellten Prinzipien ab.
Am Anfang des Spiels startet der Spieler mit einer kampfstarken Baueinheit, dem Commander. Dieser baut dann Rohstoffabbau-Vorrichtungen und Produktionsgebäude, die dann wiederum Kampf- und Baueinheiten produzieren können.

### Der Commander

Dieser produziert aus sich selbst heraus konstant einige Einheiten Metall und Energie und kann einige einfache Gebäude errichten. Er unterscheidet sich von den Starteinheiten anderer RTS-Games beträchtlich, denn er ist mit der stärksten Waffe des Spiels ausgestattet, der so genannten Desintegrator Gun oder kurz D-GUN, die jede Einheit gleich welcher Größe mit einem einzigen Schuss erledigt. Allerdings ist die Reichweite eher gering. Er ist außerdem eine der schnellsten Baueinheiten des Spiels und hinterlässt bei seinem Ableben eine Atom-Explosion, die sein näheres Umfeld vernichtet. Diese wird von einigen Spielern als strategisches Mittel eingesetzt, um gegnerische Basen zu vernichten. Diese auch als Com-Bomb bezeichnete Taktik, gilt als eher unpopulär und ist teilweise leicht zu verhindern.

### Rohstoffe

Es gibt zwei Rohstoffe, Energie und Metall, wobei sich Energie mit speziellen Gebäuden in Metall umwandeln lässt. Dem Spieler wird angezeigt, wie viel er von beidem zurzeit besitzt, wie viel er pro Sekunde hinzugewinnt, und wie viel er momentan pro Sekunde für Produktionsvorhaben und Bauaufträge ausgibt. Diese verbrauchen pro Sekunde gewisse Rohstoffmengen, es müssen also nicht alle Rohstoffe bereits zu Baubeginn zur Verfügung stehen. Man rechnet dem nach eher mit dem aktuellen Einkommen, an statt wie in anderen Spielen üblich, nur mit seinem aktuellen Reichtum.
Als zusätzlicher Rohstoff kann die Bauzeit angesehen werden. Da es möglich ist, Fabriken oder Baueinheiten beim Bauen durch weitere Einheiten oder spezielle stationäre Nano-Türme zu unterstützen und somit das Bauprojekt schneller fertigzustellen.
Energie lässt sich über Wind-, Solar- und Geothermal-Kollektoren, Gezeitenkraftwerke und später Fusionsreaktoren gewinnen, Metall baut man entweder auf Metall-Flecken auf der Karte mittels Minen ab (die sich aufwerten lassen) oder generiert sie aus Energieüberschüssen mittels sogenannter Metall-Generatoren. Die Metallvorkommen auf der Karte sind unerschöpflich. Des Weiteren ist es möglich aus zerstörten Einheiten und Gebäude Metall zurückzugewinnen.
Erwähnenswert sind auch die Metallkarten, dies sind Maps, deren kompletter Boden aus Metall besteht, vergleichbar mit den Money-Maps anderer Spiele. Man kann dort an jeder beliebigen Stelle Metallminen bauen, wodurch das Spiel schnell zu einer reinen Materialschlacht wird.

### Technikbaum

Der Technikbaum in dem auf Total Annihilation basierenden Spiel ist umfangreich, aber dennoch sehr leicht nachzuvollziehen. Es existieren fünf Richtungen: Schiffe, Roboter, Fahrzeuge, Flugzeuge und Hovercrafts, wobei es mehrere Technik-Level gibt. Für jeden Einheitentyp gibt es eigene Fabriken. Diese können vom Commander oder anderen Baueinheiten errichtet werden. Zudem kann jede Baueinheit eine verbesserte Fabrik ihrer Art (z. B. ein Baufahrzeug eine verbesserte Fahrzeugfabrik) errichten, die die Produktion stärkerer Einheiten ermöglicht.

### Nano-Strahlen

Innerhalb der Story des Originalspiels wurde erklärt, dass in der Zukunft alles mit sogenannten Nano-Strahlen gebaut wird. Diese bestehen aus abertausenden Nano-Robotern, die allmählich die gewünschte Struktur formen. Da diese untereinander kompatibel sind, kann jede Baueinheit mit ihrem Nano-Strahl bei jedem Bau- oder Produktionsvorhaben mithelfen, der Commander mit seinem sehr starken Nanostrahl kann also zum Beispiel eine Fabrik bei ihrer Produktion aktiv unterstützen, wodurch sie wesentlich schneller produziert. Man baut also üblicherweise nicht mehrere Fabriken, sondern weitere Baueinheiten, die die Fabriken bei der Produktion unterstützen. Patrouillieren können in diesem Spiel nicht nur Kampfeinheiten, sondern auch Baueinheiten. Sie helfen dann bei jeder Baustelle mit, die sie auf ihrem Weg antreffen, oder reparieren beschädigte Strukturen und Einheiten.

## Features

Zu den Features zählen unter anderem:
* Riesige Schlachten, wobei bis zu 5000 Einheiten pro Spieler unterstützt werden und theoretisch 250 Spieler je Spiel möglich sind.
* Eine frei positionierbare Kamera mit verschiedenen Ansichten-Modi (z. B. wie die des ursprünglichen TA, oder wie bei Total War).
* Realistisches und detailliertes Terrain. Viele Karten werden mit Programmen wie L3DT oder Terragen erschaffen.
* Deformierbares Terrain. Explosionen und Einschläge verformen die Oberfläche und hinterlassen Kraterlandschaften, in Abhängigkeit von den Modeinstellungen.
* Viele Mods, vom ursprünglichen TA Mod, über neu gewichtete Mods wie Absolute Annihilation zu Raumschiffkriegen in TA: Final Frontier, realistische heutige Kriegsführung in Spring: 1944 und Star-Wars-Kämpfe in Star Wars: Imperial Winter.
* Eine große Entwickler-Community, die regelmäßig Weiterentwicklungen, Karten, Modelle, Patches und neue Spielmodi herausbringt.
* Automatische Aufzeichnung sämtlicher Spiele als Demos in einem eigenen Dateiformat.
* Dynamische Explosionen, Waffen und Lichtquellen an Einheiten.
* Beliebig viele, komplexe Aktionen können für eine Einheit vorausgeplant werden, neben Bewegungen zum Beispiel auch Bauvorhaben, Patrouillengänge und Angriffe. Man kann diese Befehle auch auf eine Fabrik übertragen, diese gibt sie dann an alle dort gebauten Einheiten weiter.
* Zahlreiche innovative Multiplayer-Features wie z. B. Setzen von für Teammitglieder sichtbaren Markern, direktes "Malen" auf die Karte (um beispielsweise Angriffsrouten zu koordinieren).
* Beliebig viele computergesteuerte KI-Spieler lassen sich über DLLs bei Spielstart einladen.
* Eine frei konfigurierbare grafische Benutzeroberfläche und Lobby sowie eine große Anzahl an Widgets.

## Gruppen-AIs

Eine Gruppen-AI (Group AI) ist ein Computerassistent, dem einzelne Einheiten zwecks Erledigung kleinerer und lästiger Aufgaben übergeben werden können. Die Einheiten bleiben dabei natürlich vollständig unter der Kontrolle des Spielers. Einige Beispiele:
* Metal Maker AI Diese AI ist für die Ressourcen-Verwaltung sehr nützlich. Sie schaltet automatisch alle zugewiesenen Gebäude, die Energie in Metall umwandeln ein, wenn Energie-Überschuss herrscht, und schaltet sie bei Energiemangel wieder aus, so dass keine Energie verschwendet wird.
* Simple Formation AI Erlaubt die Einheiten in Formation zu bewegen, was in dieser Form im Hauptprogramm sonst noch nicht implementiert ist.
* Central Build AI Sie teilt Bauaufträge hierarchisch ein, was bedeutet, dass der Spieler nicht mehr jeder Baueinheit einzeln sagt, was sie wo bauen soll, sondern nur noch der gesamten Gruppe, wo etwas stehen soll. Die diesem Standort am nächsten befindlichen Einheiten rücken dann dorthin vor und bauen das Gebäude.
Diese Gruppen-AIs können von jedem Programmierer selbst geschrieben werden und werden als DLLs in einen bestimmten Ordner gelegt, wo sie im Spiel (de)aktiviert, es ist also jedem möglich seine eigenen Gruppen AIs zu entwickeln und zu verwenden. Allerdings herrscht in der Community Uneinigkeit, ob dies weiterhin uneingeschränkt möglich sein soll. Da dies natürlich einigen Leuten entscheidende Vorteile verschaffen kann. Man denkt darüber nach, nur noch Gruppen-AIs zuzulassen, die jedem zur Verfügung stehen.

## Selektionseditor

Ebenfalls eine Neuentwicklung. Hiermit lassen sich komplizierte Einheiten-Auswahl-Scripte erstellen. Beispiele hierfür sind unter anderem:
* Wähle von den Einheiten, die bereits ausgewählt sind, die heraus, die weniger als x % Lebensenergie haben (nützlich, um beschädigte Einheiten aus der Schlacht zu ziehen und zu reparieren)
* Wähle eine einzelne unbeschäftigte Baueinheit an.
* Wähle alle Bomber aus
Prinzipiell sind damit fast alle denkbaren Auswahlmodi möglich. Bereits implementiert sind alle Tastenkombinationen des Original Total Annihilations.

## Spiele

Es gibt viele Mods für Spring, unter anderem:
* Balanced Annihilation ist stark an Total Annihilation angelegt und verwendet teils noch dessen Spieledateien.
* Beyond All Reason ist ein eigenständiges Spiel, das von Balanced Annihilation abgespalten wurde. Es beinhaltet viele neue Einheiten und eine Kamera, die an Supreme Commander angelehnt ist.
* Zero-K bietet neben Mehrspieler Gefechten eine vollständige Kampagne, die kooperativ mit anderen Spielern gespielt werden kann und während der neue Technologien und Einheiten freigeschaltet werden.
* Evolution RTS stellt ein komplett freies Echtzeit-Strategiespiel dar. Fokus des Titels liegt auf Einsteigerfreundlichkeit.