General information
What is Spring?
Spring is a project to create the best RTS ever (no joke). There are three principle goals which we hope to achieve.
- Reach a stage where TA Spring can flawlessly execute most of Total Annihilation’s original gameplay, with its original units in their original format.
// This goal has been achieved, Multiple TA-style mods are now around ranging from BOTA which is Basically OTA, to CA which rebalances most of the units and roles while keeping then graphical style. A bunch of non-TA mods are also available, such as; Kernel Panic, Gundam Annihilation, and 1944: Spring
- Add new features as we see fit, fix bugs, and release new versions when we feel it is appropriate to do so.
- Support the mod community as we see fit.
// A quite robust modding system is implemented allowing ease of modding or just making a mutator for an existing mod. This can be done either mod or map side, allowing special buildings to be included in a map.
- Improving the already fine original TA Interface in a way that the Players will have more tactical Options, more Control, more Comfort and still don`t get lost, as long as they are willing to learn.
//There has recently been added support for LUA widgets and gadgets which will help you customize the interface to your needs. The UI is personal again.
The goals might need an update.. — Tim Blokdijk
Is Spring free?
The core game is released under GPL License. Fortunately as of now, there are also two mods which have been released under the GNU/GPL, and several more which do not have clear licence terms (owned by their modder).
However, there are also several mods for which some parts are still under copyright of Atari. For these you need to own the original TA game if you want to play.
I want to help, what can I do?
Please look at the Messageboard. There are lots of things you can do according to your skills. Particularly important is to create viable and pleasing free alternatives to copyrighted material, mainly sounds and units.
I want to donate.
People have made clear their desire to donate to the project, and so far, we have been fairly reluctant about accepting donations. Our main concern? While we certainly hope to have something on the level of a commercial release in the near future, there is no guarantee that it will ever happen. Unforeseen events arise, and it would be most unfortunate if everyone who donated felt swindled because the project did not turn out as they had hoped.
We do not plan to be more or less productive solely based upon the quantity and frequency of donations received. The Spring project is here only because we view this as an enjoyable hobby.
I read all that and I still want to donate.
Very well then! You can find the required details here. It will be much appreciated. :)
Technical
What port numbers does Spring use?
Game uses port 8452 UDP by default, which can be changed in the lobby. If you are behind a router, and are having problems hosting, try forwarding the correct port and also make sure the firewall is not blocking it.
What APIs does Spring use?
The Windows version of the program (Which is the Binary that can be downloaded from this site) uses: OpenGL for rendering, DirectSound for sound, and Winsock for networking.
The Linux port, see Linux Page with more info below, uses SDL/OpenGL for rendering, OpenAL for sound (which will connect to DirectSound on Windows and OSS or ALSA on Linux), BSD sockets for networking.
I am having really bad framerates (fps) on my dual core! What am I doing wrong?
Currently spring does not like dual/quad cores, you will get really bad framerates. To solve this, you have to restrict it to run on one core. Download the file from http://www.robpol86.com/pages/imagecfg.php follow the instructions, and make all of the spring exe files (spring.exe, TASClient.exe, all others) run on one core. It will run much faster.
Additionally, install the latest processor drivers and Windows hotfixes for your system.
I am having really bad framerates (fps) on my brand new nVidia graphics card! What am I doing wrong?
Turn off ‘threaded optimizations’ for Spring in the nVidia control panel.
What language is Spring written in?
The spring game engine is written in C and C++. The Windows lobby client is written in Delphi, the lobby server is java. Of multiplatform lobby clients, SpringLobby is in C++ and AFLobby in java.
Is Spring open source?
Yes, it is. Go to the downloads section of the site to download the source code.
Is there any documentation for the source code?
Yes, doxygen is used to automatically generate the documentation (link is dead).
Is Spring a Portable Application?
At present, I play Spring at my college by using my IPOD as a portable bit of storage for the game, so yes, it does appear to be portable. Also, I managed to run AFLobby from the IPOD as well.
If both of those can run off a bleedin’ IPOD, they can run off of anything, in my opinion.
If I’m wrong, edit.
See [1] for more information about portable applications.
- Sangue
I have always played Spring off a two GB flash card and I have never had any probs with the registry. There is a little bit of a memory problem though x). I would say that Spring right now is definately portable as long as you leave it alone without adding a bunch of third party servers and such.
- Wred XIII
Requirements
What platforms will Spring run on?
At the moment, it runs on Windows, Linux and basically on Mac OS X. Support for FreeBSD is in work.
What sort of a system do I need to run Spring?
You need a 3D graphics card to run Spring, which will probably require at least a a GeForce4 MX and the latest driver supported. Minimum CPU requirements are a little more complex. A more powerful CPU will have the capability to support larger maps and a greater maximum unit limit. A 1 GHz CPU should be able to support an estimated 500 units. The needed memory will also vary with unit count and map size, and Spring has been known to have worked with 256 MB of Ram (albeit with lowest detail levels).
For further details and tested Systems check the Requirements page.
Spring says ‘Missing Default Cursor’
That means you are playing a mod or ‘game content’ that depends on files you do not have. Most of times, it’s due to trying to play a TA mod without having the TA base files (/base/otacontent.sdz, /base/tacontent_v2.sdz, /base/tatextures_v062.sdz). You can download them from here (After download, move them to the /base/ subfolder of your Spring folder). However, that would be illegal if you do not own the disc from a ten years old video game called Total Annihilation. Pretty sure it’s illegal if you own it too. And don’t even try to dump genuine TA data in your Spring folder, that won’t work. To remain legal, play mod / ‘game content’ that do not depend on repacked TA contents.
Spring says I need the GL_ARB_texture_env_combine extension, what can I do?
This error can be caused by various things:
1: Old video Hardware.
2: Old drivers.
2: Bad installed Drivers.
3: Bad game settings.
If your hardware is old check THIS (alternative Link) list, if you cant find your video card then, sorry, you have to buy a new video card.
If your hardware is in the above list or you are sure that your video card support this opengl extension download THIS software. Intall, run, and check if under the Report tab there is the GL_ARB_texture_env_combine string. If the string is present then the problem resides in your Spring settings, try lower screen resolution and disable all graphics effect. If the string is not present and your hardware is in the list the problem are your video card drivers. To solve this UNINSTALL ALL PREVIOUS DRIVERS and install last stable drivers for your video card. Usually the problem shows when there are uninstalled old video drivers on the system.
NOTE: Use glxinfo on a Linux system. You don’t need to download any third party application because most if not all systems with x11 should have that program already.
Getting into a game
People talk about ‘Single Player’. How do I start a single player game?
Simply start a game in the lobby, and enter a password, so that nobody can join. Then click ready, and start and away you go !
Alternatively, you can get Spring Single Player (new link) , a handy tool that lets you create single player games without cluttering up the lobby, as well as watch replays easily.
It’s also very easy to set up singleplayer games using SpringLobby. Just click on the singleplayer tab, add some bots, and play. You can grab it from the SpringLobby website.
When I try to make a single player game, it gives me an error.
Your graphics card probably can’t support Spring. If you read the requirements it did say GeForce 3 or better. Go to the settings file in your Spring directory and lower some of the options. Sometimes that works.
Does Spring support AI Players?
Yes, see AI You can also use the random_enemies script, which spawns units out of thin air and sends them to attack you.
How do I join an Internet multiplayer game?
Run the “TA Spring multiplayer battleroom” from the Start menu or the TASClient.exe from your installation folder. In the “Server” tab change the server to “Official Host”. Hit “Apply and close”. Re-open the TA Spring client. Create an account on the “Account” tab.
When I try to connect to the lobby it gives me an error.
There could be 3 problems. Either you don’t have an account, the server is down, or you have not configured your router/firewall correctly. If you don’t have an account, make one. If the server is down, you’ll just have to wait (this doesn’t happen often, though). If you have a router/firewall read below. Have a look at this website’s News page and/or the Messageboard, it is likely that you will get some information there in the eventuality that the server is down.
Also make sure that you don’t have any spaces in your username.
I have a router and I don’t seem to be able to get a game
If you are using a router you may have other problems. Explanations of how to forward ports has instructions for every router.
Where can I download more maps?
Please refer to the Maps section.
How do I install downloaded maps?
Most maps are released as .sdz or .sd7 files. These can be put directly into the “maps” folder inside the Spring folder. Spring now includes a script to move maps and mods to the proper directory on Windows if you double click them. If they are compressed into another type of archive you will have to unpack them first. Just unzip them into your spring maps folder. Some map files use newer (smaller) file formats such as .rar or .7z, to unzip these newer formats, you’ll need to download 7-Zip http://www.7-zip.org/ or Zip-genius http://downloads.zipgenius.it/. They both handle almost all formats and are totally free. There is also now a map browser in the TASClient lobby software, click the more maps button in a battle screen to access it.
Sometimes when I try to join games it gives me an error.
The host is behind a firewall that has not opened the correct ports for Spring.
When a multiplayer game starts I never make it past the loading screen.
This indicates a problem with your video card. Once again the best way to deal with this situation is to make sure your video card has the latest driver updates and that all Spring video features are on the lowest settings.
When a multiplayer game starts, I make it past the loading screen, but when I get into the game it says, “Waiting for Host”, and does a 10 second countdown. It always reaches zero and boots me out, what gives?
This is a firewall issue. There are three things you can do to fix this. First, make sure your windows firewall is either off, or is not blocking the TA: Spring application. Secondly, if you are behind a router, you can forward the ports that the host is using (especially if you are the host), and it usually fixes the problem. To do this you must go to your router configuration page. You can see what port ‘you’ are using (as the host), by hosting a multiplayer game in the Spring Lobby. You must make this your trigger port, and make sure that it is open for both TCP and UDP. Thirdly, if none of the aforementioned worked. The easiest thing to do (assuming you are behind a router) is to set the DMZ (Demilitarized Zone). This means your computer will be completely exposed to the internet, which will make you vulnerable to any unknown or unpatched exploits in windows. All you have to do is find the personal IP if the computer you are using and add it to your router’s DMZ list. Please only try this last option if you can’t get the others to work. Good Luck
I got into the game, but some people didn’t.
The host may have reached the number of players it has set. Or the players may be experiencing firewall or video card difficulty. That is not your fault. Please ask them too leave if they are still there when you get into the ‘game lobby’. Some people have problem connecting to “hole punching” hosts.
I got into a game but my name is red, nobody can hear me speak, and eventually I get disconnected
This is to do with how long it takes the game to start up (the “load time”). If it takes too long you will see this problem. The load time can be reduced by changing the game graphics settings to lower quality. In particular try setting texture quality to lowest.
What do all those icons mean in the server list?
Server status icons inform you, at a quick glance, what the server is doing at the moment, and what state it’s in (password protected, locked, open, full, etc). Read all about the server status icons and what they mean here. Or hit F1 in the Battle room for even more information on the icons and their meaning.
Playing
What is with this weird right-click mode? I’m ’bout to break my keyboard.
Sorry, you’ll just have to get used to it. As of now it can’t be changed.
Why is somebody else also controlling my units?
In the ‘game lobby’ there are two sets of teams. There are the ‘Ids’ and the ‘Teams’. If you are on the same ‘Id’, then you both get the same commander, and can control the same units. If you are on the same ‘Team’, then you both get different commanders and can’t control each others units.
Is there a way that I can play music directly through TA-Spring, with alternating tracks for building/attacking like in the original Total Annihilation?
Yes, there is. It is an addon (GroupAI) you have to download separately: http://jobjol.nl/1188
There is also an ingame sound-volume-slider you might find usefull (lua-script): http://jobjol.nl/1218
Then why would I want to be on the same ‘Team’ as somebody?
Because it’s fun to just drive around units and not have to worry about commanding. (Assuming that one of the people on the team is commanding.) Most importantly, however, you can split tasks, such as base building, and troops management.
Sometimes I can’t write anything but numbers and some other symbols. Why is that?
This is most likely because of the Windows language bar change from which
Spring doesn’t recognize the characters written.
Note: That Default hotkeys in Windows XP for changing the language is Shift+Alt, which is similar to square build hotkeys in Spring!
How do I talk to my allies only?
You must type ‘a:’ before you speak, or press “Alt Enter” at the same time. Here’s an example: a: Now I am talking to my allies only.
Help! After I’m finished driving a unit, the camera is all insane! This is nuts! How do I fix it?
Whoa now. Calm down. Just press ctrl + mouse button 3 to change camera modes. If your unit is destroyed in FPS mode, you will stay in FPS mode until you change camera modes. Also, the camera will stay in “free look” when FPS mode is disengaged, press middle-mouse or J to switch to normal scrolling.
After I’m finished driving a unit, where what used to be my mouse pointer is now a crosshair. Why?
-This is a special ‘view mode’ that allows you to move around the screen much faster. It’s good for viewing the battle or getting screenshots. Simply press on your third mouse button or ‘delete’ to revert back to your mouse pointer.
But I don’t have a third mouse button!
The key ‘J’ works in the same way as the ‘middle mouse button’ does. So where you would use ctrl + middle mouse button to change camera modes, ctrl + j does the same thing. Pressing J once will also switch you from ‘crosshair mode’ to ‘pointer mode’ and vice versa.
I´ve managed to get stuck in this weird camera mode and my perspective is all messed up. How do I switch to the overhead (OTA style) camera?
Shift+Backspace (or Shift+J or Shift+MiddleMouseClick) switches between the fps style, total war style and OTA style cameras. Use it to get your camera back to normal in this situation.
People are cheating! How do I stop it?!
Hack/Cheating in Spring is pretty much a non-issue. If the hash of spring.exe does not match with everyone else, that player will desync.
Well how do you cheat (using the game cheats)?
| Cheat Command | Effect |
|---|---|
| .cheat | enable cheats – Cheats don’t work in multiplayer until the host types this |
| .nocost | instabuild (doesn’t work on things already under construction, only on new ones) |
| .setmaxspeed 50 | Changes the maximum speed multiplier (default is 3.0) |
| .setminspeed 0 | Changes the minimum speed multiplier (default is 0.3) |
| .spectator | Allows you to see the entire map… but you lose control of your units |
| .team 0, .team 1, etc. | Change player |
| .give ARMCOM, .give 10 CORKROG, etc. | Place 1 or specified number of specified unit. Valid units are the internal names of units as specified in the unit definition. |
You can use auto-completion in the spring console if you don’t remember the internal unit name. To do that type:
".give arm" and then press your TAB key
A list of all matching units will be shown.
In Game Commands
The following non-cheating commands are also available in game:
| Command | Effect |
|---|---|
| /info | Shows you what colour each player is and their ping delay in the bottom right corner of the screen. |
| /clock | Shows you the elapsed game time in minutes and seconds in the upper right corner of the screen |
| .take | Pulls all allied units, that are owned by players who have lost connection to the server, to your team. |
How do I ally or unally in game?
I’m pretty sure you can’t. Yet.
How do I give somebody units or metal or energy?
Press the ‘H’ key. Then select the amount of metal and/or energy to share. Then select the receiving player and press OK.
When sharing units, you must first select the units to share, then press ‘H’ key. Tick share units checkbox and choose a receiving player.
How do I continually give somebody metal and/or energy after a certain point (i.e. Original TA commands +setshare…, +shareall)?
You’ll notice that on your metal and energy bars (top of screen), there are two red bars. You have to put them wherever you want your metal and energy to be shared after.
This game is different than TA, the units HP and damage are not the same
There were several third party “balance” mods for the original TA game.
One of those mods were xTA, and was developed by the same clan (SY) that has brought life back to TA, making Spring.
This balance mod is what is bundled by default with the spring engine, and is the mod that was ready to play when Spring was released.
Now are several mods available, install the mod of your choice.
XTA? OTA? AA? OMFGLAMO? WTF do those abbreviations mean?
zwzsg maintains a handy dandy FAQ about TA, and the abbreviations that relate to Spring too, of course. click here. See also the Spring Glossary, which contains brief explanations for all non-standard words and phrases.
Why am I destroyed so easily by long range assaults?
This is a realistic feature of Spring. Units will automatically attack ‘radar blips’ (units that they can not actually see, but that are indicated on radar). However, the accuracy is very bad while shooting at radar blips until:
- Your unit kills a lot of units and gets experience
- You get a targeting facility.
Can I kick people from my ‘game lobby’ or my game?
First of all, you have to be the host to kick. Use the good old “.kick playernamehere” command. Works in-game too, use it wisely.
When I’m ‘driving’ my commander, why can’t I use my laser?
The Spring team will most likely add a way for you to use your commander’s laser soon.
I hate driving around with the ‘arrow keys’. Is there any way I can use the ‘W-A-S-D’ controls (the controls most First Person Shooters use) anymore?
Go into your Spring directory and edit the uikeys file. Keep in mind that ‘S’ is originally a ‘hot-key’ that will stop your units and that ‘D’ is a ‘hot-key’ for your commander’s D-Gun. You might want to change those too.
I turned the shadows feature on; I still don’t see shadows. What gives?
Your graphics card can’t handle shadows, so Spring automatically turns them off.
I can’t go backwards when I am ‘driving’ a unit. Why not?
Because it would cause the pathfinder in spring to have to work 10 times as hard and would melt your CPU. However, at some point there is a good chance that the pathfinder we are currently using may be replaced
I’m in an Unreal Tournament kind of mood. How do I strafe?
You can only strafe in ‘brawler type’ ships, such as the brawler, rapier, and light gunships.
How can I record and watch demos/replays?
From version 0.62 onwards recordings of all the games you play are easily available for replay via the Replays button in the TASclient.
You can use the Speed up/Slow down game keys while watching the replay, along with other in-game commands like .team
From version 0.60b1 onwards, demos are automatically recorded in the “demos” folder, underneath your Spring folder (default is C:\Program Files\Spring\demos), named for the date and map they were played on. If you play multiple games in the same day on the same map, the games will also be numbered to prevent them from overwriting each other.
From version 0.62 onwards, to view a demo from the Windows file manager you can just double click the file name.
Sometimes when I play get “not sync” “delayed synch” errors
Thats caused because of lag. One of the players in the game is having some lag issues. Ask him/her to free up its bandwidth for the game to use.
Alternatively you can use the pause key and wait till the connection gets more stable.
Lag is the seccond number showed when you use the .info command ingame, numbers bigger than 40 are not usual in a normal game and are a signal of lag.
Content
Do Spring maps need a “ground”?
Spring maps do require a ground. We have had many requests to have space maps, however, a “true” (ala Homeworld) space setting is not likely. It would have to wait until a much later stage. This does not mean that TA’s style of “space” maps won’t be possible, (see the Final Frontier TC for examples of this).
You stated that Spring uses the TA unit format.
Spring does use the Total Annihilation unit format. However, there is also a new format dubbed ‘.s3o’ which uses a UV mapped texture instead of 3do’s per face texturing system, as well as other improvements.
How powerful will Spring’s custom format be?
Total Annihilation’s unit format was extremely limited. Most of these limitations will either be expanded or non-existent in Spring’s custom unit format. One of the most exciting improvements is the introduction of an entirely new method of scripting, with nearly complete control over every aspect of a unit’s actions and behaviors.
Does Spring have a limited number of weapons?
No. Unlike Total Annihilation, Spring’s weapon IDs will be unlimited. Meaning it will be possible to add as many third-party units as you want. However, the current model format limits 16 weapons to each unit.
Does Spring have a limited number of unique units?
No. Unit IDs, like weapon IDs, will be unlimited.
Will units have a maximum of 3 unique weapons?
Total Annihilation had a limitation that permitted a maximum of 3 unique weapons per unit. Spring currently has a way to have 16 weapons per unit. (Replace Primary, Secondary, Tertiary by 1 2 3 …16). More can be made possible by modifying the source if there’s a sufficient demand by mod makers.
I’m curious as to the per-unit polygon limit.
The engine itself does not have a polygon count limit. The limit is that of the processing power of today’s computers. Since Spring requires a 3D card, the maximum polygon count per unit will be several times higher than Total Annihilation’s. That means for your average mod, 300 polygons for common units and 700 for the more expensive ones is quite reasonable. (But don’t waste polies unnecessarily!)
Will units be able to perform basic terraforming?
Total Annihilation units probably won’t have any terrain editable functionality. Future units may be endowed with such functionality, but it’s more of a gameplay issue and has not been decided upon yet. However construction units can restore ground, and certain weapons (especially explosive ones) can be used to deform the ground.
Will tunnel building be possible?
Subterranean areas of any sort is impossible. However, it is possible to heavily deform the ground with explosives.. Which is great fun!
Will the ground’s water retention be editable?
No. Water will always collect when a piece of land has a height below sea level.
Does Spring have a limit on the number of races?
Spring has no limit on the total number of sides/races.
What are the sizes of the biggest and smallest units?
Static units (buildings, defenses, etc.) have no size limitations in the engine. Technically, neither do mobile units, but units with a footprint larger than 4×4 “squares” (an arbitrary size standard created by Cavedog) might have problems pathfinding.
What is going to be the maximum possible sea depth?
For all practical purposes, it will be unlimited. The depth values are stored as “float variables”, so it is doubtful that maps would ever be made which even come close to approaching the limit.
Will Spring support campaigns?
Basic Map scripting has been implemented, using a Lua scripting engine. From that, it would be possible to make a basic campaign, but for ease of use a better way of selecting scripts and an improved Single player menu is needed.
See Mission development for more details.
How big are the Spring files?
Spring will be as small as however much content is included with it. The “essential” files are only be several megabytes large. Content (such as maps and units) will add considerable size to the Spring download. Currently, the file size is roughly 30 MB.
How will Spring render sound effects?
Sound is rendered 3D, meaning that the volume and direction (assuming a multi-speaker setup) vary with the location of the camera from the sound “emitter”. What this translates into gameplay terms means that the closer you are to a unit making a sound or motion, the louder the sound will be. Additionally, the sound will be heard differently depending on which way the camera is facing relative to units making sound.
Will Spring have ambient sound?
There is no ambient sound, and we haven’t planned on adding it thus far. But thanks to the magic of lua, it is being made possible.
Will there be an AI or a “skirmish” mode?
We have created an interface for artificial intelligences (AIs), and several are currently under development. Information on these can be found at the AIs wiki page.
Will a “possess” or a FPS option be present?
Yes, it is possible to fully control a unit from the first person view. It is more of a gimmick, but it still allows for a nice diversion once in a while. Instructions on its use are in the Using Spring article.
How do I create maps?
See the Map development page for all the map info.
How do I create units/mods?
See the Mod and Unit development page on creating units/ mods.