<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abq911</id>
	<title>Spring - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abq911"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Abq911"/>
	<updated>2026-11-08T23:29:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development_IDEs&amp;diff=5770</id>
		<title>Development IDEs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Development_IDEs&amp;diff=5770"/>
		<updated>2012-08-12T23:48:05Z</updated>

		<summary type="html">&lt;p&gt;Abq911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Spring engine is highly complex; it is recommended that you use an IDE such as Microsoft&#039;s Visual Studio .NET 2005, Code::Blocks or Eclipse.&lt;br /&gt;
&lt;br /&gt;
==Visual Studio 2005==&lt;br /&gt;
Microsoft&#039;s free Visual Studio 2005 Express Edition is a good IDE to use on Windows. It comes with Microsoft&#039;s own compiler suite. Visual C++, which is the only component of Visual Studio you need, can be downloaded [http://www.microsoft.com/express/download/ here].&lt;br /&gt;
&lt;br /&gt;
==Code::Block/Dev C++==&lt;br /&gt;
Code::Blocks (and also Dev C++) is a light weight (around 3MB download), widely-used free/open source alternative to Visual Studio .NET, and can be downloaded here: http://www.codeblocks.org/ . Dev C++ is in the same vein as Code::Blocks, but slightly less advanced. It can be downloaded here: http://www.bloodshed.net/devcpp.html . Code::Blocks and Dev C++ both come with GNU GCC/G++ 3.4.&lt;br /&gt;
&lt;br /&gt;
==Eclipse==&lt;br /&gt;
A good full blown free C++ IDE is Eclipse. Eclipse does not come with C++ support by default but has a downloadable plugin that provides C++ support. See http://www.eclipse.org/ and http://www.eclipse.org/cdt/. The download is much larger at around 100MB for the basic tool without the C++ plugin.&lt;br /&gt;
&lt;br /&gt;
==Compatibility with official release builds==&lt;br /&gt;
In order to compile code that synchronizes with the official release, you&#039;ll need to compile with GNU GCC/G++ 4.0 or higher (MinGW). So, whilst you can edit in either of the aforementioned development environments, note that you won&#039;t be able to use them to build anything to work with the real Spring engine unless you install the MinGW compiler. In practice this is not too bad: usually you develop a patch against the latest source code, which usually doesn&#039;t synchronize with the official release anyway, so it does not matter which compiler you use.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
The game engine is found inside the /rts/ folder. The AI and Lobby subsystems are located in respective folders. Take a peek and see where everything is.&lt;br /&gt;
You can take a look at http://spring.osocial.se/ for a good (graphical) and dynamic display of how the Spring engine code hangs together.&lt;br /&gt;
&lt;br /&gt;
Compiling the source will make it into a playable executable. The very same IDEs previously mentioned can compile the source, so see the appropriate documentation for the program you are using to compile properly. Make sure that you are in Release mode and not Debug mode when you compile, because the game may be very slow in Debug mode (and the executable may be huge!)&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B Comparison of C++ IDE&#039;s]&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=EngineSource_for_GameDevs&amp;diff=6342</id>
		<title>EngineSource for GameDevs</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=EngineSource_for_GameDevs&amp;diff=6342"/>
		<updated>2012-08-12T23:41:30Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
During creation of a Spring game you will soon notice that not everything is documented.&lt;br /&gt;
Fortunately, the engine is open source and thus some things can be figured out by looking at it. Wait, isn&#039;t that like, super cryptic? Yes, scroll past those parts. A few things are comprehensible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloading source and opening the files==&lt;br /&gt;
Download this https://github.com/spring/spring/zipball/master and unpack the zip file.&lt;br /&gt;
&lt;br /&gt;
==Text==&lt;br /&gt;
For example the code to load UnitDefs can be found here:&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/UnitDef.cpp&lt;br /&gt;
&lt;br /&gt;
Scroll down to about line 270:&amp;lt;br&amp;gt;&lt;br /&gt;
Notice how there are lines like for example this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;metalStorage = udTable.GetFloat(&amp;quot;metalStorage&amp;quot;, 0.0f);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The word in double quotes (&amp;quot;metalStorage&amp;quot;) is the UnitDef tag as it is read from the unit file.&lt;br /&gt;
&lt;br /&gt;
If a tag can not be found in this file in this form, it is very likely that it does nothing and you can remove it from the unit file.&lt;br /&gt;
&lt;br /&gt;
GetFloat means that this tag is a float number.&lt;br /&gt;
The number, in this case 0.0f, is the default value that is used, when the tag can not be found in the unit file.&lt;br /&gt;
&lt;br /&gt;
Since the engine expects a number (eg 100.0) it is understandable that metalStorage = &amp;quot;a lot&amp;quot;, or metalStorage=false will not work.&lt;br /&gt;
&lt;br /&gt;
Beside &#039;&#039;&#039;GetFloat&#039;&#039;&#039; there are:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GetBool&#039;&#039;&#039; - true or false&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GetInt&#039;&#039;&#039; - an integer number&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GetString&#039;&#039;&#039; - a string, that means a word eg a unit name or a file name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GetFloat3&#039;&#039;&#039; - 3 floats, for example coordinates in case of &amp;quot;modelCenterOffset&amp;quot; or a vector in case of &amp;quot;flareDropVector&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Searching text in files==&lt;br /&gt;
It is usefull to have an text editor that can search for text in multiple files at once, for example this one: http://notepad-plus-plus.org/&lt;br /&gt;
&lt;br /&gt;
==Interesting files==&lt;br /&gt;
Most things outside &amp;quot;Sim&amp;quot; folder are uninteresting.&lt;br /&gt;
&lt;br /&gt;
The files where XY&#039;&#039;&#039;defs&#039;&#039;&#039; get loaded:&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/UnitDef.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Weapons/WeaponDefHandler.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Features/FeatureHandler.cpp&lt;br /&gt;
&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/MoveTypes/MoveInfo.cpp&lt;br /&gt;
&lt;br /&gt;
Unit actions (damage, kill, experience,...):&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/spring/spring/blob/develop/rts/Sim/Units/Unit.cpp&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:CSAI&amp;diff=489</id>
		<title>AI:CSAI</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:CSAI&amp;diff=489"/>
		<updated>2011-12-31T06:00:20Z</updated>

		<summary type="html">&lt;p&gt;Abq911: spring.clan-sy =&amp;gt; springrts.com&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CSAI ==&lt;br /&gt;
&lt;br /&gt;
CSAI works ok as ARM on land maps, using the AA2.23 or XTA7 mod.&lt;br /&gt;
&lt;br /&gt;
CSAI is written in C#, by Hugh Perkins&lt;br /&gt;
&lt;br /&gt;
== Supported Mods ==&lt;br /&gt;
&lt;br /&gt;
*AA2.23&lt;br /&gt;
*XTA7&lt;br /&gt;
&lt;br /&gt;
== Supported Platforms ==&lt;br /&gt;
&lt;br /&gt;
*Windows&lt;br /&gt;
&lt;br /&gt;
== Supported Maps ==&lt;br /&gt;
&lt;br /&gt;
CSAI works best with maps with one large contiguous land segment.&lt;br /&gt;
&lt;br /&gt;
The following maps have been tested and work ok:&lt;br /&gt;
*SmallDivide&lt;br /&gt;
*CometCatcher Remake v02&lt;br /&gt;
*SpeedMetal&lt;br /&gt;
*Small Supreme Battlefield&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
CSAI scout sets off, SSB, XTA7:&lt;br /&gt;
&lt;br /&gt;
[[File:csaivsaai_xta7_ssb_4zippysetsoffsmall.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI tanks leave trail of destruction through AAI base, SSB, XTA7:&lt;br /&gt;
&lt;br /&gt;
[[File:csaivsaai_xta7_ssb_23trailofdestructionthroughaaibasesmall.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI tanks kill AAI commander on SSB, XTA7:&lt;br /&gt;
&lt;br /&gt;
[[File:csaivsaai_xta7_ssb_25byebyeaaicommandersmall.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI (in red) approaches TSI base, SpeedMetal, AA2.23.  That plasma beam could cause some pain.&lt;br /&gt;
&lt;br /&gt;
[[File:csaivstsispeedmetal_arriveatbase.JPG]]&lt;br /&gt;
&lt;br /&gt;
Plasma beam down, CSAI overruns TSI base, SpeedMetal, AA2.23.&lt;br /&gt;
&lt;br /&gt;
[[File:csaivstsispeedmetal_2plasmagoneoverrun.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI (in red) attacks AAI, SpeedMetal, AA2.23&lt;br /&gt;
&lt;br /&gt;
[[File:speedmetalzergsmall.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI units approach TSI base, SmallDivide, AA2.23&lt;br /&gt;
&lt;br /&gt;
[[File:vstsismalldivide_1_attackgroupapproachingbase.JPG]]&lt;br /&gt;
&lt;br /&gt;
CSAI units kill TSI commander, SmallDivide, AA2.23&lt;br /&gt;
&lt;br /&gt;
[[File:vstsismalldivide_6tsicommanderdies.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Replays ==&lt;br /&gt;
&lt;br /&gt;
Here are some replays to give you an impression of how CSAI fights.&lt;br /&gt;
&lt;br /&gt;
CSAI vs AAI 0.75, XTA7:&lt;br /&gt;
&lt;br /&gt;
Small Supreme Battlefield&lt;br /&gt;
&lt;br /&gt;
*[http://manageddreams.com/csai/061026-SmallSupremeBattlefield-0.73b1-0-csai-vs-aai-xta7.sdf http://manageddreams.com/csai/061026-SmallSupremeBattlefield-0.73b1-0-csai-vs-aai-xta7.sdf] &lt;br /&gt;
&lt;br /&gt;
CSAI vs AAI 0.75, AA2.23:&lt;br /&gt;
&lt;br /&gt;
*[http://manageddreams.com/csai/061023-SmallDivide-0.73b1-20.sdf http://manageddreams.com/csai/061023-SmallDivide-0.73b1-20.sdf]&lt;br /&gt;
*[http://manageddreams.com/csai/061023-CometCatcherRemake-v02-0.73b1-0.sdf http://manageddreams.com/csai/061023-CometCatcherRemake-v02-0.73b1-0.sdf]&lt;br /&gt;
*[http://manageddreams.com/csai/061025-SpeedMetal-0.73b1-2.sdf http://manageddreams.com/csai/061025-SpeedMetal-0.73b1-2.sdf]&lt;br /&gt;
&lt;br /&gt;
CSAI vs TSI 0.12, AA2.23:&lt;br /&gt;
&lt;br /&gt;
*[http://manageddreams.com/csai/061025-CometCatcherRemake-v02-0.73b1-3.sdf http://manageddreams.com/csai/061025-CometCatcherRemake-v02-0.73b1-3.sdf]&lt;br /&gt;
*[http://manageddreams.com/csai/061025-SpeedMetal-0.73b1-0-csai-vs-tsi-aa223.sdf http://manageddreams.com/csai/061025-SpeedMetal-0.73b1-0-csai-vs-tsi-aa223.sdf]&lt;br /&gt;
*[http://manageddreams.com/csai/061025-SmallDivide-0.73b1-0-csai-vs-tsi-aa223.sdf http://manageddreams.com/csai/061025-SmallDivide-0.73b1-0-csai-vs-tsi-aa223.sdf]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
Latest release:&lt;br /&gt;
*[http://manageddreams.com/csai/CSharpAI-20061028.zip http://manageddreams.com/csai/CSharpAI-20061028.zip]&lt;br /&gt;
&lt;br /&gt;
Previous releases:&lt;br /&gt;
*[http://manageddreams.com/csai/CSharpAI_20061026b.zip http://manageddreams.com/csai/CSharpAI_20061026b.zip]&lt;br /&gt;
*[http://manageddreams.com/csai/CSharpAI_20061026.zip http://manageddreams.com/csai/CSharpAI_20061026.zip]&lt;br /&gt;
*[http://manageddreams.com/csai/CSharpAI_20061025.zip http://manageddreams.com/csai/CSharpAI_20061025.zip]&lt;br /&gt;
*[http://manageddreams.com/csai/CSharpAI_20061024.zip http://manageddreams.com/csai/CSharpAI_20061024.zip]&lt;br /&gt;
&lt;br /&gt;
== To Install ==&lt;br /&gt;
&lt;br /&gt;
*Ensure that you have the Microsoft Framework .Net 1.1 runtime installed.  You can download this from Microsoft, for free.&lt;br /&gt;
*Ensure that you have the latest version of Spring installed, 0.73b.&lt;br /&gt;
*Download the latest CSharpAI zipfile from the Downloads section and unzip it.&lt;br /&gt;
*Run setup.exe&lt;br /&gt;
*Confirm the Spring installation directory&lt;br /&gt;
*The CSAI dlls should be automatically installed into the Spring directory&lt;br /&gt;
&lt;br /&gt;
== To use ==&lt;br /&gt;
&lt;br /&gt;
To run the bot:&lt;br /&gt;
*create a multiplayer game, using Absolute Annihilation 2.23&lt;br /&gt;
*specify start positions as &amp;quot;random&amp;quot; or &amp;quot;fixed&amp;quot;&lt;br /&gt;
*click &amp;quot;add bot&amp;quot;&lt;br /&gt;
*specify the ai as &amp;quot;csailoader.dll&amp;quot;&lt;br /&gt;
*&amp;lt;b&amp;gt;Important: ensure bot plays as ARM&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find a logfile in the Spring/AI/CSAI directory, called csharpai_team0.log  , where 0 is the name of the team&lt;br /&gt;
&lt;br /&gt;
== Commands available ==&lt;br /&gt;
&lt;br /&gt;
You can talk to your AI whilst it plays.&lt;br /&gt;
&lt;br /&gt;
Commands to the ai always start with &amp;quot;.csai &amp;quot;, then the command.&lt;br /&gt;
&lt;br /&gt;
Type &amp;quot;.csai help&amp;quot; for a list of available commands.  Here are some of them:&lt;br /&gt;
&lt;br /&gt;
*.csai commanderbuildpower  Commander builds a solar cell near him&lt;br /&gt;
*.csai commanderbuildextractor Commander builds a metal extractor on nearest available metal spot&lt;br /&gt;
*.csai commandermove 0 1000 1500   Move team 0 commander to position (1000,1500)&lt;br /&gt;
*.csai commandergetpos   Ask for commander&#039;s current position&lt;br /&gt;
*.csai commanderbuild armvp   Ask commander to build a vehicle plant next to him.  Use any valid unit name here (see logfile for list) (must be buildable by arm commander)&lt;br /&gt;
&lt;br /&gt;
*.csai killallfriendly    Kills all units belonging to AI, except for commander  This is sometimes useful during AI testing&lt;br /&gt;
*.csai unitcount (countunits?)   Shows number of units currently&lt;br /&gt;
&lt;br /&gt;
*.csai showmetalspots   Show detected optimal metal extractor positions.  Also shows metalspots that have been marked used&lt;br /&gt;
&lt;br /&gt;
*.csai tankscount   Find out how many tanks are available&lt;br /&gt;
*.csai tanksmoveto 0 500 1000    Move all team 0 tanks to position 500, 1000&lt;br /&gt;
&lt;br /&gt;
*.csai autoshowenemieson  Shows detected mobile enemies (samson icon) and static enemies (antinuke icon)&lt;br /&gt;
&lt;br /&gt;
== How to beat CSAI ==&lt;br /&gt;
&lt;br /&gt;
Here are some strategies that will kill the current release of CSAI.&lt;br /&gt;
&lt;br /&gt;
Massive concentration of defense near AI&#039;s base:&lt;br /&gt;
&lt;br /&gt;
http://manageddreams.com/csai/screenshots/silpkillcsai-3.JPG&lt;br /&gt;
&lt;br /&gt;
Replay:&lt;br /&gt;
[http://manageddreams.com/csai/silp3-061031-Core_Faf-0.73b1-2.sdf http://manageddreams.com/csai/silp3-061031-Core_Faf-0.73b1-2.sdf]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
*All current released versions: on computers where the regional settings specifies the decimal separator as something other than &amp;quot;.&amp;quot;, the metal cache will fail to load correctly.  This means the commander will put extractors along the top of the screen and lose.  This affects computers in France and Germany.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
=== Release 28 October ===&lt;br /&gt;
&lt;br /&gt;
C  /C# Interface&lt;br /&gt;
&lt;br /&gt;
*corrected critical bug in AICallbackProxy::GetMetalMap()&lt;br /&gt;
*augmented number of allowed units to 10000 in AICallbackProxy&lt;br /&gt;
&lt;br /&gt;
CSAI&lt;br /&gt;
&lt;br /&gt;
*(experimental) created setup.exe to facilitate installation&lt;br /&gt;
&lt;br /&gt;
=== Release 26 October 2006 b ===&lt;br /&gt;
&lt;br /&gt;
C  /C# Interface&lt;br /&gt;
*No changes&lt;br /&gt;
&lt;br /&gt;
CSAI&lt;br /&gt;
*created PackCoordinator architecture&lt;br /&gt;
*fixed bug that caused infantry factories to shutdown occasionally when playing XTA&lt;br /&gt;
*spreadsearch initiated more aggressively&lt;br /&gt;
&lt;br /&gt;
=== Release 26 October 2006 ===&lt;br /&gt;
&lt;br /&gt;
C  /C# Interface&lt;br /&gt;
*No changes&lt;br /&gt;
&lt;br /&gt;
CSAI&lt;br /&gt;
*supports XTA 7&lt;br /&gt;
*modified Metal algo to prefer spots which are over actual metal, rather than offset to one side&lt;br /&gt;
*(experimental) clearance around metal extractors reduced to improve location precision.  NOTE: this may increase unit blocking, to be verified&lt;br /&gt;
*you can turn debug on by creating an empty file called &amp;quot;debug.flg&amp;quot; in the ai/csai directory&lt;br /&gt;
*(experimental) added search algo for tanks if they havent seen an enemy for about a minute and there&#039;s at least 100 of them&lt;br /&gt;
*improved radar deployment&lt;br /&gt;
&lt;br /&gt;
=== Release 25 October 2006 ===&lt;br /&gt;
&lt;br /&gt;
C  /C# Interface&lt;br /&gt;
*No changes&lt;br /&gt;
&lt;br /&gt;
CSAI&lt;br /&gt;
*added support for metal maps&lt;br /&gt;
*fixed bug with metalspots being marked used even if not&lt;br /&gt;
*added constructor controller, to ensure always at least one constructor&lt;br /&gt;
*added anti-sticking patch for constructors&lt;br /&gt;
*added memory for buildings to enemycontroller (since buildings cant move)&lt;br /&gt;
*corrected bugs in enemy selection algorithm&lt;br /&gt;
*trimmed cpu resource drain for stuck constructors&lt;br /&gt;
*removed default drawing of detected enemies; you can say &amp;quot;.csai autoshowenemieson&amp;quot; to reactivate this&lt;br /&gt;
*removed default drawing of planned construction site; you can say &amp;quot;.csai constructorshownextbuildsiteon&amp;quot; to reactivate this&lt;br /&gt;
*experimenting with kbot factory&lt;br /&gt;
*experimenting with replacing samsons by jethros&lt;br /&gt;
*factories no longer announce their creation&lt;br /&gt;
*added AttackPackCoordinator to improve pack grouping&lt;br /&gt;
&lt;br /&gt;
=== Release 24 October 2006 ===&lt;br /&gt;
&lt;br /&gt;
C  /C# Interface&lt;br /&gt;
*CSAI.dll moved to AI/CSAI (only CSAIInterfaces.dll remains in Spring root)&lt;br /&gt;
*&amp;lt;csailoaderfilename&amp;gt;.xml config file added, to configure which C# AI dll to load&lt;br /&gt;
*batchfile building no longer supported (please use nant)&lt;br /&gt;
*added IMoveData&lt;br /&gt;
*added IUnitDef.movedata&lt;br /&gt;
*added all command constants, eg MOVE, SELFD, to Command.cs&lt;br /&gt;
*added operators to Float3&lt;br /&gt;
*added UnitIsBusy to AICallback (checks GetCurrentUnitCommands returns empty deque)&lt;br /&gt;
*documentation moved to wiki at http://springrts.com/wiki/AI:CSAIInterface&lt;br /&gt;
&lt;br /&gt;
CSAI&lt;br /&gt;
*added commands to move commander, and get commander to build things&lt;br /&gt;
*logfiles moved to AI/CSAI , in line with AI standards&lt;br /&gt;
*batchfile building no longer supported (please use nant)&lt;br /&gt;
*UnitController added, to register player-owned units&lt;br /&gt;
*FactoryController added, to register player-owned factories&lt;br /&gt;
*added port of AF&#039;s UnitDefHelp&lt;br /&gt;
*added architecture for strategies&lt;br /&gt;
*event architecture added to CSAI for unitcreated, unitfinished, unitdamaged, etc&lt;br /&gt;
*added PowerController to control energy&lt;br /&gt;
*added MetalController to control metal&lt;br /&gt;
*added TankController to manage tanks (bootstrapping class only)&lt;br /&gt;
*added EnemyController to monitor enemies&lt;br /&gt;
*added RadarController to manage radars&lt;br /&gt;
*added simple heuristic to prevent commander blocking himself in or factories&lt;br /&gt;
*added ScoutController&lt;br /&gt;
*added Request system to factories, to decide what to build&lt;br /&gt;
*documentation moved to wiki at http://springrts.com/wiki/AI:CSAI&lt;br /&gt;
&lt;br /&gt;
== Developer resources ==&lt;br /&gt;
&lt;br /&gt;
You may wish to extend or modify CSAI.  If so, the following pages may be useful:&lt;br /&gt;
&lt;br /&gt;
*[[CSAI Build Instructions]]  How to build CSAI&lt;br /&gt;
*[[AI:CSAIInterface]]   Information on the C  /C# interface&lt;br /&gt;
[[Category:AI]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Contributing_media&amp;diff=5160</id>
		<title>Contributing media</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Contributing_media&amp;diff=5160"/>
		<updated>2011-12-31T05:35:00Z</updated>

		<summary type="html">&lt;p&gt;Abq911: /* Uploading images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing media==&lt;br /&gt;
It is possible for users to contribute screenshots and videos that will be shown on the media page and in the frontpage rotation. It is done by posting in the correct forum, and attaching your content to the post. After your post has been reviewed by a forum moderator it will be moved to a different forum and start to appear live on the site.&lt;br /&gt;
==Uploading images==&lt;br /&gt;
Post images in [http://springrts.com/phpbb/viewforum.php?f=36 this forum]. You may attach multiple images to a post. These are the guidelines for acceptable content: &amp;lt;to be written&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Uploading videos==&lt;br /&gt;
Post video clips in [http://springrts.com/phpbb/viewforum.php?f=37 this forum]. The maximum size for a clip is currently 10 megabyte. The video player is sized to display videos in 16:9 format, so this is the preferred aspect ratio. &amp;lt;more guidelines&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tagging==&lt;br /&gt;
When you upload an image or a video, you should also tag it appropriately so that users can filter out interesting content. Suitable tags include the name of the game/mod and map featured. It is also useful to include those of these standard tags that apply. For examples, look at the existing posts in the content forum.&lt;br /&gt;
===Commonly used tags===&lt;br /&gt;
* GUI&lt;br /&gt;
* No GUI&lt;br /&gt;
==Video preview image==&lt;br /&gt;
When uploading a video clip, you must also include an image in the post. This image is displayed in the video player before the users clicks on &#039;play&#039;. It should display some representative part of the video, and include a picture of a play button in the middle to indicate that the video can be started by clicking on it.&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Contributing_media&amp;diff=5159</id>
		<title>Contributing media</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Contributing_media&amp;diff=5159"/>
		<updated>2011-12-31T05:33:54Z</updated>

		<summary type="html">&lt;p&gt;Abq911: /* Uploading videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing media==&lt;br /&gt;
It is possible for users to contribute screenshots and videos that will be shown on the media page and in the frontpage rotation. It is done by posting in the correct forum, and attaching your content to the post. After your post has been reviewed by a forum moderator it will be moved to a different forum and start to appear live on the site.&lt;br /&gt;
==Uploading images==&lt;br /&gt;
Post images in [http://spring.clan-sy.com/phpbb/viewforum.php?f=36 this forum]. You may attach multiple images to a post. These are the guidelines for acceptable content: &amp;lt;to be written&amp;gt;.&lt;br /&gt;
==Uploading videos==&lt;br /&gt;
Post video clips in [http://springrts.com/phpbb/viewforum.php?f=37 this forum]. The maximum size for a clip is currently 10 megabyte. The video player is sized to display videos in 16:9 format, so this is the preferred aspect ratio. &amp;lt;more guidelines&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tagging==&lt;br /&gt;
When you upload an image or a video, you should also tag it appropriately so that users can filter out interesting content. Suitable tags include the name of the game/mod and map featured. It is also useful to include those of these standard tags that apply. For examples, look at the existing posts in the content forum.&lt;br /&gt;
===Commonly used tags===&lt;br /&gt;
* GUI&lt;br /&gt;
* No GUI&lt;br /&gt;
==Video preview image==&lt;br /&gt;
When uploading a video clip, you must also include an image in the post. This image is displayed in the video player before the users clicks on &#039;play&#039;. It should display some representative part of the video, and include a picture of a play button in the middle to indicate that the video can be started by clicking on it.&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Balanced_Annihilation&amp;diff=2444</id>
		<title>Balanced Annihilation</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Balanced_Annihilation&amp;diff=2444"/>
		<updated>2011-12-29T22:29:04Z</updated>

		<summary type="html">&lt;p&gt;Abq911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Games]][[category:Balanced Annihilation]]&lt;br /&gt;
&#039;&#039;&#039;[[Games|&amp;lt;--Back to Games]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: this wiki page and img sucks. Please help update it if you know what you&#039;re talking about.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the meantime please check the [http://springrts.com/phpbb/viewforum.php?f=44 forums]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:BA.gif|very epic tmp img of BA]]&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Balanced Annihilation is the long-term most popular game based at the Spring engine.&lt;br /&gt;
It&#039;s based at three basic principles:&lt;br /&gt;
* &#039;&#039;&#039;Refined [[OTA | Original Total Annihilation]]:&#039;&#039;&#039; BA&#039;s lineage traces back to fan mods of the original Total Annihilation. It feels similar, and play is &#039;&#039;more balanced&#039;&#039; for diverse multiplayer strategies.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Stable gameplay:&#039;&#039;&#039; Balanced Annihilation has &amp;lt;i&amp;gt;matured&amp;lt;/i&amp;gt; through several years of playtesting.  New versions don&#039;t drastically alter the gameplay. The current BA has an unstable testing fork called: [http://springrts.com/phpbb/viewtopic.php?f=44&amp;amp;t=24016&amp;amp;start=0 Eternal Annihilation].&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Balance:&#039;&#039;&#039; Every unit has a role, and no unit has every role.  Very few units get truly obsolete as a game progresses. The ideal state is to have no obsolete units at all.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
Balanced Annihilation mod started as a fork of [[Absolute Annihilation]] 2.23 in the end of 2006. Duo [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=5958 Beherith] &amp;amp; [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=7403 Niobium] have recently (April 2011) became the main BA&#039;s maintainers. The previous maintainers, who shouldn&#039;t be forgotten, were [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=4460 TheFatController] and [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=326 NOiZE].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Gameplay Guides===&lt;br /&gt;
Choose which one suits your gaming experience:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Balanced_Annihilation:Starting_With_TA | New in the TA universe]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Balanced_Annihilation:From_OTA_To_TA | With some OTA experience]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Legal===&lt;br /&gt;
Parts of this mod originate from non-free sources. However, there is an ongoing attempt to find and replace units&#039; models with free ones. &lt;br /&gt;
&lt;br /&gt;
See the forum discussion as: [http://springrts.com/phpbb/viewtopic.php?f=44&amp;amp;t=22234 BA Reloaded]&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
Important set of links:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[http://springfiles.com/spring/games/balanced-annihilation-27 Latest BA download]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[http://springrts.com/phpbb/viewforum.php?f=44 Balanced Annihilation Forum]&lt;br /&gt;
* &#039;&#039;&#039;#ba&#039;&#039;&#039; channel at the IRC&lt;br /&gt;
*&#039;&#039;&#039;[http://springfiles.com/spring/games/ba-chicken-defense-4 Latest Chicken BA download]&#039;&#039;&#039;&lt;br /&gt;
*(todo): latest experimental download&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Games|&amp;lt;--Back to Games]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Strategy_and_Tactics&amp;diff=18036</id>
		<title>Strategy and Tactics</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Strategy_and_Tactics&amp;diff=18036"/>
		<updated>2011-12-29T22:01:00Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Clarify that some strategies are specific to TA-based mods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;10&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
Strategy and Tactics are best described as &amp;quot;Concepts on how to achieve victory&amp;quot;. Strategy is a chosen global method of action, while tactics are short-term actions to attain specific goals. Please keep in mind that these are general real-time strategy game strategies and tactics, but some are specific to TA-based mods. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;10&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===Common Strategies===&lt;br /&gt;
&#039;&#039;&#039;[[Rushing]]&#039;&#039;&#039; - Speed Slaughter&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Porcing]]&#039;&#039;&#039; - If I Hold Out Long Enough, I&#039;ll Be The Last Man Standing&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Map Control]]&#039;&#039;&#039; - Everywhere At Once&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Uberweapon]]&#039;&#039;&#039; - Nukes, LRPCS &amp;amp; Superunits&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Expansion]]&#039;&#039;&#039; - The Eradication Of Base Mentality&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Planned Delaying]]&#039;&#039;&#039; - Just Need To Slow Them Down...&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[The Secret Front]]&#039;&#039;&#039; - Victory Through Misinformation&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[A Good Offense is the Best Defense]]&#039;&#039;&#039; - Speed, No Defense&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note On Strategies&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Many of the strategies listed here are not viable in all the games which run on the Spring engine. Some have more application than others, and many may seem less than relevant to many players.&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===Common Tactics===&lt;br /&gt;
&#039;&#039;&#039;[[Commander bombing|Commander Bombing]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Commander kidnapping|Commander Kidnapping]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Raiding]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Swarming]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Nuke strike|Nuclear Strike]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Chokepoint]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Teching]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Defensive Lines]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Transports and setting up supply Lines|Transports &amp;amp; Supply Lines]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Dedicated Spamming]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Classic Pincer]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Air Domination]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Squad Tactics]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Artillery Creep]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Ace In The Hole]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===Specific Supplements===&lt;br /&gt;
&#039;&#039;&#039;[[NOTA_players_guide| NOTA Player&#039;s Guide]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://spring.clan-sy.com/wiki/New_to_xta The basics of XTA]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[NOTA_OTA_differences_guide| NOTA vs OTA Guide]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://spring.clan-sy.com/wiki/Xta_commander Commander Tactics]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Base building tips|Base Construction]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Spring for RTS Players]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Spring Replays]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Mods, and their strategies/tactics|Tactics For Individual Mods]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Resources]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Theory On Strategy]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Aggressive Vs. Passive Strategy]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[How to be good at 1v1|One Vs. One Tactics &amp;amp; Strategy]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Delaying Inevitable Defeat: Development Time]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Multiplayer Strategy]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[SOP|Strategic, Operational &amp;amp; Tactical Warfare]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Manored&#039;s Guide about BA units]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;10&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===Discussions On Strategy===&lt;br /&gt;
&#039;&#039;&#039;[[Advanced Strategy Discussion|Lobby Client Discussion December 2005]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=7772 Tactics And Hills]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=5824 Airdrop Efficency]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3642 Forum Discussion January 06]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6167 Forum Discussion July 06]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://forums.somethingawful.com/showthread.php?s=&amp;amp;threadid=2230557 SomethingAwful: Spring Strategies &amp;amp; Tricks]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&#039;&#039;&#039;[[Spring guide!|Spring Guide!]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=7596 Individual Playing Styles]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://www.gigasize.com/get.php/65417/spring002_little_tricky_tricks.wmv Little Tricky Tricks Video]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Subjects Of Study In Relation To Strategy]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Comparison Of Tactics In Different Mods]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gameplay Strategy For The Mod Developer]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gameplay Strategy For The AI Developer]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gameplay Strategy For The Map Developer]]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;33%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
===External Resources===&lt;br /&gt;
&#039;&#039;&#039;[http://uk.pc.ign.com/articles/700/700747p1.html IGN: The State of the RTS]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://www.kimsoft.com/polwar.htm Sun Tzu&#039;s The Art Of War]&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;10&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;100%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #38474E; border: 1px #aaa solid;&amp;quot;|&lt;br /&gt;
Feel free to contribute as you see fit to the Strategy and Tactics section of the Wiki as you would elsewhere, but remember to respect the work of other contributors and consult them if you seek to overhaul their contributions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Playing]]&lt;br /&gt;
[[category:Strategy]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Requirements&amp;diff=15956</id>
		<title>Requirements</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Requirements&amp;diff=15956"/>
		<updated>2011-07-30T07:49:36Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Added another personal entry about a Pentium M 1.73GHz, 915GM integrated graphics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;System Requirements&#039;&#039;&#039;, or: &amp;quot;What sort of a system do I need to run Spring?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
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 memory needed will also vary with unit count and map size, but 512 MB is enough to play medium sized games.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!CPU&lt;br /&gt;
!RAM&lt;br /&gt;
!GPU, Video Ram&lt;br /&gt;
!Resolution; Settings&lt;br /&gt;
!Result&lt;br /&gt;
|-&lt;br /&gt;
|Intel Core 2 Duo 4300 (1.8 GHz, 64bit)&lt;br /&gt;
|3072 MB&lt;br /&gt;
|GeForce 8500 GT 512 MB&lt;br /&gt;
|1600 x 1200; medium settings&lt;br /&gt;
|Very playable. Starts to lag if you blow up 50 commanders with 100 nukes&lt;br /&gt;
|-&lt;br /&gt;
|Intel Core 2 Extreme X6800&lt;br /&gt;
|512 MB&lt;br /&gt;
|GeForce 6200 256 MB w/Turbocache&lt;br /&gt;
|1024 x 768; minimum settings&lt;br /&gt;
|Starts to lag after 1200  units&lt;br /&gt;
|-&lt;br /&gt;
|Intel Pentium 4 2600 MHz (HT)&lt;br /&gt;
|1024 MB &lt;br /&gt;
|Intel 82865G (built-in)&lt;br /&gt;
|&lt;br /&gt;
|Works ok, laggy on high (visible) unit count or on big maps when most of the terrain is visible.&lt;br /&gt;
|-&lt;br /&gt;
|AMD Turion MT-32 1.8 GHz&lt;br /&gt;
|448 MB&lt;br /&gt;
|ATi Radeon Express 200M, 64 MB&lt;br /&gt;
|1280 x 800; minimum settings&lt;br /&gt;
|Works fine, but a bit laggy on higher unit counts (750 ). Lags bad after detonation of nukes or commanders (video chip sucks in rendering clouds).&lt;br /&gt;
|-&lt;br /&gt;
|Intel Pentium 4 1.7 GHz&lt;br /&gt;
|256 MB&lt;br /&gt;
|GeForce FX 5200, 128 MB&lt;br /&gt;
|1280x1024; minimum settings&lt;br /&gt;
|Slow on water maps with the nice-shining-animated-water (works very well with the standard one). Slow when some smoke is shown too. Disregard that, no display matter. 16x16 maps work fine if &amp;lt;100~ units, otherwise very slow. 8x8 maps like SmallDivide work well. Running linux.&lt;br /&gt;
|-&lt;br /&gt;
|Intel Celeron 1.2 GHz&lt;br /&gt;
|512 MB&lt;br /&gt;
|Intel 915GM (laptop/integrated)&lt;br /&gt;
|1024x768; near minimum settings&lt;br /&gt;
|Works fine on maps 16x16 and smaller.  6 players is about the most it can handle, maybe only 4 on large maps with lots of units.&lt;br /&gt;
|-&lt;br /&gt;
|Intel Pentium M 1.73 GHz 740&lt;br /&gt;
|2048 MB&lt;br /&gt;
|Intel 915GM Express (laptop/integrated)&lt;br /&gt;
|1024x768; near minimum settings, no shadows, basic water, no anti aliasing&lt;br /&gt;
|Works fine on small maps, in the beginning starts out at 15 frames per second, then once there are around 500 units it starts lagging excessively at 1 or 2 frames per second, and becomes unplayable. Running ubuntu 9.04-11.04.&lt;br /&gt;
|-&lt;br /&gt;
|Intel Core Duo 1.83 GHz&lt;br /&gt;
|1204 MB&lt;br /&gt;
|GeForce 7600 Go (Laptop) 512 MB&lt;br /&gt;
|1280x768; near maximum settings&lt;br /&gt;
|Works fine on all maps, including those over 32x32. Running Windows XP.&lt;br /&gt;
|-&lt;br /&gt;
|AMD 1ghz to 1,3ghz&lt;br /&gt;
|512MB or less&lt;br /&gt;
|GeForce 4 128MB&lt;br /&gt;
|640 x 480; no sound, no reflections, everything that can disabled or lowered&lt;br /&gt;
|Over 100fps at the very beginning, goes down to 0.01fps as time goes and players expand more and more. Either overclock to 5ghz or upgrade to any dual core like AMD or Intel 5000+. &lt;br /&gt;
|-&lt;br /&gt;
|Any under 1ghz&lt;br /&gt;
|???MB&lt;br /&gt;
|???&lt;br /&gt;
|???&lt;br /&gt;
|Don&#039;t expect spring to run in a playable manner.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: Playing]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Spring_on_a_LAN&amp;diff=17697</id>
		<title>Spring on a LAN</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Spring_on_a_LAN&amp;diff=17697"/>
		<updated>2011-07-27T06:03:01Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Simple Spelling errors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Playing on a LAN=&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Hosting a LAN game of Spring is very simple.&lt;br /&gt;
&lt;br /&gt;
First, you must have a working LAN. Obviously this is not within the scope of this article, so you are on your own there.&lt;br /&gt;
&lt;br /&gt;
Once you have your network working, you can proceed. You must first install the [http://springrts.com/download.php Latest version of Spring].&lt;br /&gt;
&lt;br /&gt;
We will now discuss startup and configuration.&lt;br /&gt;
&lt;br /&gt;
=Running the Server=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hosting the lobby server is actually very easy. First, the host computer must install the [http://www.java.com/en/download/manual.jsp Java Runtime Environment].&lt;br /&gt;
&lt;br /&gt;
Once that is installed, you need to setup the lobby server.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
Download [http://springrts.com/dl/TASServer.jar TASServer.jar] and run it with &amp;quot;java -jar TASServer.jar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
Download the [http://springrts.com/dl/TASServer_035.exe lobby server] and run it.&lt;br /&gt;
&lt;br /&gt;
=Joining the local lobby server=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the server has successfully been started, the players have to log in the local lobby server by entering its IP in the server field of their lobby clients (SpringLobby by default). The player hosting the lobby server can use &amp;quot;localhost&amp;quot; or &amp;quot;127.0.0.1&amp;quot; instead of his own IP. You can&#039;t register on a local lobby server, so you don&#039;t need to enter a password. The login must not contain space nor special characters.&lt;br /&gt;
&lt;br /&gt;
[[Image:Springlobby_login_lan.png]]&lt;br /&gt;
&lt;br /&gt;
Once every one is logged into the local lobby server you can host battle in the usual way and play spring in your LAN.&lt;br /&gt;
&lt;br /&gt;
=How to get the lobby server IP=&lt;br /&gt;
&lt;br /&gt;
The player hosting the lobby server has to give his IP to all the players in the LAN. He can retrieve his IP by doing this:&lt;br /&gt;
==Windows==&lt;br /&gt;
* Press &#039;&#039;Windows Key + R&#039;&#039;&lt;br /&gt;
[[Image:Windows-run-start-menu.gif]]&lt;br /&gt;
* Type &amp;quot;cmd&amp;quot;&lt;br /&gt;
* Click &amp;quot;run&amp;quot;&lt;br /&gt;
* In the terminal window, type &amp;quot;ipconfig&amp;quot;&lt;br /&gt;
[[Image:lan_hostip.gif]]&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
* Open a terminal and type: ifconfig&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Read_Me_First&amp;diff=15826</id>
		<title>Read Me First</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Read_Me_First&amp;diff=15826"/>
		<updated>2011-07-27T06:02:06Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Simple spelling errors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__= Playing =&lt;br /&gt;
&#039;&#039;&#039;Spring is an engine!&#039;&#039;&#039; To play, you need at least one [[Games|Game]] and a [[Maps|Map]] installed!&lt;br /&gt;
&lt;br /&gt;
==Single-Player==&lt;br /&gt;
(after installing a game and map)&lt;br /&gt;
To start a single-player game use one of the [[GamesDownloads#Universal_Downloaders|Lobbies]] for that. A lobby also allows to set more options and can download games and maps, too.&lt;br /&gt;
&lt;br /&gt;
You can also start a game by starting the Spring engine (&amp;quot;Test Spring&amp;quot; in start menu or &amp;quot;spring&amp;quot; in command line):&lt;br /&gt;
&lt;br /&gt;
Then select a game, map and [[AIs|AI]] and click &amp;quot;Test the Game&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not all AIs will operate with every game!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Playing Online==&lt;br /&gt;
To play online, you need the latest version of the Spring Engine. To join matches run one of the [[Lobby_Development|Lobbies]]&lt;br /&gt;
&amp;lt;!-- imo lobbies need a extra page? or a page that lists lobbies + download links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lan Party==&lt;br /&gt;
See the dedicated page [[Spring_on_a_LAN|Playing on a lan]].&lt;br /&gt;
&lt;br /&gt;
=Useful Hotkeys, Etc.=&lt;br /&gt;
&lt;br /&gt;
For the default keyboard layout please look at the [[Keyboard]] page.&lt;br /&gt;
&lt;br /&gt;
=The Spring Forum=&lt;br /&gt;
[[Forum_Etiquette|Guidelines For Forum Etiquette]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Your question not answered here? Got problems?=&lt;br /&gt;
Read the [[FAQ|Frequently Asked Questions]] or ask in the [http://springrts.com/phpbb/viewforum.php?f=11 Forum].&lt;br /&gt;
You can also report [[Bugs]] to the developers so they can be fixed.&lt;br /&gt;
&lt;br /&gt;
==Game Specific Questions==&lt;br /&gt;
If you have a question or problem with a certain gameplay mechanic in a game, you can talk about it at the [http://springrts.com/phpbb/viewforum.php?f=47 game&#039;s subforum]&lt;br /&gt;
&lt;br /&gt;
If Spring crashes/hangs, please look at the [[FAQ:trouble|FAQ]]. &lt;br /&gt;
&lt;br /&gt;
[[Category:Playing]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
This page opens, when the installer finished installing, keep that in mind when changing stuff here. This Page is also linked directly from the start-page.&lt;br /&gt;
&lt;br /&gt;
This page should explain how to get an running game after installing the engine.&lt;br /&gt;
(Install Mod + Map)&lt;br /&gt;
 --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Maps&amp;diff=14137</id>
		<title>Maps</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Maps&amp;diff=14137"/>
		<updated>2011-07-27T05:59:21Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Download maps ===&lt;br /&gt;
This site has a list of mirrors where you can download maps:&#039;&#039;&#039; [[Getting_Spring_Content_and_Links|click here]]&lt;br /&gt;
&lt;br /&gt;
===Install maps===&lt;br /&gt;
Maps are &amp;quot;.sd7&amp;quot; or &amp;quot;.sdz&amp;quot; files. To install this files move them into (Unix) ~/.spring/maps or (Windows) &amp;quot;My Documents\My Games\Spring\Maps&amp;quot;.&lt;br /&gt;
As is the case with games, use the &amp;quot;Reload maps/games&amp;quot; option from the &amp;quot;Tools&amp;quot; menu in SpringLobby.&lt;br /&gt;
&lt;br /&gt;
===Choosing a Map===&lt;br /&gt;
Technically, all Spring games &#039;&#039;work&#039;&#039; with any Spring map. In practice, &#039;&#039;&#039;some maps are unplayable with certain games.&#039;&#039;&#039; For example a game where you mine resources from the ground will only work on maps where these resources are present. A game based around land combat will not be very fun on a water map.&amp;lt;br&amp;gt;&lt;br /&gt;
This is why some map makers started adding prefixes to the map names, to signal what games work well with their map.&amp;lt;br&amp;gt;&lt;br /&gt;
This is no official list, only a recommendation what to look out for. &#039;&#039;&#039;Generally it is best to have a look at the games webpage if a map pack is offered or even already included in the download.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Conflict Terra====&lt;br /&gt;
map names prefixed with &#039;&#039;&#039;CT&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
more info and map list on website: http://code.google.com/p/conflictterra/wiki/MapInfo&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Evolution RTS====&lt;br /&gt;
map names prefixed with &#039;&#039;&#039;EvoRTS&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
map list on website: http://www.evolutionrts.info/download/ -&amp;gt; maps&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Gundam RTS====&lt;br /&gt;
map names prefixed with &#039;&#039;&#039;Grts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Spring 1944====&lt;br /&gt;
map names prefixed with &#039;&#039;&#039;1944&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
maplist on website: http://spring1944.net/wiki/doku.php?id=guide:gameplay:recommended%20maps&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Kernel Panic====&lt;br /&gt;
most maps have &amp;quot;kernel panic&amp;quot; mentioned in their description (searchable by lobbies)&amp;lt;br&amp;gt;&lt;br /&gt;
has a map pack: http://springrts.com/wiki/Kernel_Panic#Download_links&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Zero-K====&lt;br /&gt;
http://zero-k.info/Maps.mvc rating system&amp;lt;br&amp;gt;&lt;br /&gt;
start box coordinates for some maps: http://code.google.com/p/zero-k/wiki/MapBoxes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Popular maps===&lt;br /&gt;
*[http://springfiles.com/spring/spring-maps?order=count&amp;amp;sort=desc Popular maps on SpringFiles.com]&lt;br /&gt;
&lt;br /&gt;
===Map recommendations for games with TA based economy (ie BA, XTA, NOTA)===&lt;br /&gt;
*[[Map reviews]]: Map reviews galore&lt;br /&gt;
*[[Suggested maps for 1v1]]&lt;br /&gt;
*[[Suggested maps for 3ffa]]&lt;br /&gt;
*[http://springrts.com/wiki/4v4BA List of maps for 4v4 in BA]&lt;br /&gt;
&lt;br /&gt;
===Start Boxes via lobby chat===&lt;br /&gt;
commands for autohosts:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;!split v 20&#039;&#039;&#039;  create 2 boxes, at left and right end of map. &amp;quot;20&amp;quot; defines the size.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;!split h 20&#039;&#039;&#039;  create 2 boxes, at bottom and top end of map. &amp;quot;20&amp;quot; defines the size.&amp;lt;br&amp;gt;&lt;br /&gt;
start box coordinates for some maps: http://code.google.com/p/zero-k/wiki/MapBoxes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Making Maps ===&lt;br /&gt;
*[[Map development]]&lt;br /&gt;
 [[Category:Map making]]&lt;br /&gt;
[[Category:Content]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Maps]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Compare:Spring_1944&amp;diff=523</id>
		<title>AI:Compare:Spring 1944</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Compare:Spring_1944&amp;diff=523"/>
		<updated>2011-07-27T05:48:55Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Created page with &amp;quot;Spring:1944 uses the AI C.R.A.I.G., which stands for Configurable Reusable Artificial Intelligence Gadget. It is a skirmish AI written in Lua, and works in Spring:1944 and Star W...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spring:1944 uses the AI C.R.A.I.G., which stands for Configurable Reusable Artificial Intelligence Gadget.&lt;br /&gt;
It is a skirmish AI written in Lua, and works in Spring:1944 and Star Wars: Imperial Winter.&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16877</id>
		<title>Simple Game Tutorial</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Simple_Game_Tutorial&amp;diff=16877"/>
		<updated>2011-07-27T05:24:41Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Fixed broken links and bad spelling, still needs some links to be fixed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until I Finish [[Mod Development]] is the place to go.&lt;br /&gt;
&lt;br /&gt;
This Tutorial Aims to get a person from knowing nothing about Spring to the point where they can create and edit mods.&lt;br /&gt;
&lt;br /&gt;
Right now I am working from memory so you may want to correct me when I&#039;m wrong, I will try to cross link from my summaries to the appropriate articles available in other places.&lt;br /&gt;
&lt;br /&gt;
I will not go too deep into making 3do&#039;s because they are old and dumb... but I&#039;ll try to make note of the differences here.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know anything about scripting right now, so that section is likely to be sparse when I write it, I hope that someone will expand on it.&lt;br /&gt;
&lt;br /&gt;
=Book 1: The First Unit=&lt;br /&gt;
&lt;br /&gt;
==Step 1:Planning==&lt;br /&gt;
Who cares about planning, you know what you&#039;re doing... just come up with an idea for a mod... I made a chess set... if you don&#039;t have a real idea and just want to make a model show up in the game... then yeah... this is the place to start... I&#039;d do that if I were you.&lt;br /&gt;
&lt;br /&gt;
Another good thing to do at this point is to creat a &amp;quot;working directory&amp;quot;, and inside it create a directory with the name that your mod will have... after many headaches I decided it&#039;s best to put this in the root directory of your system so it&#039;s really easy to find when you are switching around back and forth between folders and keep having to find your files over and over again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 2:Getting The Tools==&lt;br /&gt;
You will need a bunch of stuff... here&#039;s the list (I assume you are using windows)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Want:&#039;&#039;&lt;br /&gt;
*[http://springrts.com/wiki/Download Spring] - The main program, you will likely need this to test if you&#039;ve screwed up&lt;br /&gt;
*A Tiny Map (2x2) - to test your mod fast &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need:&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program listings can be found here:&#039;&#039;&#039; &#039;&#039;&#039;[http://springrts.com/wiki/Map,_Mod,_And_Unit_Development_Programs Map, Mod, And Unit Development Programs]&#039;&#039;&#039;&lt;br /&gt;
*3D Modeling Program - &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Notepad - to edit all the myriad of text files&lt;br /&gt;
*A Graphical Editing Program - needs to handle RGBA TGAs (aka TGA&#039;s with alpha channels), I suggest Photoshop if you have it, or The GIMP... needed for all of the texture making for UVmapping stuff... &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Upspring 1.3 - To convert your models to the appropriate s3o format (if you want to fight with 3do builder, then go ahead... a good trick is to get your model into Upspring first and adjust all the hierarchy, then save it as an 3do... but why bother?). &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Scriptor - to make and compile your units &amp;quot;animation script&amp;quot;... or steal someone else&#039;s and make it work for your unit. &#039;&#039;&#039;See above link&#039;&#039;&#039;&lt;br /&gt;
*Compression Utility - (I suggest [http://www.7-zip.org/ 7zip] - even if you are using zip compression and not 7zip, it&#039;s still good to have)&lt;br /&gt;
&lt;br /&gt;
==Step 3:Making a 3D Model==&lt;br /&gt;
&lt;br /&gt;
Go into your 3D modeling program and make a 3D model, [http://taspring.clan-sy.com/w/images/b/b4/WingsCombine.PNG combine] all the objects and UV map the model, then separate it out into any parts that need to move independently of each other.  Then Export the UV map as an Image File and Export the whole thing as a 3ds file.  Put the original wings file, the UVMap image and the 3ds file into your working directory so you can find them later.&lt;br /&gt;
&lt;br /&gt;
Wings 3D UV Mapping tutorial has been started here - [[Units:CreateModel]]&lt;br /&gt;
&lt;br /&gt;
==Step 4:Fixing Your Images==&lt;br /&gt;
&lt;br /&gt;
[[Basic s3o unit making guide|This Article includes a UVMapping Guide]]&lt;br /&gt;
&lt;br /&gt;
Open up your UVMap in Photoshop (or whatever) go to the layer/chooser dialog box and go to the Channels Tab, add a new layer (it should default to alpha) and fill it with 99% black so you can see your texture in upspring.  If you want to can paint the UVmap and put white (1% black) on the alpha channel where you want your team colors to show up (you can use something between 1% and 99% to get a blend of your team color along with the texture... for example 50% will give you your texture with 50% of the team color mixed in...)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know how to do glow maps... XXreminder for someone to create a Glowmapping tutorial... you don&#039;t actually need one for the model to show up.&lt;br /&gt;
&lt;br /&gt;
Save these images both in the working directory.&lt;br /&gt;
&lt;br /&gt;
Save a copy of these images in tga format into &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unittextures&lt;br /&gt;
&lt;br /&gt;
==Step 5:Upspring==&lt;br /&gt;
&lt;br /&gt;
===Importing Your 3ds===&lt;br /&gt;
Open [[upspring]], go to file&amp;gt;load model and navigate to and open your 3DS model you exported, you should see the model in upspring as a 3d mesh.  Go to the model tab and set the radius and height values to something other then zero... this defines where the health bar will show up, and more importantly, how big the collision sphere will be.&lt;br /&gt;
&lt;br /&gt;
You will also need to use all of the other tools on those tabs to resize and rotate and move your model to the right place... wings makes models that are 90 degrees off and about 30 times smaller than most spring models... make sure you click the &amp;quot;apply transform&amp;quot; button after any changes that you actually want to show up in the game.&lt;br /&gt;
&lt;br /&gt;
Also, you will want to make the hierarchy work using the cut, paste, and add empty buttons.  You will need an object called &amp;quot;base&amp;quot; that all the other objects are connected to... the &amp;quot;origin object&amp;quot;... sometimes you get lucky and wings exports it properly... usually not.&lt;br /&gt;
&lt;br /&gt;
===Importing Your UV and Glowmaps===&lt;br /&gt;
&lt;br /&gt;
Go to the textures tab and make your UV/texture/team-color map as &amp;quot;texture1&amp;quot; and your UV/glow/reflectivity map as &amp;quot;texture2&amp;quot;... it should show up correctly in the preview pane.&lt;br /&gt;
&lt;br /&gt;
===Exporting Your s3o===&lt;br /&gt;
Choose File&amp;gt;Save Model As then in the drop down select &amp;quot;s3o&amp;quot; and type an appropriate name. This model should be saved to your working directory, and a copy of it made to &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/objects3d/&lt;br /&gt;
&lt;br /&gt;
==Step 6: Lua files==&lt;br /&gt;
&lt;br /&gt;
===UnitName.lua===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For Reference visit [[Units:FBI]], but again, the easiest way to do this is to extract an existing mod and find the fbi for a unit that behaves similarly to the one you are trying to make and rename and modify it.&lt;br /&gt;
&lt;br /&gt;
Some More Specific Information Not Clear in the &amp;quot;Units:FBI&amp;quot; article:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name+&amp;quot; &amp;quot;+Description=Spring Display Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you have the following settings:&lt;br /&gt;
&lt;br /&gt;
 Name=Tiger;&lt;br /&gt;
 Description=Fast Attack C.A.T.;&lt;br /&gt;
&lt;br /&gt;
The Tooltip will show &amp;quot;Tiger Fast Attack C.A.T.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BuildPic Defaults to UnitName.bmp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So if you leave out &amp;quot;BuildPic=filename.bmp;&amp;quot; Spring will look in /unitpics/ for a file called &amp;quot;UnitName.bmp&amp;quot; to use as your buildpic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ObjectName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you want to use an s3o object, you will need to specify with &amp;quot;ObjectName=UnitName&#039;&#039;&#039;.S3O;&#039;&#039;&#039;&amp;quot; otherwise it will look for &amp;quot;UnitName.3do&amp;quot;.  Also, you don&#039;t have to use &amp;quot;UnitName&amp;quot; as the filename and, in fact, multiple Unit&#039;s fbi files can reference the same 3D models. It is easier, however, for people to figure out what you are doing in your mod if you follow the standards.&lt;br /&gt;
&lt;br /&gt;
Save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unitDef = {&lt;br /&gt;
  unitname           = [[arm_spider]],&lt;br /&gt;
  name               = [[Weaver]],&lt;br /&gt;
  description        = [[Cloaking Construction Spider, Builds at 9 m/s]],&lt;br /&gt;
  acceleration       = 0.15,&lt;br /&gt;
  bmcode             = [[1]],&lt;br /&gt;
  brakeRate          = 0.15,&lt;br /&gt;
  buildCostEnergy    = 230,&lt;br /&gt;
  buildCostMetal     = 230,&lt;br /&gt;
  buildDistance      = 80,&lt;br /&gt;
  builder            = true,&lt;br /&gt;
&lt;br /&gt;
  buildoptions       = {&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  buildPic           = [[arm_spider.png]],&lt;br /&gt;
  buildTime          = 230,&lt;br /&gt;
  canAttack          = false,&lt;br /&gt;
  canGuard           = true,&lt;br /&gt;
  canMove            = true,&lt;br /&gt;
  canPatrol          = true,&lt;br /&gt;
  canreclamate       = [[1]],&lt;br /&gt;
  canstop            = [[1]],&lt;br /&gt;
  category           = [[LAND UNARMED]],&lt;br /&gt;
  cloakCost          = 1,&lt;br /&gt;
  cloakCostMoving    = 2,&lt;br /&gt;
  corpse             = [[DEAD]],&lt;br /&gt;
&lt;br /&gt;
  customParams       = {&lt;br /&gt;
    description_bp = [[Aranha e de construÃƒÂ§?o, ConstrÃƒÂ³i a 6 m/s]],&lt;br /&gt;
    description_es = [[Ara?a de construcciÃƒÂ³n, construye a 6 m/s]],&lt;br /&gt;
    description_fi = [[Rakentaja/kaikuluotainkiipeilij?, rakentaa 6m/s nopeudella]],&lt;br /&gt;
    description_fr = [[Araign?e de Construction, Construit ? 6 m/s]],&lt;br /&gt;
    description_it = [[Ragno do costruzione occultante, costruisce a 6 m/s]],&lt;br /&gt;
    description_pl = [[Paj?k konstruktor, buduje z pr?dko?ci? 6m/s]],&lt;br /&gt;
    helptext       = [[The Weaver is a constructor that can climb over any obstacle and build defenses on high ground.]],&lt;br /&gt;
    helptext_bp    = [[Weaver ÃƒÂ© o construtor escalador camuflÃƒÂ¡vel de NOVA. Pode subir qualquer obstÃƒÂ¡culo, mas constrÃƒÂ³i mais devagar que construtores normais.]],&lt;br /&gt;
    helptext_es    = [[El Weaver es el constructor que puede treparse sobre qualquier obstÃƒÂ¡culo y construir defensas en terreno alto]],&lt;br /&gt;
    helptext_fi    = [[Weaver pystyy liikkumaan vaikeakulkuisimmassakin maastossa ja rakentamaan vaivatta my?s useimmille muille rakentajille saavuttamattomiin paikkoihin.]],&lt;br /&gt;
    helptext_fr    = [[Le weaver est un robot de construction tout terrain qui peut batir des d?fenses en terrain ?lev?.]],&lt;br /&gt;
    helptext_it    = [[Il Weaver ÃƒÂ© un costruttore che puo arrampicarsi su qualunque ostacolo e costruire difese nel terreno alto]],&lt;br /&gt;
    helptext_pl    = [[Weaver jest konstruktorem mog?cym wspina? si? po ka?dej powierzchni oraz posiadaj?cym mo?liwo?? maskowania si?]],&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  defaultmissiontype = [[Standby]],&lt;br /&gt;
  designation        = [[ARM-MLSPD]],&lt;br /&gt;
  energyMake         = 0.15,&lt;br /&gt;
  energyUse          = 0,&lt;br /&gt;
  explodeAs          = [[BIG_UNITEX]],&lt;br /&gt;
  footprintX         = 3,&lt;br /&gt;
  footprintZ         = 3,&lt;br /&gt;
  iconType           = [[builder]],&lt;br /&gt;
  mass               = 115,&lt;br /&gt;
  maxDamage          = 750,&lt;br /&gt;
  maxslope           = 16,&lt;br /&gt;
  maxSlope           = 72,&lt;br /&gt;
  maxVelocity        = 1.7,&lt;br /&gt;
  maxWaterDepth      = 22,&lt;br /&gt;
  metalMake          = 0.15,&lt;br /&gt;
  movementClass      = [[TKBOT3]],&lt;br /&gt;
  noAutoFire         = false,&lt;br /&gt;
  noChaseCategory    = [[TERRAFORM SATELLITE FIXEDWING GUNSHIP HOVER SHIP SWIM SUB LAND FLOAT SINK]],&lt;br /&gt;
  objectName         = [[ARMMLSPD]],&lt;br /&gt;
  radarDistanceJam   = 256,&lt;br /&gt;
  seismicSignature   = 16,&lt;br /&gt;
  selfDestructAs     = [[BIG_UNITEX]],&lt;br /&gt;
  showNanoSpray      = false,&lt;br /&gt;
  side               = [[ARM]],&lt;br /&gt;
  sightDistance      = 295,&lt;br /&gt;
  smoothAnim         = true,&lt;br /&gt;
  steeringmode       = [[1]],&lt;br /&gt;
  TEDClass           = [[CNSTR]],&lt;br /&gt;
  terraformSpeed     = 450,&lt;br /&gt;
  threed             = [[1]],&lt;br /&gt;
  turninplace        = 0,&lt;br /&gt;
  turnRate           = 1020,&lt;br /&gt;
  workerTime         = 9,&lt;br /&gt;
  zbuffer            = [[1]],&lt;br /&gt;
&lt;br /&gt;
  featureDefs        = {&lt;br /&gt;
&lt;br /&gt;
    DEAD  = {&lt;br /&gt;
      description      = [[Wreckage - Weaver]],&lt;br /&gt;
      blocking         = true,&lt;br /&gt;
      category         = [[arm_corpses]],&lt;br /&gt;
      damage           = 850,&lt;br /&gt;
      featureDead      = [[DEAD2]],&lt;br /&gt;
      featurereclamate = [[smudge01]],&lt;br /&gt;
      footprintX       = 3,&lt;br /&gt;
      footprintZ       = 3,&lt;br /&gt;
      height           = [[40]],&lt;br /&gt;
      hitdensity       = [[100]],&lt;br /&gt;
      metal            = 92,&lt;br /&gt;
      object           = [[ARMMLSPD_dead]],&lt;br /&gt;
      reclaimable      = true,&lt;br /&gt;
      reclaimTime      = 92,&lt;br /&gt;
      seqnamereclamate = [[tree1reclamate]],&lt;br /&gt;
      world            = [[All Worlds]],&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    DEAD2 = {&lt;br /&gt;
      description      = [[Debris - Weaver]],&lt;br /&gt;
      blocking         = false,&lt;br /&gt;
      category         = [[heaps]],&lt;br /&gt;
      damage           = 850,&lt;br /&gt;
      featureDead      = [[HEAP]],&lt;br /&gt;
      featurereclamate = [[smudge01]],&lt;br /&gt;
      footprintX       = 3,&lt;br /&gt;
      footprintZ       = 3,&lt;br /&gt;
      height           = [[4]],&lt;br /&gt;
      hitdensity       = [[100]],&lt;br /&gt;
      metal            = 92,&lt;br /&gt;
      object           = [[debris3x3b.s3o]],&lt;br /&gt;
      reclaimable      = true,&lt;br /&gt;
      reclaimTime      = 92,&lt;br /&gt;
      seqnamereclamate = [[tree1reclamate]],&lt;br /&gt;
      world            = [[All Worlds]],&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    HEAP  = {&lt;br /&gt;
      description      = [[Debris - Weaver]],&lt;br /&gt;
      blocking         = false,&lt;br /&gt;
      category         = [[heaps]],&lt;br /&gt;
      damage           = 850,&lt;br /&gt;
      featurereclamate = [[smudge01]],&lt;br /&gt;
      footprintX       = 3,&lt;br /&gt;
      footprintZ       = 3,&lt;br /&gt;
      height           = [[4]],&lt;br /&gt;
      hitdensity       = [[100]],&lt;br /&gt;
      metal            = 46,&lt;br /&gt;
      object           = [[debris3x3b.s3o]],&lt;br /&gt;
      reclaimable      = true,&lt;br /&gt;
      reclaimTime      = 46,&lt;br /&gt;
      seqnamereclamate = [[tree1reclamate]],&lt;br /&gt;
      world            = [[All Worlds]],&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return lowerkeys({ arm_spider = unitDef })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save this file as a lua file in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/units/&lt;br /&gt;
&lt;br /&gt;
===modinfo.lua===&lt;br /&gt;
&lt;br /&gt;
modinfo.lua is a lua file that defines a number of things that are used when loading a mod, most of the information is self explanatory but basically what you are doing is defining what is going to show up in whatever mod-selection interface you use as well as what other files need to be loaded into memory in order for your mod to work.&lt;br /&gt;
&lt;br /&gt;
====Making a New Mod with your unit/units====&lt;br /&gt;
The following is an example of what will be in your modinfo.lua file if you are starting from scratch and making your own mod. This is also good when you are just testing one unit to see if it works.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
		-- The name is shown in the selection interface&lt;br /&gt;
		game = &amp;quot;MyMod&amp;quot;,&lt;br /&gt;
		shortGame = &amp;quot;MM&amp;quot;,&lt;br /&gt;
		name = &amp;quot;My Mod&amp;quot;,&lt;br /&gt;
		shortName = &amp;quot;MM&amp;quot;,&lt;br /&gt;
		version = &amp;quot;4.0&amp;quot;,&lt;br /&gt;
		mutator = &amp;quot;Heroes&amp;quot;,&lt;br /&gt;
		-- These can be shown by the selection interface&lt;br /&gt;
		description = &amp;quot;My Mod That I Made&amp;quot;,&lt;br /&gt;
		url = &amp;quot;http://www.theplacepeoplecangetthelatestversionofyourmod.com&amp;quot;,&lt;br /&gt;
		-- What kind of mod this is &lt;br /&gt;
		--  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
		--  1 - Normal, only one can be selected at a time &lt;br /&gt;
		--  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
		--      for single units for example. &lt;br /&gt;
		--  others - perhaps mutators and addon races that can be &lt;br /&gt;
		--           enabled in addition to XTA for example? &lt;br /&gt;
		modtype = &amp;quot;1&amp;quot;,&lt;br /&gt;
		-- Number of other archives this one depends on &lt;br /&gt;
		depend= {&lt;br /&gt;
			&amp;quot;Spring content v1&amp;quot;,&lt;br /&gt;
			&amp;quot;Spring Cursors&amp;quot;,&lt;br /&gt;
			&amp;quot;Spring Bitmaps&amp;quot;,&lt;br /&gt;
			-- Number of other content names this one replaces&lt;br /&gt;
                        added comment about filename vs unitsync name for dependency&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Adding Your Unit to an Existing Mod====&lt;br /&gt;
The following is an example of what will be in your modinfo.lua file if you are adding new units to an existing mod (in this case XTA SE v066), this is good for adding units to the build tree of an existing mod or adding a whole new team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Description of the mod control file recognized by spring:&lt;br /&gt;
return {&lt;br /&gt;
		-- The name is shown in the selection interface&lt;br /&gt;
		game = &amp;quot;XTASE_MyUnits&amp;quot;,&lt;br /&gt;
		shortGame = &amp;quot;XTASEMU&amp;quot;,&lt;br /&gt;
		name = &amp;quot;XTASEv0.66 with+My Units&amp;quot;,&lt;br /&gt;
		shortName = &amp;quot;XTASEMU&amp;quot;,&lt;br /&gt;
		version = &amp;quot;4.0&amp;quot;,&lt;br /&gt;
		mutator = &amp;quot;Heroes&amp;quot;,&lt;br /&gt;
		-- These can be shown by the selection interface&lt;br /&gt;
		description = &amp;quot;xta_se_v066 with the cool tank I made&amp;quot;,&lt;br /&gt;
		url = &amp;quot;http://www.fileuniverse.com/exactlocationblahblahblah&amp;quot;,&lt;br /&gt;
		-- What kind of mod this is &lt;br /&gt;
		--  0 - Hidden (support mod that can&#039;t be selected, such as OTA_textures) &lt;br /&gt;
		--  1 - Normal, only one can be selected at a time &lt;br /&gt;
		--  2 - Addon, any number of these can be selected. Could be used &lt;br /&gt;
		--      for single units for example. &lt;br /&gt;
		--  others - perhaps mutators and addon races that can be &lt;br /&gt;
		--           enabled in addition to xta for example? &lt;br /&gt;
		modtype = &amp;quot;1&amp;quot;,&lt;br /&gt;
		-- Number of other archives this one depends on &lt;br /&gt;
		depend= {&lt;br /&gt;
			&amp;quot;XTAsev066&amp;quot;,&lt;br /&gt;
                        &amp;quot;Spring Cursors&amp;quot;,&lt;br /&gt;
                        &amp;quot;Spring content v1&amp;quot;,&lt;br /&gt;
			-- Number of other archives this one replaces&lt;br /&gt;
                                        --do not used filenames, use the internal name, or downloader programs will fail to download the dependencies automatically&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not depending on OTA files, you will have to supply your own cursors.&lt;br /&gt;
&lt;br /&gt;
There are some extra bits in these examples, but I work on the &amp;quot;better safe than sorry&amp;quot; principle... which is to wait for someone who knows what they are doing to fix my articles. &lt;br /&gt;
&lt;br /&gt;
You will want to save this file as plain text in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===armorDefs.lua===&lt;br /&gt;
&lt;br /&gt;
I&#039;m not exactly sure how this works, but the file needs to exist, so either steal one from another mod and modify it... or just make a file that looks like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local armorDefs = {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will want to save this file as a lua file in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata&lt;br /&gt;
&lt;br /&gt;
===sidedata.lua===&lt;br /&gt;
&lt;br /&gt;
Start by stealing the sidedata.lua file from your dependency mod if you have one, then edit it to include your units/side.&lt;br /&gt;
&lt;br /&gt;
Basically this file is in the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local sideData = {&lt;br /&gt;
	[1] = {&lt;br /&gt;
		name      = &#039;Good Guys&#039;,&lt;br /&gt;
		startunit = &#039;GG_comm&#039;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are also additional &amp;quot;[X]&amp;quot; entries for each side/team/commander-choice available in the mod-selector you choose.&lt;br /&gt;
&lt;br /&gt;
You will save this file as lua file in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/gamedata/&lt;br /&gt;
&lt;br /&gt;
-------------------&lt;br /&gt;
&lt;br /&gt;
Coolfile:&lt;br /&gt;
&lt;br /&gt;
The engine will stop spawning start units and resources anymore. &lt;br /&gt;
Please read this[http://springrts.com/phpbb/viewtopic.php?f=14&amp;amp;t=21883] for more information.&lt;br /&gt;
&lt;br /&gt;
(annotated on 2010-10-23)&lt;br /&gt;
&lt;br /&gt;
Moved the buildOptions definitions into the unitDef definitions, LuaParser &lt;br /&gt;
Please read the change log line 77 [http://springrts.com/wiki/The_Talking_Changelog] for more information.&lt;br /&gt;
&lt;br /&gt;
(annotated on 2010-10-24)&lt;br /&gt;
&lt;br /&gt;
===moveDefs.lua===&lt;br /&gt;
This file determines the footprint of your units, the angle of slopes they can climb and in how deep water they can drive. It contains several entries, all in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local moveDefs = {&lt;br /&gt;
	KBOT1 = { -- This is the name. Unit files refer to this name.&lt;br /&gt;
		footprintx = 1, -- This is how big the X dimension is of the footprint in Spring units probably?&lt;br /&gt;
		footprintz = 1, -- This is how big the Y dimension is of the footprint in Spring units probably?&lt;br /&gt;
		maxwaterdepth = 15, -- This is how big the Y dimension is of the footprint in Spring units probably?&lt;br /&gt;
		maxslope = 36, -- The maximum angle of slopes this unit can climb.&lt;br /&gt;
		crushstrength = 5, -- This determines if the unit/unit class can crush certain features&lt;br /&gt;
	},&lt;br /&gt;
	-- etc..&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sounds.lua===&lt;br /&gt;
This file refers to all the sounds your units make, so Spring knows which sound file is linked to what action. It contains entries in the following format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local Sounds = {&lt;br /&gt;
   SoundItems = {&lt;br /&gt;
      IncomingChat = {&lt;br /&gt;
         file = &amp;quot;sounds/nexuiz/talk.wav&amp;quot;,&lt;br /&gt;
         priority = 15,&lt;br /&gt;
         preload = true,&lt;br /&gt;
      },&lt;br /&gt;
      MultiSelect = {&lt;br /&gt;
         file = &amp;quot;sounds/ota/button9.wav&amp;quot;,&lt;br /&gt;
         priority = 15,&lt;br /&gt;
         preload = true,&lt;br /&gt;
         rolloff = 0.1,&lt;br /&gt;
      },&lt;br /&gt;
      MapPoint = {&lt;br /&gt;
         file = &amp;quot;sounds/bzflag/teamgrab.wav&amp;quot;,&lt;br /&gt;
         priority = 15,&lt;br /&gt;
         preload = true,&lt;br /&gt;
         rolloff = 0.1,&lt;br /&gt;
      },&lt;br /&gt;
      FailedCommand = {&lt;br /&gt;
         file = &amp;quot;sounds/openQuarz/pkup.wav&amp;quot;,&lt;br /&gt;
         gain = 0.75,&lt;br /&gt;
         priority = 15,&lt;br /&gt;
         preload = true,&lt;br /&gt;
         in3d = false,&lt;br /&gt;
      },&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Step 7:Adding a Build Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 96x96 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/unitpics/ folder named either &amp;quot;UnitName.bmp&amp;quot; or whatever you specified in the &amp;quot;BuildPic=&amp;quot; line of your fbi.&lt;br /&gt;
&lt;br /&gt;
==Step 8:Adding a Side Pic==&lt;br /&gt;
&lt;br /&gt;
Add a 16x16 BMP to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/sidepics/ folder named &amp;quot;teamname.bmp&amp;quot; or whatever you specified in the &amp;quot;name=&amp;quot; line of your SIDEDATA.TDF for each side/team you have added.&lt;br /&gt;
&lt;br /&gt;
==Step 9:Scriptor==&lt;br /&gt;
&lt;br /&gt;
===Stealing a Script===&lt;br /&gt;
Open someone else&#039;s script in scriptor that works the way you want your script to work, look at the top where it&#039;s talking about &amp;quot;piece names&amp;quot;... then change those piece names to be the piece names of your unit and do a find/replace to make all the places where those pieces show up to be your pieces too.  Compile it so its name is the same as the &amp;quot;UnitName=&amp;quot; value in your &amp;quot;UnitName.fbi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XXreminder to someone to link to a proper scripting tutorial&lt;br /&gt;
&lt;br /&gt;
Put the bos and cob files for your unit script in &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
==Step 10:Compiling Your Mod==&lt;br /&gt;
&lt;br /&gt;
You may want to check your mod directory and make sure it follows the structure defined [[Mod_Development:Archives|here]].&lt;br /&gt;
&lt;br /&gt;
navigate to your &amp;lt;working directory&amp;gt;/&amp;lt;mod name&amp;gt; and select everything and choose &amp;quot;add to archive &amp;lt;mod name&amp;gt;.7z&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
make a copy of this file called &amp;lt;mod name&amp;gt;v0.7z in your working directory so you don&#039;t screw anything up later, then make a copy of it called &amp;lt;mod name&amp;gt;.sd7 in the mods directory of spring.&lt;br /&gt;
&lt;br /&gt;
An alternative, added in more recent versions is the &amp;quot;.SDD&amp;quot; folder, to use this, copy the entire &amp;lt;mod name&amp;gt; folder in the mods directory of spring and rename it as &amp;quot;&amp;lt;mod name&amp;gt;.SDD&amp;quot;.  The advantage to the &amp;quot;.SDD&amp;quot; method is that you can tweak settings and add files without recompressing your mod all the time.  When it comes time to distribute your mod use &amp;quot;.sd7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
EXAMPLES:&lt;br /&gt;
If your mod is called JoesMod you will have a file called &amp;quot;JoesMod.sd7&amp;quot; or a folder called &amp;quot;JoesMod.SDD&amp;quot; in your spring mods directory.&lt;br /&gt;
&lt;br /&gt;
==Step 11:Testing Your Mod==&lt;br /&gt;
Open Up your lobby client, pick your mod from the drop-down list of the games in host battle or singleplayer mode if your lobby supports it(if it doesn&#039;t show up you screwed up your modinfo.txt), choose your tiny map from the map list and press start.  If it doesn&#039;t break and your unit shows up, you have created all the neccessary files... yay!&lt;br /&gt;
&lt;br /&gt;
Gotchas:&lt;br /&gt;
*If it doesn&#039;t work, check you didn&#039;t zip the folder itself, but the contents, ie if you open mymod.sd7 with 7zip, you should see folders such as &amp;quot;unittextures&amp;quot; rather than a folder &amp;quot;mymod&amp;quot; containing unittextures.&lt;br /&gt;
&lt;br /&gt;
[[Category:Game development]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=XTA&amp;diff=19774</id>
		<title>XTA</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=XTA&amp;diff=19774"/>
		<updated>2011-07-19T17:09:57Z</updated>

		<summary type="html">&lt;p&gt;Abq911: Added new XTA Replays page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:Xta]]&lt;br /&gt;
&#039;&#039;&#039;[[Games|&amp;lt;--Back to Games]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
                       [[Image:Xta_logo_white.jpg]]&lt;br /&gt;
&lt;br /&gt;
== What is XTA? ==&lt;br /&gt;
&lt;br /&gt;
XTA is one of the original mods for Spring, and the one many players feel is &amp;quot;more OTA than OTA itself&amp;quot; due to the authentic feel combined with the Spring Engine&#039;s capabilities. &lt;br /&gt;
&lt;br /&gt;
XTA tests a player&#039;s tactical, teamwork and micro abilities whilst also fostering diverse playstyles giving many ways in which one action can change the outcome of battle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;But the best reciew for any player is to experience it for themselves.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
The current version of XTA is 9.66 and you can [http://www.springfiles.com/spring/games/xta download it here].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Gameplay ==&lt;br /&gt;
&lt;br /&gt;
Here are just some of the many good aspects XTA has to offer.&lt;br /&gt;
&lt;br /&gt;
*Perhaps XTA&#039;s greatest strength is that players must keep the balance of keeping their own units alive through repairing and avoiding projectiles, while still doing maximum damage to the enemy. Amongst this they also have to keep their economy on track and try guess their opponent&#039;s next move. Sound easy? Give it to a go!&lt;br /&gt;
&lt;br /&gt;
*XTA is more micro than macro, although the latter is a vital feature. Units have more health than other mods enabling players to keep units alive. Spamming is done less as units are more expensive and too many units means you will lose your units to the a few well microed enemies. It&#039;s not how many you build but how you use them.&lt;br /&gt;
&lt;br /&gt;
*At the advanced levels of the tech tree, both factions really come into their own. Whereas Core may get the power of flame, Arm get the power of lightning, offering the quick and light to the strong and slow. Will you go for brute force and economical superiority or hit and run stealth tactics?&lt;br /&gt;
&lt;br /&gt;
*XTA prides itself on being a mod of team play allowing teams to play strategically and work together to achieve goals as a simple macro victory is rare. The small community makes players able to have a greater understanding of each other giving the game a more rewarding victory.&lt;br /&gt;
&lt;br /&gt;
*One of XTA&#039;s best selling points is the &#039;&#039;&#039;Commander&#039;&#039;&#039;. The versatility of this unit allows it to be used for aggressive, tactical, defensive and economical purposes as well as having the ability to Morph to be stronger.&lt;br /&gt;
&lt;br /&gt;
*Very much similar to Spring itself, XTA has a friendly community and although it being relatively small, balance discussions are often held within the group. However, this also allows all players to know each other making games more between friends than foes. It also has one of the most active clan systems.&lt;br /&gt;
&lt;br /&gt;
*XTA has a tough learning curve, however an intelligent player will quickly learn when to build and what, may it be lab or unit. This makes XTA a mod constantly keeping the player entertained and challenged. With different tactics being discovered all the time users have many ideas to choose from of how to start their game. XTA is renowned for players making comebacks by rebuilding their base.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== So where can I find out more? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XTA is proud to be a community-run development program.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The XTA community is always willing to listen to suggestions. The current forum can be found [http://springrts.com/phpbb/viewforum.php?f=48 here]. From there you will be able to read on the latest plans of XTA here, read the change log, and contribute your own ideas on the mod itself. &lt;br /&gt;
&lt;br /&gt;
Something not to your liking about the current XTA? Talk about, maybe have it changed! Many balance issues are discussed from the introduction of new units to the changing of a single unit&#039;s DP&lt;br /&gt;
&lt;br /&gt;
You can join the &#039;&#039;&#039;#xta channel&#039;&#039;&#039; to find other XTA players and see if anyone wishes for a game. There is nearly always a game of the most uptodate XTA being hosted.&lt;br /&gt;
&lt;br /&gt;
Newer versions will continue to be released to incorporate more detailed visual effects/or models as the Spring Engine develops.&lt;br /&gt;
&lt;br /&gt;
If you wish to learn the basics of XTA, you can read guides such as:&lt;br /&gt;
&lt;br /&gt;
*[http://springrts.com/wiki/New_to_xta XTA Basics]&lt;br /&gt;
*[http://springrts.com/wiki/Xta_units XTA unit guide]&lt;br /&gt;
*[http://springrts.com/wiki/Xta_commander XTA Commander guide]&lt;br /&gt;
&lt;br /&gt;
For some commented XTA games please feel free to visit [http://www.youtube.com/user/xtareplay here] to get a feel of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
XTA was a balance mod for [[TA]], developed by the [[SY]] clan.&lt;br /&gt;
&lt;br /&gt;
For spring, it was the first mod available to the public for online play, the first that was ported and is what comes with the installation of the Spring engine ready to play.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The mod has gone through many developers, starting with the [SY] clan with the most ancient and famous to the oldest of players, SJ; and then moving onto other users. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of the most notable players has been Noize, a founder of BA. Noize started XTA&#039;s modern look, with updated graphics and flash explosions (XTA Pimped Edition), which would later be seen as unnecessary and extremely laggy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A short time afterward the [KnoX] clan, the leading XTA clan ran by &#039;&#039;&#039;Myg&#039;&#039;&#039; and Gizmo starting to develop the mod. For a brief time a major debate became visible that XTA was KnoX&#039;s mod now, this would be shortly dismissed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After [KnoX] disbanded due to them feeling the time was right for the members to go their seperate ways, they still maintained XTA until Noruas began upkeep of the mod. With XTA 7.1 being seen as a watershed moment due to the peak of XTA&#039;s player base due to the decline of AA and rise of BA, so too can XTA 8.1. With some debate to whether the current XTA is the best, the two main contenders would be 7.1 and 8.1. With 8.1 came updated graphics and what many players remember as &amp;quot;The golden days&amp;quot; whereas 7.1 can be called the heyday of XTA itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Noruas has introduced more units than any other developer of XTA, improved graphics and dragged XTA through the new Spring versions. With the community split about where they stand on many of his somewhat radical ideas, Noruas has certainly added to XTA. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Noruas still maintains XTA to this day. Players contribute and offer help on a multitude of scales. The current XTA balance offers something new and dynamic whilst still maintaing the roots of OTA and the older XTA versions giving a blend of classic and modern.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Eye Candy ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XTA is arguably the best-looking mod in terms of graphics.  With new unit models and new explosion/smoke effects being released with every update, the XTA mod keeps up to date with the Spring Engine and what it has to offer. &lt;br /&gt;
&lt;br /&gt;
Here are some pictures of what XTA has to offer:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Screen508.jpg|800px|Core Commander]]&lt;br /&gt;
[[image:Screen511.jpg|800px|Arm Commander]]&lt;br /&gt;
[[image:Screen620.jpg|800px|A Land boat]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can view some clips of XTA in action as well as commentaries of XTA replays [http://www.youtube.com//XtaReplay here] or [http://www.youtube.com/xtaboi here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Games]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Games]]&lt;/div&gt;</summary>
		<author><name>Abq911</name></author>
	</entry>
</feed>