<?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=Agon</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=Agon"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Agon"/>
	<updated>2026-11-08T19:38:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Lobby_Development&amp;diff=10600</id>
		<title>Lobby Development</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Lobby_Development&amp;diff=10600"/>
		<updated>2011-01-08T00:47:23Z</updated>

		<summary type="html">&lt;p&gt;Agon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
&lt;br /&gt;
=Lobby client development=&lt;br /&gt;
There are currently three working public lobby clients available, and two in development.&lt;br /&gt;
&lt;br /&gt;
==SpringLobby==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;BrainDamage&amp;lt;/font&amp;gt; &amp;amp;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;koshi&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SpringLobby is the official lobby client of spring and is bundled with the Spring engine in the installer. It uses the &#039;&#039;wxWidgets&#039;&#039; library. You can browse the sources and submit issues on its [http://springlobby.info/ website].&lt;br /&gt;
&lt;br /&gt;
==Zero-K==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;Windows&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C#&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Licho&amp;lt;/font&amp;gt; &amp;amp; &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;quantum&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://code.google.com/p/zero-k/ Zero-K project page]&lt;br /&gt;
&lt;br /&gt;
==TASClient==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;Windows&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Delphi&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Satirik&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the sources from the [http://springrts.com/svn/spring/Lobby/TASClient/ subversion repository] (svn://springrts.com/svn/spring/Lobby/TASClient/) and browse them on the [http://springrts.com/websvn/listing.php?repname=Spring&amp;amp;path=%2FLobby%2FTASClient%2F#_Lobby_TASClient_ websvn]. Latest binary version is always available here:&lt;br /&gt;
http://springrts.com/dl/tasclient/TASClientLatest.7z&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=12&amp;amp;t=18999 How to compile TASClient]&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=14&amp;amp;t=19014 How to customize TASClient]&lt;br /&gt;
&lt;br /&gt;
==QtLobby==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;unmaintained&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Qt lobby is currently the fastest lobby available and is very stable. It uses the Qt library. Use its [http://code.google.com/p/qtlobby/ project page] to post issues, download or browse the sources.&lt;br /&gt;
&lt;br /&gt;
=Libraries and frameworks=&lt;br /&gt;
&lt;br /&gt;
==Spring-PythonBotFramework==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Python&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;unmaintained&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A bot framework written in python&lt;br /&gt;
[https://github.com/springlobby/spring_pythonbot_framework project page]&lt;br /&gt;
&lt;br /&gt;
==Go SpringLobbyClient==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Go&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A simple client implementation of the lobby protocol in Go.&lt;br /&gt;
[https://github.com/Agon/go-slc/ project page]&lt;br /&gt;
&lt;br /&gt;
=Lobby server development=&lt;br /&gt;
==Protocol==&lt;br /&gt;
* [http://springrts.com/dl/tasclient/ProtocolDescription.xml HTML] (may be out of date)&lt;br /&gt;
* [https://github.com/spring/LobbyProtocol/blob/master/ProtocolDescription.xml XML] (raw, always latest)&lt;br /&gt;
&lt;br /&gt;
==Download Systems==&lt;br /&gt;
* [http://springrts.com/wiki/Dev:LobbyDownloadSystems Lobby Download Systems]&lt;br /&gt;
&lt;br /&gt;
==TASServer==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Betalord&amp;lt;/font&amp;gt; &amp;amp;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;hoijui&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The official lobby server, created by Betalord, using PHP for the admin interface. You can fetch the sources through &#039;&#039;git&#039;&#039;. Details can be found on the [http://github.com/spring/TASServer development site].&lt;br /&gt;
&lt;br /&gt;
==UberServer==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Python&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;aegis&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can [http://cgit.springlobby.info/cgit/aegis/uberserver.git/ browse the sources] or download them using its git repository (git://springlobby.info/git/aegis/uberserver.git).&lt;br /&gt;
&lt;br /&gt;
[[Category: Lobbies]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Lobby_Development&amp;diff=10599</id>
		<title>Lobby Development</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Lobby_Development&amp;diff=10599"/>
		<updated>2011-01-08T00:46:15Z</updated>

		<summary type="html">&lt;p&gt;Agon: Add PythonBotFramework and GoSLC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Engine_Development|Development]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
&lt;br /&gt;
=Lobby client development=&lt;br /&gt;
There are currently three working public lobby clients available, and two in development.&lt;br /&gt;
&lt;br /&gt;
==SpringLobby==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;BrainDamage&amp;lt;/font&amp;gt; &amp;amp;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;koshi&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SpringLobby is the official lobby client of spring and is bundled with the Spring engine in the installer. It uses the &#039;&#039;wxWidgets&#039;&#039; library. You can browse the sources and submit issues on its [http://springlobby.info/ website].&lt;br /&gt;
&lt;br /&gt;
==Zero-K==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;Windows&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C#&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Licho&amp;lt;/font&amp;gt; &amp;amp; &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;quantum&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://code.google.com/p/zero-k/ Zero-K project page]&lt;br /&gt;
&lt;br /&gt;
==TASClient==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;Windows&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Delphi&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Satirik&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the sources from the [http://springrts.com/svn/spring/Lobby/TASClient/ subversion repository] (svn://springrts.com/svn/spring/Lobby/TASClient/) and browse them on the [http://springrts.com/websvn/listing.php?repname=Spring&amp;amp;path=%2FLobby%2FTASClient%2F#_Lobby_TASClient_ websvn]. Latest binary version is always available here:&lt;br /&gt;
http://springrts.com/dl/tasclient/TASClientLatest.7z&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=12&amp;amp;t=18999 How to compile TASClient]&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=14&amp;amp;t=19014 How to customize TASClient]&lt;br /&gt;
&lt;br /&gt;
==QtLobby==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;C++&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;unmaintained&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Qt lobby is currently the fastest lobby available and is very stable. It uses the Qt library. Use its [http://code.google.com/p/qtlobby/ project page] to post issues, download or browse the sources.&lt;br /&gt;
&lt;br /&gt;
==Spring-PythonBotFramework==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Python&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;unmaintained&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A bot framework written in python&lt;br /&gt;
[https://github.com/springlobby/spring_pythonbot_framework project page]&lt;br /&gt;
&lt;br /&gt;
==Go SpringLobbyClient==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Go&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A simple client implementation of the lobby protocol in Go.&lt;br /&gt;
[https://github.com/Agon/go-slc/ project page]&lt;br /&gt;
&lt;br /&gt;
=Lobby server development=&lt;br /&gt;
==Protocol==&lt;br /&gt;
* [http://springrts.com/dl/tasclient/ProtocolDescription.xml HTML] (may be out of date)&lt;br /&gt;
* [https://github.com/spring/LobbyProtocol/blob/master/ProtocolDescription.xml XML] (raw, always latest)&lt;br /&gt;
&lt;br /&gt;
==Download Systems==&lt;br /&gt;
* [http://springrts.com/wiki/Dev:LobbyDownloadSystems Lobby Download Systems]&lt;br /&gt;
&lt;br /&gt;
==TASServer==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Java&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;Betalord&amp;lt;/font&amp;gt; &amp;amp;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;hoijui&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The official lobby server, created by Betalord, using PHP for the admin interface. You can fetch the sources through &#039;&#039;git&#039;&#039;. Details can be found on the [http://github.com/spring/TASServer development site].&lt;br /&gt;
&lt;br /&gt;
==UberServer==&lt;br /&gt;
&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;cross-platform&amp;lt;/font&amp;gt;,&lt;br /&gt;
&amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;Python&amp;lt;/font&amp;gt;,&lt;br /&gt;
by &amp;lt;font color=&amp;quot;#00CC00&amp;quot;&amp;gt;aegis&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can [http://cgit.springlobby.info/cgit/aegis/uberserver.git/ browse the sources] or download them using its git repository (git://springlobby.info/git/aegis/uberserver.git).&lt;br /&gt;
&lt;br /&gt;
[[Category: Lobbies]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Linux:Packaging&amp;diff=10461</id>
		<title>Linux:Packaging</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Linux:Packaging&amp;diff=10461"/>
		<updated>2010-09-09T22:10:30Z</updated>

		<summary type="html">&lt;p&gt;Agon: /* OpenSuSe */  Agon is back with updated packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Linux_Page|Linux]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
&lt;br /&gt;
= Linux Packaging =&lt;br /&gt;
&lt;br /&gt;
== Packagers ==&lt;br /&gt;
&lt;br /&gt;
Nicknames and how to best contact them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Ubuntu_install|Ubuntu]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-ubuntu.png|link=Ubuntu_install}}&lt;br /&gt;
&#039;&#039;&#039;Tobi&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=596 Forum:&#039;&#039;Tobi&#039;&#039;], Lobby:&#039;&#039;[RoX]Tobi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;det&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=1213 Forum:&#039;&#039;det&#039;&#039;], Lobby:&#039;&#039;*det*??&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;YokoZar&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=5670 Forum:&#039;&#039;YokoZar&#039;&#039;], Lobby:&#039;&#039;*YokoZar*??&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Debian_install|Debian]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-debian.png|link=Debian_install}}&lt;br /&gt;
&#039;&#039;&#039;mammadori&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=9045 Forum:&#039;&#039;mammadori&#039;&#039;], Lobby:&#039;&#039;*mammadori*??&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;jandd&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=9301 Forum:&#039;&#039;jandd&#039;&#039;], Lobby:&#039;&#039;*jandd*??&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Slackware_install|Slackware]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-slackware.png|link=Slackware_install}}&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;(no one)&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Mandriva_install|Mandriva]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-mandriva_linux.png|link=Mandriva_install}}&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;(no one?)&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSUSE_install|OpenSuSe]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-opensuse_linux.png|link=OpenSUSE_install}}&lt;br /&gt;
&#039;&#039;&#039;Agon&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=5514 Forum:&#039;&#039;Agon&#039;&#039;], Lobby:&#039;&#039;*Agon|*basket&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cghislai&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=10114 Forum:&#039;&#039;cghislai&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10 Fedora] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-fedora.png|link=http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10}}&lt;br /&gt;
&amp;lt;font color=&amp;quot;yellow&amp;quot;&amp;gt;(unknown)&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Gentoo_install|Gentoo]] ===&lt;br /&gt;
{{navimg|xsize=48|ysize=48|image=Distributions-gentoo.png|link=Gentoo_install}}&lt;br /&gt;
&#039;&#039;&#039;Auswaschbar&#039;&#039;&#039; - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&amp;amp;u=5613 Forum:&#039;&#039;Auswaschbar&#039;&#039;], Lobby:&#039;&#039;*Auswaschbar&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iElectric&#039;&#039;&#039;, #sy@quakenet:&#039;&#039;iElectric&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; This section is only of interest for Linux package maintainers.&lt;br /&gt;
&lt;br /&gt;
Here we outline the packaging scheme currently recommended by the engine development team.&lt;br /&gt;
&lt;br /&gt;
=== Binary Distros ===&lt;br /&gt;
&lt;br /&gt;
We recommend using &amp;lt;code&amp;gt;CMAKE_BUILD_TYPE=RELWITHDEBINFO&amp;lt;/code&amp;gt;, and later splitting the debug symbols off into separate files with a command like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;##STUB##&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;main packages (&#039;&#039;package&#039;&#039; ~ &#039;&#039;deps&#039;&#039;):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
springrts-gamedata&lt;br /&gt;
springrts-engine-default ~ springrts-gamedata&lt;br /&gt;
springrts-engine-default-dbg ~ springrts-engine&lt;br /&gt;
springrts-engine-dedicated&lt;br /&gt;
springrts-engine-dedicated-dbg ~ springrts-engine-dedicated&lt;br /&gt;
springrts-engine-multithreaded ~ springrts-gamedata&lt;br /&gt;
springrts-engine-multithreaded-dbg ~ springrts-engine-multithreaded&lt;br /&gt;
springrts-engine-headless ~ springrts-gamedata&lt;br /&gt;
springrts-engine-headless-dbg ~ springrts-engine-headless&lt;br /&gt;
springrts-unitsync ~ springrts-gamedata&lt;br /&gt;
springrts-unitsync-dbg ~ springrts-unitsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;meta packages:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;springrts-engine ~ springrts-engine-default springrts-engine-multithreaded&lt;br /&gt;
springrts-engine-dbg ~ springrts-engine springrts-engine-default-dbg springrts-engine-multithreaded-dbg&lt;br /&gt;
springrts ~ springrts-engine unitsync&lt;br /&gt;
springrts-dbg ~ springrts springrts-engine-dbg unitsync-dbg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Source Distros ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
springrts [default -dedicated -headless multithreaded unitsync]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Development:Interface&amp;diff=573</id>
		<title>AI:Development:Interface</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AI:Development:Interface&amp;diff=573"/>
		<updated>2010-03-12T16:11:33Z</updated>

		<summary type="html">&lt;p&gt;Agon: Mono interface is in inactive development, lowercase some words&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== AI interfaces and wrappers ==&lt;br /&gt;
&lt;br /&gt;
==== Introduction ====&lt;br /&gt;
For an explanation of what AI interfaces and wrappers are,&lt;br /&gt;
have a look at the [[AI:Development:System|AI Interface system]] page.&lt;br /&gt;
&lt;br /&gt;
==== In active development ====&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AIInterface:C|C &amp;amp; C++ AI &#039;&#039;Interface&#039;&#039;]]&#039;&#039;&#039;         : &amp;lt;font color=&amp;quot;#AAAAAA&amp;quot;&amp;gt;~stable&amp;lt;/font&amp;gt;, basically just a stub plugin, forwarding the plain C AI Interface, do not use directly, but through a wrapper&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AIWrapper:LegacyCpp|Legacy C++ AI Wrapper]]&#039;&#039;&#039;  : &amp;lt;font color=&amp;quot;#EE0000&amp;quot;&amp;gt;deprecated&amp;lt;/font&amp;gt;, ensures AIs written for springs old C++ AI interface can still be used&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AIWrapper:Cpp|New C++ AI Wrapper]]&#039;&#039;&#039;           : &amp;lt;font color=&amp;quot;#00AAFF&amp;quot;&amp;gt;alpha&amp;lt;/font&amp;gt;, allows writing C++ AIs using the new OO structure and all possibilities of the C Interface&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AIInterface:Java|Java AI &#039;&#039;Interface&#039;&#039;]]&#039;&#039;&#039;         : &amp;lt;font color=&amp;quot;#AAAAAA&amp;quot;&amp;gt;~stable&amp;lt;/font&amp;gt;, loads AIs written in any language supported by the JVM&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
; &#039;&#039;&#039;[[AIWrapper:ModularAI|ModularAI &#039;&#039;Wrapper&#039;&#039;]]&#039;&#039;&#039;         : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;beta&amp;lt;/font&amp;gt;, simplifies handling of Units and provides a lot of common functionality for Java AIs&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== In inactive development ====&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;[[AIInterface:Mono|Mono AI &#039;&#039;Interface&#039;&#039;]]&#039;&#039;&#039;         : &amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;beta&amp;lt;/font&amp;gt;, will support loading AIs written in a &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Common_Language_Infrastructure CLI]&#039;&#039;&#039; language&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[AIs|&amp;lt;- Back to AI page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI]]&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=GSoC_New_map_format&amp;diff=7767</id>
		<title>GSoC New map format</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=GSoC_New_map_format&amp;diff=7767"/>
		<updated>2010-03-11T22:56:26Z</updated>

		<summary type="html">&lt;p&gt;Agon: GSoC New map format page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GSoC idea: A new map format. =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Spring has at the moment two map formats. SM2 which is used mostly but old and requires a lot of storage. SM3 is newer but still isn&#039;t perfect and doesn&#039;t have brand new technologies included, like most new commercial map formats have.&lt;br /&gt;
&lt;br /&gt;
== Required skills ==&lt;br /&gt;
* C++&lt;br /&gt;
* OpenGL&lt;br /&gt;
&lt;br /&gt;
== Difficulty ==&lt;br /&gt;
Estimated: medium to hard&lt;br /&gt;
&lt;br /&gt;
* Design a new map format, communicate with the community&lt;br /&gt;
* Implement a first draft&lt;br /&gt;
* Extend the draft until the map format is playable&lt;br /&gt;
* Add visual improvements to the map format &lt;br /&gt;
&lt;br /&gt;
== Possible Mentor(s) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=61&amp;amp;t=21910 FORUMLINK]&lt;br /&gt;
&lt;br /&gt;
[[Google_Summer_of_Code_2010]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code_2010&amp;diff=9613</id>
		<title>Google Summer of Code 2010</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code_2010&amp;diff=9613"/>
		<updated>2010-03-11T22:50:42Z</updated>

		<summary type="html">&lt;p&gt;Agon: GSoC New map format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:GSOC.png]]&lt;br /&gt;
&lt;br /&gt;
= Project proposals =&lt;br /&gt;
&lt;br /&gt;
This is the list of project ideas for students willing to work on the Spring engine during the Google Summer of Code 2010.&lt;br /&gt;
&lt;br /&gt;
== New map format ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium to hard&lt;br /&gt;
&lt;br /&gt;
Spring has at the moment two map formats. SM2 which is used mostly but old and requires a lot of storage. SM3 is newer but still isn&#039;t perfect and doesn&#039;t have brand new technologies included, like most new commercial map formats have.&lt;br /&gt;
&lt;br /&gt;
The goal of this proposal would be a map format that doesn&#039;t consist of a giant texture layered on top of a basic height mesh, but something smarter. Look at e.g. DOW2 for inspiration. Not supporting heightmap deformation is acceptable, provided the pros outweigh the cons.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_New_map_format]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== An IDE for Spring game developing ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
At the moment Spring as a game engine project has no dedicated IDE for developing Spring games which would allow easier developing of Spring games.&lt;br /&gt;
A new IDE or plugins/addins for an existing IDE like Eclipse would lower the barrier for new developers. Speeding up the developing process and managing the huge amount of files which come with most games would allow developers to focus more on the content than on organization.&lt;br /&gt;
&lt;br /&gt;
The IDE should handle most of the typical Spring files like Lua files, textures and models. A few templates for project startups and Spring file types should be created.&lt;br /&gt;
Syntax highlighting, auto-completion (including Spring functions) and text snippets for Lua should be included in the IDE. A texture and model editor which can export/import and modify simple options would be nice, too.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Spring_IDE]]&lt;br /&gt;
&lt;br /&gt;
== Limited play area ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
Current spring map formats have an harcoded rectangle geometry, also they provide very limited support for defining aestetics of the surrounding environment outside the play area.&lt;br /&gt;
&lt;br /&gt;
The new system should allow the map to restrict the playable area to a subset of the global area, possibly adding support for multiple shapes and/or non rectangular shape restrictions.&lt;br /&gt;
&lt;br /&gt;
The restriction shapes should be readable and changeable mid-game trough the engine&#039;s Lua API. Proper handling of units which are suddenly off-map needs to be implemented.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Limited_play_area]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sensor handling redesign / simplification ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
Currently there are a number of different &amp;quot;sensor&amp;quot; systems in the engine: LineOfSight, Radar, Sonar, Seismic. Some can be jammed, some can not. Some respect terrain, and some are always circular.&lt;br /&gt;
&lt;br /&gt;
A new sensor system should integrate the current LOS, Radar, Sonar, Seismic systems, to reduce amount of code per functionality, and eventually add additional features wich would be then available for all types.&lt;br /&gt;
&lt;br /&gt;
Preferably this all should also be faster than the current system, or a compelling argument/experiment should be made that shows there can not be a faster system with the same features.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Sensor_handling_redesign]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engine level abstraction of resources ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium to hard&lt;br /&gt;
&lt;br /&gt;
The Spring engine has it&#039;s roots in being a Total Annihilation clone; even if such intent has been dropped since quite some time, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places.&lt;br /&gt;
&lt;br /&gt;
The old system needs to be replaced, the new one should be enough flexible to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.&lt;br /&gt;
&lt;br /&gt;
The engine&#039;s Lua API to fetch resources will have to be adapted to the new system, and new calls will have to be added to edit it.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Engine_resource_abstraction]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic ingame lobby ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
All existing Spring interfaces (lobbies) are either difficult to customize for game developers or have a different look &#039;n feel from the game itself and require focus switch from the game itself to operate.&lt;br /&gt;
&lt;br /&gt;
A new, Lua scriptable lobby should be implemented with customization and control in the mind, possibly integrated with spring codebase and/or running as a separate process overlaying to the game&#039;s UI.&lt;br /&gt;
&lt;br /&gt;
Optionally, the engine&#039;s start screen should be replaced and integrated with it.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Ingame_lobby]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Smarter pathfinder ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s pathfinder uses a 2d grid and is somewhat limited in functionality.&lt;br /&gt;
A partial/full rewrite should be introduced to add support for navigating using more than 8 primary directions and selectively ignore certain unit types for performance reasons.&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s Lua API should be extended to allow game developers to push new nodes/links and be able to alter or delete existing ones. (for pathfinder-aware tunnels/teleporting/etc.)&lt;br /&gt;
&lt;br /&gt;
Preferably this all should also be faster then the current system, or a compelling argument/experiment should be made that shows there can not be a faster system with the same features.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Smarter_pathfinder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More AI interfaces ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
The Spring engine&#039;s AI interface supports bindings for multiple languages, currently legacy C++, C and java are supported.&lt;br /&gt;
&lt;br /&gt;
Bindings for more languages and/or virtual machines should be added to allow broader AI developing audience (for example: Ruby, Perl, JavaScript, Python, D, Go, Mono, LLVM, Parrot).&lt;br /&gt;
&lt;br /&gt;
[[GSoC_More_AI_interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New Rendering System ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: below medium&lt;br /&gt;
&lt;br /&gt;
The Spring rendering engine uses a lot of FFP (fixed function pipeline) OpenGL functions. This model is becoming deprecated and is generally slower than shader usage and less flexible.&lt;br /&gt;
&lt;br /&gt;
The rendering code should get a complete overhaul using modern graphic programming techniques such as shaders, implement load support for more standardized model formats (backwards compatibility with current available formats is mandatory either trough direct load or automatic conversion to the new types) and eventually introduce some graphic enhancing features (bump mapping, normal mapping, multitexturing, etc.)&lt;br /&gt;
&lt;br /&gt;
OpenGL ES 2.0 compatibility should be aimed at where possible.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_New_rendering_system]]&lt;br /&gt;
&lt;br /&gt;
== Reconnect / Host change during a match ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium to hard&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s network model implies the existance of a server to host a battle. For various reasons the network link between host and clients can die, so a system should be designed to allow manual and/or automatic switching of the game&#039;s host (possibly using an existing player after testing load handling capabilities) and manual and/or automatic reconnection from client side if host remains the same.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Reconnect_Host_change]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=GSoC_Spring_IDE&amp;diff=7821</id>
		<title>GSoC Spring IDE</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=GSoC_Spring_IDE&amp;diff=7821"/>
		<updated>2010-03-11T22:37:23Z</updated>

		<summary type="html">&lt;p&gt;Agon: GSoC Spring IDE page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GSoC idea: An IDE for Spring game developing. =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
At the moment Spring as a game engine project has no dedicated IDE for developing Spring games which would allow easier developing of Spring games. A new IDE or plugins/addins for an existing IDE like Eclipse would lower the barrier for new developers. Speeding up the developing process and managing the huge amount of files which come with most games would allow developers to focus more on the content than on organization. &lt;br /&gt;
&lt;br /&gt;
== Required skills ==&lt;br /&gt;
* An understanding of Springs file types.&lt;br /&gt;
* A knowledge of a programming language or the language of the targeted IDE&lt;br /&gt;
&lt;br /&gt;
== Difficulty ==&lt;br /&gt;
Estimated: medium &lt;br /&gt;
&lt;br /&gt;
* Use an existing cross platform IDE (or create a new IDE)&lt;br /&gt;
* Add a plugin which handles common Spring file types&lt;br /&gt;
* A Lua plugin should handle syntax highlighting, auto-completion (including Spring functions) and text snippets&lt;br /&gt;
* A texture and mode editor (import/export/modify)&lt;br /&gt;
* Templates for projects and file types related to Spring&lt;br /&gt;
&lt;br /&gt;
== Possible Mentor(s) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://springrts.com/phpbb/viewtopic.php?f=61&amp;amp;t=22428 FORUMLINK]&lt;br /&gt;
&lt;br /&gt;
[[Google_Summer_of_Code_2010]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code_2010&amp;diff=9612</id>
		<title>Google Summer of Code 2010</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code_2010&amp;diff=9612"/>
		<updated>2010-03-11T22:30:09Z</updated>

		<summary type="html">&lt;p&gt;Agon: GSoC Spring IDE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:GSOC.png]]&lt;br /&gt;
&lt;br /&gt;
= Project proposals =&lt;br /&gt;
&lt;br /&gt;
This is the list of project ideas for students willing to work on the Spring engine during the Google Summer of Code 2010.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== An IDE for Spring game developing ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
At the moment Spring as a game engine project has no dedicated IDE for developing Spring games which would allow easier developing of Spring games.&lt;br /&gt;
A new IDE or plugins/addins for an existing IDE like Eclipse would lower the barrier for new developers. Speeding up the developing process and managing the huge amount of files which come with most games would allow developers to focus more on the content than on organization.&lt;br /&gt;
&lt;br /&gt;
The IDE should handle most of the typical Spring files like Lua files, textures and models. A few templates for project startups and Spring file types should be created.&lt;br /&gt;
Syntax highlighting, auto-completion (including Spring functions) and text snippets for Lua should be included in the IDE. A texture and model editor which can export/import and modify simple options would be nice, too.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Spring_IDE]]&lt;br /&gt;
&lt;br /&gt;
== Limited play area ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
Current spring map formats have an harcoded rectangle geometry, also they provide very limited support for defining aestetics of the surrounding environment outside the play area.&lt;br /&gt;
&lt;br /&gt;
The new system should allow the map to restrict the playable area to a subset of the global area, possibly adding support for multiple shapes and/or non rectangular shape restrictions.&lt;br /&gt;
&lt;br /&gt;
The restriction shapes should be readable and changeable mid-game trough the engine&#039;s Lua API. Proper handling of units which are suddenly off-map needs to be implemented.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Limited_play_area]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sensor handling redesign / simplification ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
Currently there are a number of different &amp;quot;sensor&amp;quot; systems in the engine: LineOfSight, Radar, Sonar, Seismic. Some can be jammed, some can not. Some respect terrain, and some are always circular.&lt;br /&gt;
&lt;br /&gt;
A new sensor system should integrate the current LOS, Radar, Sonar, Seismic systems, to reduce amount of code per functionality, and eventually add additional features wich would be then available for all types.&lt;br /&gt;
&lt;br /&gt;
Preferably this all should also be faster than the current system, or a compelling argument/experiment should be made that shows there can not be a faster system with the same features.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Sensor_handling_redesign]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engine level abstraction of resources ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium to hard&lt;br /&gt;
&lt;br /&gt;
The Spring engine has it&#039;s roots in being a Total Annihilation clone; even if such intent has been dropped since quite some time, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places.&lt;br /&gt;
&lt;br /&gt;
The old system needs to be replaced, the new one should be enough flexible to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.&lt;br /&gt;
&lt;br /&gt;
The engine&#039;s Lua API to fetch resources will have to be adapted to the new system, and new calls will have to be added to edit it.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Engine_resource_abstraction]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic ingame lobby ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
All existing Spring interfaces (lobbies) are either difficult to customize for game developers or have a different look &#039;n feel from the game itself and require focus switch from the game itself to operate.&lt;br /&gt;
&lt;br /&gt;
A new, Lua scriptable lobby should be implemented with customization and control in the mind, possibly integrated with spring codebase and/or running as a separate process overlaying to the game&#039;s UI.&lt;br /&gt;
&lt;br /&gt;
Optionally, the engine&#039;s start screen should be replaced and integrated with it.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Ingame_lobby]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Smarter pathfinder ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: hard&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s pathfinder uses a 2d grid and is somewhat limited in functionality.&lt;br /&gt;
A partial/full rewrite should be introduced to add support for navigating using more than 8 primary directions and selectively ignore certain unit types for performance reasons.&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s Lua API should be extended to allow game developers to push new nodes/links and be able to alter or delete existing ones. (for pathfinder-aware tunnels/teleporting/etc.)&lt;br /&gt;
&lt;br /&gt;
Preferably this all should also be faster then the current system, or a compelling argument/experiment should be made that shows there can not be a faster system with the same features.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Smarter_pathfinder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More AI interfaces ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium&lt;br /&gt;
&lt;br /&gt;
The Spring engine&#039;s AI interface supports bindings for multiple languages, currently legacy C++, C and java are supported.&lt;br /&gt;
&lt;br /&gt;
Bindings for more languages and/or virtual machines should be added to allow broader AI developing audience (for example: Ruby, Perl, JavaScript, Python, D, Go, Mono, LLVM, Parrot).&lt;br /&gt;
&lt;br /&gt;
[[GSoC_More_AI_interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New Rendering System ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: below medium&lt;br /&gt;
&lt;br /&gt;
The Spring rendering engine uses a lot of FFP (fixed function pipeline) OpenGL functions. This model is becoming deprecated and is generally slower than shader usage and less flexible.&lt;br /&gt;
&lt;br /&gt;
The rendering code should get a complete overhaul using modern graphic programming techniques such as shaders, implement load support for more standardized model formats (backwards compatibility with current available formats is mandatory either trough direct load or automatic conversion to the new types) and eventually introduce some graphic enhancing features (bump mapping, normal mapping, multitexturing, etc.)&lt;br /&gt;
&lt;br /&gt;
OpenGL ES 2.0 compatibility should be aimed at where possible.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_New_rendering_system]]&lt;br /&gt;
&lt;br /&gt;
== Reconnect / Host change during a match ==&lt;br /&gt;
&lt;br /&gt;
Estimated difficulty: medium to hard&lt;br /&gt;
&lt;br /&gt;
Spring&#039;s network model implies the existance of a server to host a battle. For various reasons the network link between host and clients can die, so a system should be designed to allow manual and/or automatic switching of the game&#039;s host (possibly using an existing player after testing load handling capabilities) and manual and/or automatic reconnection from client side if host remains the same.&lt;br /&gt;
&lt;br /&gt;
[[GSoC_Reconnect_Host_change]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17100</id>
		<title>SpringEngineTODO</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17100"/>
		<updated>2009-03-10T21:04:25Z</updated>

		<summary type="html">&lt;p&gt;Agon: format fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ideas which could improve Spring.&lt;br /&gt;
&lt;br /&gt;
* add general serializing to the engine, which touches the following:&lt;br /&gt;
** Implement saving/loading. There are a lot of direct LoadSave() functions in the game code, but the easier way would probably to finish the serialization in the class registration type interfaces (rts/System/creg), so everything can be serialized automatically. &lt;br /&gt;
*** Requires: C/C++&lt;br /&gt;
*** Time: ~3 months&lt;br /&gt;
*** Level of difficulty: medium - hard&lt;br /&gt;
** [[Syncing System|Implement re-sync]]. After a sync problem is detected, and a re-sync of the random seed does not fix it the game would pause and use the rsync to adjust game state (current plan if for float3 data) to resync. After using rsync on it should be able to continue normally until the next sync error is detected.&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
** Joining the game while it is running (probably need one of those 2 mentioned above: save/load or resync)&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
* Implement a general sensor system replacing the radars, as described in http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6105&lt;br /&gt;
** Requires: C/C++, 3D/2D math (Lua knowledge not required, but prefered)&lt;br /&gt;
** Time: ~2 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add a dynamic-lighting system: Allow units to have dynamic lights on them that affect lighting of other units and landscape, with sort of &amp;quot;approximating lights&amp;quot; for cases where a lot of units get close together. This is a big thing, but it would improve spring graphics a lot if done well. Or Deferred Lighting/Shading?&lt;br /&gt;
** Requires: C/C++, 3D math(, GLSL) (Lua knowledge not required, but prefered)&lt;br /&gt;
** Time: ~3 months&lt;br /&gt;
** Level of difficulty: Medium-hard &lt;br /&gt;
&lt;br /&gt;
* Get a mac version working. Contact the developers on the forums for this, as there are people who build and run it successfully. Still need proper packaging and maintaining,&lt;br /&gt;
** Requires: C/C++, CMake and MacOS&lt;br /&gt;
** Time: &amp;lt; 1 month&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Extending the resource system to allow more than two resources (metal/energy)&lt;br /&gt;
** Requires: C/C++ (Lua knowledge not required, but prefered)&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Easy-Medium&lt;br /&gt;
&lt;br /&gt;
* Expand Springs script abilities by adding new languages for mods/games, maps, player helpers (widgets).&lt;br /&gt;
** Requires: C/C++, CMake and another language&lt;br /&gt;
** Time: ~3&amp;lt; months (depends on the language/goal)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Exposing more Spring functions to the Lua world (command AIs, move types) or/and small frameworks&lt;br /&gt;
** Requires: basic C/C++, Lua&lt;br /&gt;
** Time: ~1-3&amp;lt; months (depends on the goal)&lt;br /&gt;
** Level of difficulty: Easy-medium&lt;br /&gt;
&lt;br /&gt;
* Implement MD5 as a model format or add other model formats.&lt;br /&gt;
** Requires: C/C++, 3D math (Lua knowledge not required, but prefered)&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix SM3 or develop a new mapping format&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add p2p/round-robin for hosting (so host exit doesn&#039;t stop the game)&lt;br /&gt;
** Requires: C/C++, network programming&lt;br /&gt;
** Time: ~3&amp;lt; months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Proper GUI for spring.exe with extended singleplayer abilities, better map/mod browsing, adding Bots (AIs), selecting start positions, choosing color, selecting map/mod options.&lt;br /&gt;
** Requires: C/C++, 3D math, GUI programming, OpenGL programming, Lua&lt;br /&gt;
** Time: ~1-3 moths (depends on the amount of functions)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix bugs, extend and improve functionality, etc.&lt;br /&gt;
&lt;br /&gt;
Even though this isn&#039;t really about the Spring engine:&lt;br /&gt;
&lt;br /&gt;
* SpringLobby is a cross-platform lobby client, implemented in C++ and wxWidgets. We encourage you to look into our todo list on http://springlobby.info and see what you could do for it.&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&lt;br /&gt;
* Create a Mission Development Kit: ie, do whatever it takes to make it easy to create campaign missions, eg create a gui tool that makes it easy to place units on the map, create triggers, and so on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17097</id>
		<title>SpringEngineTODO</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17097"/>
		<updated>2009-03-10T20:54:55Z</updated>

		<summary type="html">&lt;p&gt;Agon: format fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ideas which could improve Spring.&lt;br /&gt;
&lt;br /&gt;
* add general serializing to the engine, which touches the following:&lt;br /&gt;
** Implement saving/loading. There are a lot of direct LoadSave() functions in the game code, but the easier way would probably to finish the serialization in the class registration type interfaces (rts/System/creg), so everything can be serialized automatically. &lt;br /&gt;
*** Requires: C/C++&lt;br /&gt;
*** Time: ~3 months&lt;br /&gt;
*** Level of difficulty: medium - hard&lt;br /&gt;
&lt;br /&gt;
** [[Syncing System|Implement re-sync]]. After a sync problem is detected, and a re-sync of the random seed does not fix it the game would pause and use the rsync to adjust game state (current plan if for float3 data) to resync. After using rsync on it should be able to continue normally until the next sync error is detected.&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
** Joining the game while it is running (probably need one of those 2 mentioned above: save/load or resync)&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
* Implement a general sensor system replacing the radars, as described in http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6105&lt;br /&gt;
** Requires: C/C++, 3D/2D math&lt;br /&gt;
** Time: ~2 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add a dynamic-lighting system: Allow units to have dynamic lights on them that affect lighting of other units and landscape, with sort of &amp;quot;approximating lights&amp;quot; for cases where a lot of units get close together. This is a big thing, but it would improve spring graphics a lot if done well. Or Deferred Lighting/Shading?&lt;br /&gt;
** Requires: C/C++, 3D math(, GLSL)&lt;br /&gt;
** Time: ~3 months&lt;br /&gt;
** Level of difficulty: Medium-hard &lt;br /&gt;
&lt;br /&gt;
* Get a mac version working. Contact the developers on the forums for this, as there are people who build and run it successfully. Still need proper packaging and maintaining,&lt;br /&gt;
** Requires: C/C++, CMake and MacOS&lt;br /&gt;
** Time: -&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Extending the resource system to allow more than two resources (metal/energy)&lt;br /&gt;
** Requires: C/C++&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Easy-Medium&lt;br /&gt;
&lt;br /&gt;
* Expand Springs script abilities by adding new languages for mods/games, maps, player helpers (widgets).&lt;br /&gt;
** Requires: C/C++, CMake and another language&lt;br /&gt;
** Time: ~3&amp;lt; months (depends on the language/goal)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Exposing more Spring functions to the Lua world (command AIs, move types) or/and small frameworks&lt;br /&gt;
** Requires: basic C/C++, Lua&lt;br /&gt;
** Time: ~1-3&amp;lt; months (depends on the goal)&lt;br /&gt;
** Level of difficulty: Easy-medium&lt;br /&gt;
&lt;br /&gt;
* Implement MD5 as a model format or add other model formats.&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix SM3 or develop a new mapping format&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add p2p/round-robin for hosting (so host exit doesn&#039;t stop the game)&lt;br /&gt;
** Requires: C/C++, network programming&lt;br /&gt;
** Time: ~3&amp;lt; months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Proper GUI for spring.exe with extended singleplayer abilities, better map/mod browsing, adding Bots (AIs), selecting start positions, choosing color, selecting map/mod options.&lt;br /&gt;
** Requires: C/C++, 3D math, GUI programming, OpenGL programming&lt;br /&gt;
** Time: ~1-3 moths (depends on the amount of functions)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix bugs, extend and improve functionality, etc.&lt;br /&gt;
&lt;br /&gt;
Even though this isn&#039;t really about the Spring engine:&lt;br /&gt;
&lt;br /&gt;
* SpringLobby is a cross-platform lobby client, implemented in C++ and wxWidgets. We encourage you to look into our todo list on http://springlobby.info and see what you could do for it.&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&lt;br /&gt;
* Create a Mission Development Kit: ie, do whatever it takes to make it easy to create campaign missions, eg create a gui tool that makes it easy to place units on the map, create triggers, and so on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17096</id>
		<title>SpringEngineTODO</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17096"/>
		<updated>2009-03-10T20:54:07Z</updated>

		<summary type="html">&lt;p&gt;Agon: removed small ai framework idea&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ideas which could improve Spring.&lt;br /&gt;
&lt;br /&gt;
* add general serializing to the engine, which touches the following:&lt;br /&gt;
** Implement saving/loading. There are a lot of direct LoadSave() functions in the game code, but the easier way would probably to finish the serialization in the class registration type interfaces (rts/System/creg), so everything can be serialized automatically. &lt;br /&gt;
*** Requires: C/C++&lt;br /&gt;
*** Time: ~3 months&lt;br /&gt;
*** Level of difficulty: medium - hard&lt;br /&gt;
&lt;br /&gt;
** [[Syncing System|Implement re-sync]]. After a sync problem is detected, and a re-sync of the random seed does not fix it the game would pause and use the rsync to adjust game state (current plan if for float3 data) to resync. After using rsync on it should be able to continue normally until the next sync error is detected.&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
** Joining the game while it is running (probably need one of those 2 mentioned above: save/load or resync)&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
* Implement a general sensor system replacing the radars, as described in http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6105&lt;br /&gt;
** Requires: C/C++, 3D/2D math&lt;br /&gt;
** Time: ~2 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add a dynamic-lighting system: Allow units to have dynamic lights on them that affect lighting of other units and landscape, with sort of &amp;quot;approximating lights&amp;quot; for cases where a lot of units get close together. This is a big thing, but it would improve spring graphics a lot if done well. Or Deferred Lighting/Shading?&lt;br /&gt;
** Requires: C/C++, 3D math(, GLSL)&lt;br /&gt;
** Time: ~3 months&lt;br /&gt;
** Level of difficulty: Medium-hard &lt;br /&gt;
&lt;br /&gt;
* Get a mac version working. Contact the developers on the forums for this, as there are people who build and run it successfully. Still need proper packaging and maintaining,&lt;br /&gt;
** Requires: C/C++, CMake and MacOS&lt;br /&gt;
** Time: -&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Extending the resource system to allow more than two resources (metal/energy)&lt;br /&gt;
** Requires: C/C++&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Easy-Medium&lt;br /&gt;
&lt;br /&gt;
* Expand Springs script abilities by adding new languages for mods/games, maps, player helpers (widgets).&lt;br /&gt;
** Requires: C/C++, CMake and another language&lt;br /&gt;
** Time: ~3&amp;lt; months (depends on the language/goal)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Exposing more Spring functions to the Lua world (command AIs, move types) or/and small frameworks&lt;br /&gt;
** Requires: basic C/C++, Lua&lt;br /&gt;
** Time: ~1-3&amp;lt; months (depends on the goal)&lt;br /&gt;
** Level of difficulty: Easy-medium&lt;br /&gt;
&lt;br /&gt;
* Implement MD5 as a model format or add other model formats.&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
** Fix SM3 or develop a new mapping format&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add p2p/round-robin for hosting (so host exit doesn&#039;t stop the game)&lt;br /&gt;
** Requires: C/C++, network programming&lt;br /&gt;
** Time: ~3&amp;lt; months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Proper GUI for spring.exe with extended singleplayer abilities, better map/mod browsing, adding Bots (AIs), selecting start positions, choosing color, selecting map/mod options.&lt;br /&gt;
** Requires: C/C++, 3D math, GUI programming, OpenGL programming&lt;br /&gt;
** Time: ~1-3 moths (depends on the amount of functions)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix bugs, extend and improve functionality, etc.&lt;br /&gt;
&lt;br /&gt;
Even though this isn&#039;t really about the Spring engine:&lt;br /&gt;
&lt;br /&gt;
* SpringLobby is a cross-platform lobby client, implemented in C++ and wxWidgets. We encourage you to look into our todo list on http://springlobby.info and see what you could do for it.&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&lt;br /&gt;
* Create a Mission Development Kit: ie, do whatever it takes to make it easy to create campaign missions, eg create a gui tool that makes it easy to place units on the map, create triggers, and so on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17095</id>
		<title>SpringEngineTODO</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17095"/>
		<updated>2009-03-10T20:51:11Z</updated>

		<summary type="html">&lt;p&gt;Agon: requires knowledge, time, difficulty added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ideas which could improve Spring.&lt;br /&gt;
&lt;br /&gt;
* add general serializing to the engine, which touches the following:&lt;br /&gt;
** Implement saving/loading. There are a lot of direct LoadSave() functions in the game code, but the easier way would probably to finish the serialization in the class registration type interfaces (rts/System/creg), so everything can be serialized automatically. &lt;br /&gt;
*** Requires: C/C++&lt;br /&gt;
*** Time: ~3 months&lt;br /&gt;
*** Level of difficulty: medium - hard&lt;br /&gt;
&lt;br /&gt;
** [[Syncing System|Implement re-sync]]. After a sync problem is detected, and a re-sync of the random seed does not fix it the game would pause and use the rsync to adjust game state (current plan if for float3 data) to resync. After using rsync on it should be able to continue normally until the next sync error is detected.&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
** Joining the game while it is running (probably need one of those 2 mentioned above: save/load or resync)&lt;br /&gt;
*** Requires: C/C++, network programming&lt;br /&gt;
*** Time: ~3&amp;lt; months&lt;br /&gt;
*** Level of difficulty: Hard&lt;br /&gt;
&lt;br /&gt;
* Implement a general sensor system replacing the radars, as described in http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6105&lt;br /&gt;
** Requires: C/C++, 3D/2D math&lt;br /&gt;
** Time: ~2 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add a dynamic-lighting system: Allow units to have dynamic lights on them that affect lighting of other units and landscape, with sort of &amp;quot;approximating lights&amp;quot; for cases where a lot of units get close together. This is a big thing, but it would improve spring graphics a lot if done well. Or Deferred Lighting/Shading?&lt;br /&gt;
** Requires: C/C++, 3D math(, GLSL)&lt;br /&gt;
** Time: ~3 months&lt;br /&gt;
** Level of difficulty: Medium-hard &lt;br /&gt;
&lt;br /&gt;
* Get a mac version working. Contact the developers on the forums for this, as there are people who build and run it successfully. Still need proper packaging and maintaining,&lt;br /&gt;
** Requires: C/C++, CMake and MacOS&lt;br /&gt;
** Time: -&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Extending the resource system to allow more than two resources (metal/energy)&lt;br /&gt;
** Requires: C/C++&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Easy-Medium&lt;br /&gt;
&lt;br /&gt;
* Expand Springs script abilities by adding new languages for mods/games, maps, player helpers (widgets).&lt;br /&gt;
** Requires: C/C++, CMake and another language&lt;br /&gt;
** Time: ~3&amp;lt; months (depends on the language/goal)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Exposing more Spring functions to the Lua world (command AIs, move types) or/and small frameworks&lt;br /&gt;
** Requires: basic C/C++, Lua&lt;br /&gt;
** Time: ~1-3&amp;lt; months (depends on the goal)&lt;br /&gt;
** Level of difficulty: Easy-medium&lt;br /&gt;
&lt;br /&gt;
* Implement MD5 as a model format or add other model formats.&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
** Fix SM3 or develop a new mapping format&lt;br /&gt;
** Requires: C/C++, 3D math&lt;br /&gt;
** Time: ~1-3 months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Add p2p/round-robin for hosting (so host exit doesn&#039;t stop the game)&lt;br /&gt;
** Requires: C/C++, network programming&lt;br /&gt;
** Time: ~3&amp;lt; months&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Proper GUI for spring.exe with extended singleplayer abilities, better map/mod browsing, adding Bots (AIs), selecting start positions, choosing color, selecting map/mod options.&lt;br /&gt;
** Requires: C/C++, 3D math, GUI programming, OpenGL programming&lt;br /&gt;
** Time: ~1-3 moths (depends on the amount of functions)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
* Fix bugs, extend and improve functionality, etc.&lt;br /&gt;
&lt;br /&gt;
* Implement a small AI framework for general used functions like gathering nearest and best metal spots, detecting map type (land, land/water, water) or a unit group manager.&lt;br /&gt;
** Requires: C/C++, 3D/2D math&lt;br /&gt;
** Time: ~1-3&amp;lt; months (depends on the amount of functions)&lt;br /&gt;
** Level of difficulty: Medium&lt;br /&gt;
&lt;br /&gt;
Even though this isn&#039;t really about the Spring engine:&lt;br /&gt;
&lt;br /&gt;
* SpringLobby is a cross-platform lobby client, implemented in C++ and wxWidgets. We encourage you to look into our todo list on http://springlobby.info and see what you could do for it.&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&lt;br /&gt;
* Create a Mission Development Kit: ie, do whatever it takes to make it easy to create campaign missions, eg create a gui tool that makes it easy to place units on the map, create triggers, and so on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17091</id>
		<title>SpringEngineTODO</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SpringEngineTODO&amp;diff=17091"/>
		<updated>2009-03-09T20:14:57Z</updated>

		<summary type="html">&lt;p&gt;Agon: updated page + more ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ideas which could improve Spring.&lt;br /&gt;
&lt;br /&gt;
* Implement saving/loading. There are a lot of direct LoadSave() functions in the game code, but the easier way would probably to finish the serialization in the class registration type interfaces (rts/System/creg), so everything can be serialized automatically. &lt;br /&gt;
&lt;br /&gt;
* [[Syncing System|Implement re-sync]]. After a sync problem is detected, and a re-sync of the random seed does not fix it the game would pause and use the rsync to adjust game state (current plan if for float3 data) to resync. After using rsync on it should be able to continue normally until the next sync error is detected.&lt;br /&gt;
&lt;br /&gt;
* Implement a general sensor system replacing the radars, as described in http://taspring.clan-sy.com/phpbb/viewtopic.php?t=6105&lt;br /&gt;
&lt;br /&gt;
* Add a dynamic-lighting system: Allow units to have dynamic lights on them that affect lighting of other units and landscape, with sort of &amp;quot;approximating lights&amp;quot; for cases where a lot of units get close together. This is a big thing, but it would improve spring graphics a lot if done well. Or Deferred Lighting/Shading?&lt;br /&gt;
&lt;br /&gt;
* Get a mac version working. Contact the developers on the forums for this, as there are people looking into this already.&lt;br /&gt;
&lt;br /&gt;
* Extending the resource system to allow more than two resources (metal/energy)&lt;br /&gt;
&lt;br /&gt;
* Expand Springs script abilities by adding new languages or extending the available languages. Exposing more Spring functions to the Lua world (command AIs, move types).&lt;br /&gt;
&lt;br /&gt;
* Implement MD5 as a model format or add other model formats.&lt;br /&gt;
&lt;br /&gt;
* Extend SM3 (map format)&lt;br /&gt;
&lt;br /&gt;
* Add p2p/round-robin for hosting (so host exit doesn&#039;t stop the game)&lt;br /&gt;
&lt;br /&gt;
* Joining the game while it is running&lt;br /&gt;
&lt;br /&gt;
* Proper GUI for spring.exe with extended singleplayer abilities, better map/mod browsing, adding Bots (AIs), selecting start positions, choosing color, selecting map/mod options.&lt;br /&gt;
&lt;br /&gt;
* Implement a small AI framework for general used functions like gathering nearest and best metal spots, detecting map type (land, land/water, water) or a unit group manager.&lt;br /&gt;
&lt;br /&gt;
Even though this isn&#039;t really about the Spring engine:&lt;br /&gt;
&lt;br /&gt;
* SpringLobby is a cross-platform lobby client, implemented in C++ and wxWidgets. We encourage you to look into our todo list on http://springlobby.info and see what you could do for it.&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&lt;br /&gt;
* Create a Mission Development Kit: ie, do whatever it takes to make it easy to create campaign missions, eg create a gui tool that makes it easy to place units on the map, create triggers, and so on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Source development]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code&amp;diff=9545</id>
		<title>Google Summer of Code</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=Google_Summer_of_Code&amp;diff=9545"/>
		<updated>2009-03-09T19:37:02Z</updated>

		<summary type="html">&lt;p&gt;Agon: Initial add of gsoc information page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spring is a open source real time strategy (rts) engine for Windows/Linux.&lt;br /&gt;
[http://spring.clan-sy.com/wiki/About More information about Spring]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Possible projects for Google Summer of Code can be find in different locations.&lt;br /&gt;
&lt;br /&gt;
* [[SpringEngineTODO]]&lt;br /&gt;
* [http://spring.clan-sy.com/phpbb/viewtopic.php?f=12&amp;amp;t=17627 GSoC forum topic]&lt;br /&gt;
* You can also come up with your own ideas&lt;br /&gt;
&lt;br /&gt;
Please include the following in your proposal:&lt;br /&gt;
&lt;br /&gt;
# A detailed description or design document of your project proposal&lt;br /&gt;
# A approximate schedule/time-line&lt;br /&gt;
# A short list with descriptions of past projects that you have participated in&lt;br /&gt;
# Short introduction of yourself&lt;br /&gt;
# Contact information&lt;br /&gt;
&lt;br /&gt;
== Some selection criteria ==&lt;br /&gt;
* Proposals are longer than a few sentences&lt;br /&gt;
* The proposal is written in good and understandable English&lt;br /&gt;
&lt;br /&gt;
* The student knows the appropriate programming language(s)&lt;br /&gt;
* The student is familiar with the process of creating software&lt;br /&gt;
&lt;br /&gt;
The following are conditions that result in automatic rejection:&lt;br /&gt;
* Google has specified that groups are not allowed. Individuals only.&lt;br /&gt;
&lt;br /&gt;
= Contact list =&lt;br /&gt;
* [http://spring.clan-sy.com/phpbb/ Spring forum]&lt;br /&gt;
* IRC at Freenode in channel #taspring or at Quakenet in channel #sy&lt;br /&gt;
* On Springs lobby server in channel #sy&lt;br /&gt;
&lt;br /&gt;
Please read [http://code.google.com/soc/2009/faqs.html Google&#039;s Summer of Code FAQ] for more informations.&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=OpenSUSE_install&amp;diff=15191</id>
		<title>OpenSUSE install</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=OpenSUSE_install&amp;diff=15191"/>
		<updated>2009-02-18T12:48:31Z</updated>

		<summary type="html">&lt;p&gt;Agon: links to repo and wiki for opensuse&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of various packages for openSUSE and other distributions related to spring are located here:[http://download.opensuse.org/repositories/home:/accAgon/]&lt;br /&gt;
&lt;br /&gt;
openSUSE wiki for spring: [http://en.opensuse.org/Spring]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16714</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16714"/>
		<updated>2009-02-18T12:45:44Z</updated>

		<summary type="html">&lt;p&gt;Agon: added openSUSE to the list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Please click on your distribution to continue&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* http://img301.imageshack.us/img301/158/debiansmalluk0.jpg [[Debian_etch_install|Debian Etch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://img301.imageshack.us/img301/158/debiansmalluk0.jpg [[Debian_unstable_install|Debian Unstable]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://img383.imageshack.us/img383/2653/ubuntulogowq2.png [[Ubuntu_install| Ubuntu]] - updated 9/19/08&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://www.winehq.org/images/distro/slackware.png [[Slackware12_install|Slackware 12]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://img301.imageshack.us/img301/7263/gentoosmallsq9.jpg [[Gentoo_install|Gentoo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://upload.wikimedia.org/wikipedia/en/thumb/9/95/Mandriva_logo.png/96px-Mandriva_logo.png   [[Mandriva_install|Mandriva]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://files.opensuse.org/opensuse/en/2/2d/Opensuse_2.gif   [[openSUSE_install|openSUSE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Other_distros_install|Binary for Other Linux Systems]]&lt;br /&gt;
&lt;br /&gt;
* [[Build_from_source|Build From Source]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AIInterface:Mono&amp;diff=1153</id>
		<title>AIInterface:Mono</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AIInterface:Mono&amp;diff=1153"/>
		<updated>2009-02-15T14:32:18Z</updated>

		<summary type="html">&lt;p&gt;Agon: updated page to fit current status of the MonoAIInterface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AIInterface|Mono|Agon|v0.5 (local copy)|CLI languages|beta|LGPL v2.1+ and MIT}}&lt;br /&gt;
&lt;br /&gt;
=== Forum threads ===&lt;br /&gt;
*[http://spring.clan-sy.com/phpbb/viewtopic.php?f=15&amp;amp;t=16872 Mono AI Interface for Spring]&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
This AI interface is written in C and allows spring to load AIs written in a CLI compatible language. &lt;br /&gt;
&lt;br /&gt;
The source of this AI interface library can be found here: &#039;&#039;{spring_source}/AI/Interfaces/Mono/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Currently supported AIs ===&lt;br /&gt;
* MonoNullAI&lt;br /&gt;
* CSharpSampleAI&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
!NO PUBLIC CODE AVAILABLE YET!&lt;br /&gt;
&lt;br /&gt;
=== Known Crashes ===&lt;br /&gt;
* Description in AIInfo.lua does not fit to the AI.&lt;br /&gt;
&lt;br /&gt;
=== How to compile and install the interface ===&lt;br /&gt;
* Configure with: &amp;quot;cmake -i&amp;quot; or &amp;quot;cmake-gui&amp;quot;&lt;br /&gt;
* make (optional with -j&amp;lt;number for jobs&amp;gt;)&lt;br /&gt;
* make install (optional with -j&amp;lt;number for jobs&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Required software ===&lt;br /&gt;
* Mono 2.0&amp;lt;&lt;br /&gt;
* GLib2 (required for Mono)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[AIs|&amp;lt;- Back to AI page]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:AIInterface]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AIInterface:Mono&amp;diff=1152</id>
		<title>AIInterface:Mono</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=AIInterface:Mono&amp;diff=1152"/>
		<updated>2008-11-23T13:55:08Z</updated>

		<summary type="html">&lt;p&gt;Agon: initial version of MonoAIInterface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AIInterface|Mono|Agon|v0.1 (local copy)|Mono|pre alpha|GNU GPL v2+ and MIT}}&lt;br /&gt;
&lt;br /&gt;
=== Forum threads ===&lt;br /&gt;
*[http://spring.clan-sy.com/phpbb/viewtopic.php?f=15&amp;amp;t=16872 Mono AI Interface for Spring]&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
!NO CODE AVAILABLE YET!&lt;br /&gt;
&lt;br /&gt;
This AI interface is written in C and allows spring to load AIs written in a CLI compatible language. &lt;br /&gt;
These AIs consist of a &#039;&#039;.dll&#039;&#039; file, which contains at least one class with the name of the tag shortName described in a AIInfo.lua file.  &lt;br /&gt;
&lt;br /&gt;
The source of this AI interface library can be found here: &#039;&#039;{spring_source}/AI/Interfaces/Mono/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Currently supported AIs ===&lt;br /&gt;
!NO AIS SUPPORTED YET!&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
!NO CODE AVAILABLE YET!&lt;br /&gt;
&lt;br /&gt;
=== Known Crashes ===&lt;br /&gt;
*Wrong class name&lt;br /&gt;
&lt;br /&gt;
=== How to compile ===&lt;br /&gt;
C part:&lt;br /&gt;
* cmake&lt;br /&gt;
* make&lt;br /&gt;
&lt;br /&gt;
=== How to install/use ===&lt;br /&gt;
Additional software you need to have installed to be able to use CLI AIs:&lt;br /&gt;
* Mono &amp;gt;2.0&lt;br /&gt;
* GLib2 (required for Mono)&lt;br /&gt;
* AWK (for generating C# wrapper code)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[AIs|&amp;lt;- Back to AI page]]&#039;&#039;&#039;&lt;br /&gt;
[[Category:AIInterface]]&lt;/div&gt;</summary>
		<author><name>Agon</name></author>
	</entry>
</feed>