# Spring (moteur de jeu)

Spring, anciennement dénommé Total Annihilation Spring puis TA Spring, est un moteur de jeu de stratégie en temps réel libre et open-source sous licence GPL, principalement multijoueur, en Réseau local et sur Internet. Il fonctionne sous Windows, GNU/Linux et OS X. Le moteur est à l’origine inspiré par la série de jeu Total Annihilation réalisée par Chris Taylor pour le studio Cavedog.

## Description

TA Spring emule et accroît les caractéristiques de base de Total Annihilation : gestion de la production de métal et d'énergie, création de mines d'extraction de métaux, de génératrices, éolienne, marémotrice, géothermie, usines de production d'unités, station de ravitaillement d'avions, et surtout la résurrection ou le recyclage des épaves et des arbres et débris.
* Terrestres (Constructeurs, Chars et Infanteries ou Kbots, Rapides, Antiaériens, Roquettes, Balistiques, Blindés, Artillerie, Amphibies, Kamikazes, Poseurs de mines, Radars et Brouilleurs de Radars…).
* Aériennes (ADAV) (Constructeurs, Reconnaissance, Chasseurs, Bombardiers, Torpilleurs, Helicos, Transports, Awacs…).
* Maritimes (Constructeurs, Vedettes, Destroyers, Croiseurs, Cuirassés, Sous-marins, Antiaériens, Transbordeurs, Navire Radar réparateur d'aéronefs, brouilleur radar…).
* Aéroglisseurs (Constructeurs, Éclaireurs, Antiaériens, Blindés, Balistiques, Roquettes, Transbordeurs).
* Sous-marines.
Le jeu commence avec l'unité principale ou commandeur, fabriquant usines, génératrices, mines et défenses de base.
Les constructeurs issus des usines de base permettant de construire des défenses basiques et des usines de construction évoluées.
Les constructeurs évolués permettant à leur tour d'élever des positions défensives plus coûteuses et destructrices.
Les épaves des véhicules détruits dans le feu de la bataille peuvent soit servir d'obstacle, soit être recyclées, soit être réparées à l'aide de véhicules appropriés.
La version originale du jeu, Total Annihilation, fut l'une des premières avec unités en complète 3D et une gestion des projectiles en temps réel; mais le terrain était encore en 2D et l'angle de vue restait donc fixe en vue isométrique. Sur Spring, il est possible de zoomer sur le champ de bataille, faire pivoter et incliner l'angle de vue ou prendre le contrôle direct des unités en vue subjective.
Autres différences essentielles avec le premier du nom :
* Le relief est maintenant affecté par les explosions et influe sur le champ visuel comme sur la portée radar. Les déformations du terrain ne se font que sur un plan vertical mais avec un effet des plus réalistes : pour exemple une explosion crée un trou en repoussant le sol sur les côtés et lors de l'édification d'un bâtiment, le constructeur commence par aplatir la surface.
* La portée des extracteurs de métaux, la puissance des vents et la force gravitationnelle varient selon les cartes.
* Toute unité peut recevoir des ordres avant la fin de sa construction.
* Une IA peut aider à la gestion des convertisseurs de métaux.
* Une autre IA peut faire mettre à jour par un constructeur les extracteurs de métal niveau 1 vers du niveau 2, dans certains modes la transition est semblable à celle présentée sur Supreme Commander le dernier RTS de Chris Taylor, initialisant celle-ci en cliquant simplement sur la commande Morph pour faire évoluer les unités au niveau de technologie supérieur.
* Chaque partie est sauvegardée et peut être revisionnée plus tard seul ou avec d'autre joueurs (utile pour faire un débriefing et identifier ses propres points faibles comme ceux des autres participants).
* Un bouton "Repeat" permet aux usines, par exemple, de construire à l'infini une séquence d'unités.
* le wiki du logiciel a été amélioré, il devient possible de créer son propre jeux avec des règles différentes, à condition cependant que l'on veuille un terrain en height map/topographie sans ponts ni tunnels. Sont nécessaires alors seulement un éditeur de texte, un logiciel de dessin assisté par ordinateur pour la 2D et pour la 3D, afin de créer véhicules, cartes et scripts LUA.

## Droits d'auteurs

Les auteurs du moteur n'ont pas demandé de licence qui serait nécessaire, dans la plupart des pays, en fonction des systèmes de propriété intellectuelle (images, logo, marque...). Les droits du jeu originel, encore en vente, sont la propriété d'Atari, qui n'a réalisé aucune action pour défendre ou à l'inverse abandonner ses droits, le plaçant dans une situation incertaine de logiciel abandonné, et le développement, la copie, la distribution de Spring pourraient être illégaux dans de nombreux pays.

## Jeux réalisés

Si à l'origine la reprise de Total Annihilation était le principal objectif, le moteur a permis la réalisation de quelques jeux additionnels.
Certains de ces jeux sont de simples évolutions de T.A., parmi elles :
* BA : Balanced Annihilation Modification cherchant à reprendre le jeu original en "l'améliorant". Donc très proche du jeu original, avec cependant des unités ajoutées et des paramètres revus pour les unités de base. Le résultat est que la plupart des unités (y compris bâtiments) sont à présent utilisables, y compris les plus décriés, comme le sumo, l'artillerie mobile, la tourelle laser légère ou les scouts. Un inconvénient est que le "rush" ne pardonne absolument plus et qu'il n'y a plus guère le choix pour commencer une partie : ou on suit la "bonne recette", ou on se retrouve éliminé du jeu en moins de deux minutes.
* Beyond All Reason
* OTA : Original Total Annihilation: Gameplay du jeu original.
* CA : Complete Annihilation : Modification dont le but avoué est d'obliger les joueurs à s'étendre en supprimant les bâtiments générateur d'une important quantité de métal (tout ce qui est "moho"). Les "mohos" sont remplacés par le fait que l'énergie en « surplus » est automatiquement absorbée par les extracteurs de métal qui voient leur production légèrement augmenter. Ce mode interdit évidemment toutes les stratégies d'extension lente (déjà difficiles à mettre en œuvre dans le jeu originel) : Plus encore que dans Total Annihilation, celui qui possède le plus grand territoire est en général celui qui gagne.
D'autres font varier les unités, règles, univers. Parmi eux :
* Kernel Panic : à l'intérieur d'un ordinateur
* Evolution RTS et Zero-K : similaire a T.A.
* A&A (Axis & Allies renommé Spring: 1944) en honneur à l'Opération Spring, ayant eu lieu pendant la bataille de Normandie, durant la Seconde Guerre mondiale. Elle permet de confronter de manière réaliste les armées des nations allemande, américaine, britannique et russe en mettant en accentuant l'importance de la logistique. Contrairement aux autres modes de Spring, de nombreux éléments s'appuient sur des caractéristiques techniques bien réelles telles que la vitesse de déplacement des unités, de rechargement et de rotation de leur tourelle, leur puissance d'armement, leur porté de tir, leur porté visuelle, leur distance maximale de furtivité, le "facing" de leurs blindages, la quantité individuelle de munitions, l'autonomie opérationnelle et surtout la nécessité de maintenir son soutien logistique pour améliorer la cadence de tir et refaire le plein de munitions, ce qui rend prioritaire la destruction de la logistique adverse.
Il y est aussi possible désormais de capturer les fantassins adverses, en plus des drapeaux disséminés sur la carte capturables eux uniquement par les fantassins (ou par un commissaire du peuple pour les troupes soviétiques), pour augmenter la vitesse de régénération des points de commandement permettant de fabriquer de nouveaux bâtiments et unités et d'enrôler de nouvelles troupes. L'autre ressource, les munitions, se régénèrent pour tous les joueurs selon un rythme régulier prédéfinie à l'avance par l'hôte de la partie, leur quantité dépend uniquement du nombre de dépôts de munitions disponibles. Une fois les munitions épuisées, les unités utilisant des obus, tels les canons, les obusiers, les chars, les bombardiers et les navires d'appui feu, ne peuvent plus tirer et doivent se rendre dans une zone de ravitaillement pour compléter leur soute à munitions, dans la mesure où la quantité disponible est suffisante.
* The Cursed : mélange de fantasy et de science-fiction

## Les scripts

Spring utilise un langage de script basé sur Lua qui permet l'amélioration des graphismes, à la création d'IA, en passant par la modification de l'interface.
Un exemple des scripts inclus dans Spring :
* XRay Shader affecte aux arêtes des polygones des unités et bâtiments la couleur de leur propriétaire ce qui permet de faciliter la reconnaissances des différentes joueurs en plus de donner un aspect néon/futuriste rappelant le film Tron.
* Metal Maker active et désactive les convertisseurs d'énergie en métal en fonction des besoins du joueur et de son niveau d'énergie.