# Spring mini-help

What is Spring?

Getting Started!

Q&A!

More useful information!

Legal!

# Questions and Answers

## 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.

1. Reach a stage where Spring can flawlessly execute most of Total Annihilation's original gameplay, with its original units in an improved format (completed).
2. Add new features as we see fit, fix bugs, and release new versions when we feel it is appropriate to do so.
3. Support the mod community as we see fit.

### When will Spring be ready?

Now! You can get the latest version from the download page.

### Will Spring be free?

The core engine is released under GPL License. However, the modifications of Total Annihilation which use the engine are still under copyright restrictions. Therefore, you need to own the original TA game if you want to legally play them. However the community is working hard on completely free alternatives of game content (e.g. Gundam, Kernel Panic, Evolution, Spring: 1944, and Simbase).

### Why can I edit this page?

This page, and several others, are located in the Spring Wiki. The link gives a full explanation of what it is, but in short it is a way of letting anyone who wants to contribute to the page content. This can of course be abused, but even while it is easy for someone to vandalise the page, it is just as easy for someone to restore it, since the wiki saves all previous versions of a page.

### 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. Almost anyone can help by reporting bugs to the forums and the bug tracker. Also anyone can help by treating other community members with respect, and reporting bad behavior to the moderators. Those with more specific skills, such as coding or artistic skills may one to help develop the spring engine or one of the many games that uses it.

### 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.

Also, because we're such nice people, we'll let you view the Source, so you can help in making this game better than it already is (as though that were possible).

### 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, make sure you forward the correct port first to the computer that is going to host and also make sure firewall is not blocking it, or else you won't be able to host games (you will still be able to join others games though).

### What APIs does Spring use?

The Windows version of the program uses: OpenGL for rendering, DirectSound for sound, and Winsock for networking.

The Linux version 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.

### What language is Spring written in?

The spring game engine is written in C and C++. The Windows lobby client (TASClient) is written in Delphi, the lobby server is java. Multi-platform lobby clients are made in C++ (SpringLobby) and java ( AFLobby).

### 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.

## Requirements

### What platforms will Spring run on?

At the moment, Spring runs both on Linux & Windows, some effords were being made to port to OSX, but the port should be considered highly experimental. We (the Spring Team) will not, however, port it ourselves at any time (in the foreseeable future). There is simply no compelling reason for us to do so. Additionally, we would like to focus on getting it to work well.

### What sort of a system will I need to run Spring?

You will most certainly need a 3D graphics card to run Spring, which will probably require at least a GeForce3 (note that a GeForce4 MX is not better than a GeForce3) 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, but 512 MB should be enough. However, 1024MB you should already have, so it'll run fine

REQUEST - please provide a small checkconfig.exe to check if hardware is enough to run Spring. do you want thousands of useless downloads ? Yes.

### Spring says I need the GL_ARB_texture_env_combine extension, what can I do?

If you encounter the error "Needed extension GL_ARB_texture_env_combine not found", this means that your video card driver does not support GL_ARB_texture_env_combine. You can try downloading a new video driver from the manufacturers website ([www.ati.com], [www.nvidia.com], ...) If this doesn't solve the problem then your video hardware is too old to support the extension. Buy a new video card.

EDIT: I am also having this problem with the geoforce 6800 ultra and I have the latest drivers.

REQUEST : please name some working and non-working 3D video cards. please give a value for minimum video memory : 32 Mo ? 64 Mo ?

List of video cards supposingly supporting GL_ARB_texture_env_combine :

http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_texture_env_combine

Spring works in full screen,but cncounters the error "Needed extension GL_ARB_texture_env_combine not found" when i try to run spring.exe in window

## 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, we do plan to make Spring compatible with a custom unit format of our own design.

### 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. No real numbers yet though. We're gonna leave it up to the mod community to figure that one out.

### Will units be able to perform basic terraforming?

Total Annihilation units probably won't have any terrain editable functionality. Terraforming is now possible in the mod Complete Annihilation. Also, all construction units can restore 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 4x4 "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 campain, but for ease of use a better way of selecting scripts and an improved Single player menu is needed.

### How big will the Spring files be?

Spring will be as small as however much content is included with it. The "essential" files (engine files mostly) are only about 10MB. Content (such as maps and units) add considerable size to the Spring download.

### 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.

### Will there be an AI or a "skirmish" mode?

We have created an interface for AI's, and there are several in a current usable state and more under development. Be Careful about the AI mod requirements since some requies configuarion scripts in order to play and some might be compatible with only a restricted number of mods.

### 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.

## Getting into a game

### People talk about 'Single Player'. How do I start a single player game?

Go into your Spring folder and find the 'Spring.exe' file. Double click on it and say 'yes' to host.

### 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?

We have created an interface for AI's, and there are several in a current usable state and more under development. Be Careful about the AI mod requirements since some requies configuarion scripts in order to play and some might be compatible with only a restricted number of mods

### 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 (http://www.portforward.com/routers.htm) has instructions for every router.

### Where can I download more maps?

Almost the totality of the Spring downloads can be found at the host UnknownFiles

### 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. 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 I make games nobody joins.

You are probably behind a firewall. See question above.

### 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'.

### 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.

## 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 'Teams' and the 'Ally Teams'. If you are on the same 'Team', then you both get the same commander, and can control the same units. If you are on 'Ally Teams', then you both get different commanders and can't control each others units.

### 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.)

### How do I talk to my allies only?

You must type 'a:' before you speak. Here's an example: a: Now I am talking to my allies only.
And most important, you can split tasks, as base building, troops managment.

### 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 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.

### When I start a game, I am stuck in this weird camera mode and my perspective is all messed up. How do I switch to the overhead (OTA style) camera?

This happens when you start a single player game or when the host uses force start. 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.

### Well how do you cheat?

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.

### 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 left corner of the screen
.clock | Shows you the elapsed game time in minutes and seconds in the bottom left 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 and some of them not related to Total Annihilation, install the mod of your choice.

For a comprehensive repository of mods, visit UnknownFiles

### XTA? OTA? AA? OMFGLAMO? What those all the abbreviations mean?

zwzsg maintains a handy dandy FAQ about TA, and the abbreviations that relate to Spring too, of course. click here (http://www.tauniverse.com/forum/showthread.php?t=27309). 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 TA: 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 TA units were never intended to go backwards. Sorry.

### 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. For versions 0,60 and 0.61, to view a demo start spring.exe as non server and enter the full demo name as server address ("050803-Ashpen-0.60b1.sdf" for example). Note that you don't need to enter the "demos" folder name. Due to the large font, you will find that the name is too big to fit on the screen. If you're confident typing blind from memory, that's OK. Otherwise go into windows explorer, select the demo file you want, press F2, Ctrl-C, and do Ctrl-V to paste it into the server address.

For versions prior to 0.60b1, the game was always recorded to test.sdf which is overwritten by each new game, so the name had to be changed by hand if you wanted to save it. You had to use a name other than test.sdf to view a demo.

### 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 biguer than 40 are not usual in a normal game and are a signal of lag.

## Creating Content for Spring

### How do I create maps

See this page: Create maps

Retrieved from "http://spring.clan-sy.com/wiki/FAQ"
.