<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.armagetronad.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meriton</id>
	<title>Armagetron Advanced - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.armagetronad.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meriton"/>
	<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Special:Contributions/Meriton"/>
	<updated>2026-10-15T21:57:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=16378</id>
		<title>Camera Glance Keys</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=16378"/>
		<updated>2006-10-30T12:26:47Z</updated>

		<summary type="html">&lt;p&gt;Meriton: reflected minor change in control logic and reduced the size of headings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background:#ccc; border:1px solid black; margin:0.4em; padding:0.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; This page describes the behavior of 0.3.0. Previous releases used a slightly different system.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual Camera Control ==&lt;br /&gt;
&lt;br /&gt;
While the camera tries to show the areas of the grid that are most interesting to you, the camera can not always anticipate your wishes. Manual camera control permits you to adjust the perspective while playing to show the things that really matter.&lt;br /&gt;
&lt;br /&gt;
The keys for manual camera control can be configured in &lt;br /&gt;
&lt;br /&gt;
Main Menu/Player Setup/Player x Settings/Camera Input Configuration&lt;br /&gt;
&lt;br /&gt;
== What Is Glancing? ==&lt;br /&gt;
&lt;br /&gt;
Glancing is the most common form of custom camera control. It causes the camera to face towards a specific direction and is controlled by the four glance keys &amp;quot;glance forward&amp;quot;, &amp;quot;glance backward&amp;quot;, &amp;quot;glance left&amp;quot; and - you guessed it - &amp;quot;glance right&amp;quot;. Unless you changed them in the player options, the glance keys are the arrow keys.&lt;br /&gt;
&lt;br /&gt;
== Why Would I Want to Glance? ==&lt;br /&gt;
&lt;br /&gt;
Glad you asked ;-). Using glancing, you can look in any direction, regardless of where you are driving to. You can glance backwards to check whether someone (friend or foe) is grinding your wall. You can glance right to check whether you or the opponent is ahead. You can watch what happens at a fortress while driving by or watch its interior while circling it. &lt;br /&gt;
&lt;br /&gt;
The only disadvantage about glancing is that you might be so absorbed in the action around you that you forget to watch what might endanger your cycle ...&lt;br /&gt;
&lt;br /&gt;
== How Do I Glance? ==&lt;br /&gt;
&lt;br /&gt;
Glancing is activated by pressing a glance key and maintained by keeping any glance key pressed.&lt;br /&gt;
&lt;br /&gt;
For instance, pressing &amp;quot;glance left&amp;quot; for a while will show you the area left of your cycle until you release the key, upon which the automatic camera control takes over again.&lt;br /&gt;
&lt;br /&gt;
More precisely, when you press a glance key, you &amp;quot;load&amp;quot; that key with a request to face towards a specific direction, and while you keep pressing the key, the request will be acted upon (if you keep more than one glance key pressed, the most recently pressed one is active). &lt;br /&gt;
&lt;br /&gt;
The direction you request is the current view direction, snapped to the closest axis, rotated as specified by the glance key.&lt;br /&gt;
&lt;br /&gt;
Note that glancing is completly independent of the cycle&#039;s driving direction. Therefore, there is nothing wrong with glancing over extended periods of time.&lt;br /&gt;
&lt;br /&gt;
== How Can I Configure Glancing? ==&lt;br /&gt;
&lt;br /&gt;
Aside from adjusting the glance keys, glance behavior is controlled by the following options:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_GLANCE_ANGULAR_VELOCITY&lt;br /&gt;
:Controls how swiftly the camera rotates towards the requested facing. More precisely, this setting contains the angular velocity (if the camera&#039;s facing is perpendicular to the requested facing). Unit: Radians per second.&lt;br /&gt;
;CAMERA_GLANCE_MODE&lt;br /&gt;
:Controls how the camera rotates towards the requested facing. Possible values are:&lt;br /&gt;
:;0&lt;br /&gt;
::The camera aproaches the requested facing with constant angular velocity.&lt;br /&gt;
:;1&lt;br /&gt;
::The camera approaches the requested facing with angular velocity propotional to angle left to travel.&lt;br /&gt;
:;2&lt;br /&gt;
::The camera approaches the requested facing with constant angular velocity if the angle left is larger than 90°, otherwise with angular velocity proportional to sin(angle).&lt;br /&gt;
:;any other setting&lt;br /&gt;
::The camera always &amp;quot;jumps&amp;quot; instantly to its new position. Totally useless IMHO.&lt;br /&gt;
;CAMERA_GLANCE_ANGULAR_VELOCITY_BONUS&lt;br /&gt;
:Factor to CAMERA_GLANCE_ANGULAR_VELOCITY if CAMERA_GLANCE_MODE is set to 2 and the angle deft is larger than 90°&lt;br /&gt;
&lt;br /&gt;
Since the smart camera offers a (in the dev&#039;s humble opinion) poor perspective when glancing, its location is configurable independently:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_SMART_GLANCING_BACK&lt;br /&gt;
:How far the camera is moved behind the cycle when glancing&lt;br /&gt;
;CAMERA_SMART_GLANCING_HEIGHT&lt;br /&gt;
:How far the camera is moved up. There is no pitch setting, the cycle always appears in the centre of the screen&lt;br /&gt;
&lt;br /&gt;
Note that CAMERA_SMART_GLANCE_CUSTOM no longer exists. Those who prefer the old behavior are advised to use the preceeding options to simulate it.&lt;br /&gt;
&lt;br /&gt;
== Known Limitations ==&lt;br /&gt;
&lt;br /&gt;
Due to axis snapping, if the current view direction is right between two axis, the glance directions are unspecified. Most automatic modes rarely reach that point on their own, but may do so if glancing has just been recently deactivated. We haven&#039;t found an easy way around that (as axis snapping is very useful).&lt;br /&gt;
&lt;br /&gt;
[[Category:Camera]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16267</id>
		<title>Talk:SteveTaylor</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16267"/>
		<updated>2006-10-17T17:09:46Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Rematch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to join... hheheh Looking good lack...--[[User:2020|2020]] 11:13, 9 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Don&#039;t know if you guys saw, but Durka placed links for the 4 Team Fortress tourney everywhere. Well, there was one on the team page too, asking if we were interested, which I removed. Just a notice. --[[User:Madmax|Madmax]] 18:09, 29 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
== what we need to do better ==&lt;br /&gt;
&lt;br /&gt;
I just watched my recording from our semi final again. I think the chief reason for us losing were:&lt;br /&gt;
&lt;br /&gt;
- no coordination&lt;br /&gt;
- bad grind; they were always faster rsp. we split too late&lt;br /&gt;
- no team leader to change strategy on the fly (no one thought of a tactic to permit efficient attack and could cause that to happen)&lt;br /&gt;
- relieving a good goalie by a less good one when the _offense_ does not work&lt;br /&gt;
- stopping offense (that never works imho. but we could only have stopped taking risks in the offense and tried to split earlier to counter their speed advantage)&lt;br /&gt;
&lt;br /&gt;
=== Lessons ===&lt;br /&gt;
* We should practice before the tourney.&lt;br /&gt;
* We should assign responsibilities (offense coordinator, defense coordinator) prior to the match and not change them during it. (the executing person can change, of course).&lt;br /&gt;
* We should agree on tactical matters such as the function of a sweeper. There are two variants:&lt;br /&gt;
*# the sweeper must keep attackers away from the goalie. Only after he is dead can they get through&lt;br /&gt;
*# the sweeper should delay attackers until the goalie has set up, let them through in small doses, and squezze them against the goalie&#039;s wall to kill them (and be prepared to take half the zone if the goalie is cut)&lt;br /&gt;
* in my opinion, 2. is much better, as the attackers have to deal with two of us at once instead of one at a time.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 17:16, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Your thoughts?&lt;br /&gt;
&lt;br /&gt;
: I&#039;m not sure if you know what their defence looked like. They had SeBoL158 making a box where he overlapped his own tail a lot.  Newbie was sweeping (one of the best sweepers). In my opinion there is not much point in me cruising around their zone when there is virtually no chance to conquer it. I felt useless attacking so I suggested that we would try without attackers. About sweepers; the difference between the two variants is very small. It&#039;s impossible to stop a good attacker from reaching the defender, so the first variant will become the second one quite fast when the attackers are good. If you felt that you were doing a good job as a goalie (which you were in my opinion) you should have said so and not let Lackadaisical take over. Personally I don&#039;t think it&#039;s worth the hassle to set up trainings and assign responsibilities for just a couple of games, I just play because it&#039;s fun, don&#039;t care much about the results in the end. --[[User:MaZuffeR|MaZuffeR]] 18:23, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: I know what their defense looked like. I was there once, and watched the replay. Crusing around their zone has a point: It occupies both the goalie and the sweeper. If we don&#039;t attack, that very same skilled sweeper will dogfight close to our fortress, putting stress on our defense. But I think the main reason is that some attacking assigns clearer areas of responsibility. We&#039;d be less likely to have redundant defense walls or step on each other&#039;s toes. I am not saying the offense did a poor job; I agree their defense was very skilled. But all of us sweeping did not seem to work any better than the attacks we made in the beginning. [[User:Meriton|Meriton]] 19:46, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
::: The few rounds I had time to look, newbie was staying quite close to their zone until a few of us had died even if no one of us was attacking. I would of course have started attacking if I had noticed SeBoL158 being alone or our defence not having any problems with the attackers. I agree that everyone sweeping didn&#039;t work any better than me attacking, but we were losing and we had to change our tactic in some way. --[[User:MaZuffeR|MaZuffeR]] 07:56, 2 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: I think the difference between the two variants is important. I don&#039;t agree that variant 1 usually turns into variant 2. Just as often, the sweeper takes risks and dies. I agree I should not have let lacka take over.&lt;br /&gt;
&lt;br /&gt;
:: You did not say anything about the grind/split. Was my impression of too little speed/too late a break correct? [[User:Meriton|Meriton]] 19:46, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
::: From what I rememeber the grind/split was fine, not great, but fine. In my opinion we did not lose the match because of bad grinding or splitting too late. I can&#039;t remember them ever reaching our zone before you had set up, which should be enough to win matches. --[[User:MaZuffeR|MaZuffeR]] 07:56, 2 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
: Actually I did ask for change of tactic but it&#039;s hard to give commands when you are playing the game at the same time. I think if one of the wings double grinded (the one without the def on their side) and the other split soon, we could&#039;ve overtook them on one side and attack their base fast, hopefully before sebol has set up his def. Holers did a good job their first match against pronoobz because they could disrupt sebols def by either overtaking the wings or do a center attack. Another thing we could&#039;ve done was torpedo sebol, but we would still need to make sure newbie was dead and a torpedo is risky when you only have five people on a team since you need three people to make sure it works. The reason i wanted to take def was because i saw people get into the def because you had a gap, but it&#039;s true i did a worse job. Personally I&#039;d rather had someone mimicing sebols def on our side. &lt;br /&gt;
: We could&#039;ve done with more preparation before the match, and i already had the idea but i was too late (just a few minutes before the first match would start) to set things up properly. About practice, how about i try and arrange a &#039;revenge&#039; match with pronoobz? Who would be up for that? --[[User:Lackadaisical|Lackadaisical]] 19:01, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: My defense speciality is sumo defense, so that&#039;s what I tried to do. That defense works just as well (actually I think it&#039;s better) if executed right, but requires a different separation of roles than endless spinning à la sebol. Alas, we had never before talked about that, otherwise, the defense would have worked a lot better. I acknowledge that my defense was not perfect, and in the 5 rounds before you took over, I lost 2 rounds to cut attacks. I lost 1 rounds in a tight fight against two opponents and 1 due to the misunderstanding where Lack killed me and himself. The round we won was when only 3 opponents and I were left and I killed all 3. But the analysis shows that the offense had a problem, not the defense. (In most rounds, I failed after you all died). So wanting defense was premature IMHO, and me granting it was out of a wrong sense of politeness. Anyway, I think we have learned from this what we can.&lt;br /&gt;
&lt;br /&gt;
:: A revenge match sounds interesting. [[User:Meriton|Meriton]] 19:46, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: I try to take part in a revenge match if you can arrange one at a suitable time (I&#039;m away next weekend). Hopefully I&#039;ll have a better day than yesterday when/if this happens. --[[User:MaZuffeR|MaZuffeR]] 07:56, 2 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
::: I&#039;m up for that match. Best time for me is around 9/10PM GMT on pretty much any day (as long as it&#039;s settled with time). --[[User:Madmax|Madmax]] 06:27, 3 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
::::I PM&#039;d newbie and we agreed on &#039;&#039;&#039;17 october 8pm GMT&#039;&#039;&#039;, I hope that&#039;s not too early for you max, newbie thought 9pm might be a bit too late for some of his people. I informed Blackbird about it who didn&#039;t know if (s)he was available yet. --[[User:Lackadaisical|Lackadaisical]] 17:59, 8 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rematch===&lt;br /&gt;
Ok, I hope everyone has seen my previous message, because the match is tonight. I&#039;m gonna try to be on irc at least an hour before the match starts, and then switch around to see if i can catch newbie on the grid to see where we are gonna play. I&#039;m guessing this will be at LOD since ady has admin there so we can keep other people out. Hope to see you all on irc too so we can talk about the strategies etc. (#armagetron at freenode) --[[User:Lackadaisical|Lackadaisical]] 05:08, 17 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Ok, cu there [[User:Meriton|Meriton]] 12:09, 17 October 2006 (CDT)&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16182</id>
		<title>Ladle Feedback</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16182"/>
		<updated>2006-10-02T17:08:42Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Feedback for the Fourth Ladle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle-4}}&lt;br /&gt;
&lt;br /&gt;
Please write your comments below about your experience of the event. You can also add comments about how it could be better... This information may be useful for anyone who tries to do such a thing again... We have to discuss stuff so that decisions made...&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Fourth Ladle ==&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 02.31, 29 September 2006 (CDT)&lt;br /&gt;
:Haven&#039;t started, one day to go, and the preparation, redesigning of wiki, simplifying procedure, hasn&#039;t increased the numbers of participants. My impression is, a lot of good players just want to turn up on the night and play. They don&#039;t want to plan, organise or anything. Kind of like anarchists, which is why maybe Anarchic Wanderers seemed to work. As for lack of clan presence, I think there are only two clans this time, that may be because I didn&#039;t advertise, but that is a bit of a lame excuse. So... although I hope we have a few good games tomorrow, I don&#039;t think it is going to run very smoothly. This is through no no fault of the system, nor even the players because that is just what they do. The idea of designing a system which is flexible enough to deal with no preparation on the part of the players... hmmm...&lt;br /&gt;
:I think all that is required is that you have just one person on the team organised enough to stick down names etc. On the night, it just depends who turns up. But if they don&#039;t use IRC, this could be very tricky indeed. Still, with the brackets set, it might just work...&lt;br /&gt;
:Finally, it doesn&#039;t take a month to organise this. It should if there are a lot of players and a lot of activity in the challenge board, teams meeting up and practicing and so on. But Tronic Monkeys haven&#039;t had one game together, and I haven&#039;t got contact details for most of them... Most of the other teams seem more solid though. But a month? Not needed.&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 17.01, 1 October 2006 (CDT)&lt;br /&gt;
:Got kicked out of AST for some reason while recording the first match of the finals... pity we won&#039;t have a recording of the game... Tronic Monkeys were a bunch of monkeys, badly organised and not enough skill, so we lost in the quarters against WPN, the better team without a doubt. I saw and recorded most of Steve Taylor v proNoobz in the semi and that was some game. Impressive. Everything seemed to go proNoobz way on the breaks...&lt;br /&gt;
:Rounds are too short, at least not for the actual match, between the two quarters, one started on time, and the other about half an hour late. Mad and manta mentioned timing, and said it wasn&#039;t clear enough.&lt;br /&gt;
:Some players were very critical. Some get stressed. That&#039;s because some players are just not getting together on time, or people are trying to organise while playing... which is difficult to concentrate.&lt;br /&gt;
:On the whole, I think it demonstrates that people can self-organise. I mean, 6 teams playing matches in under three hours. That&#039;s not bad.&lt;br /&gt;
&lt;br /&gt;
; [[User:Meriton|Meriton]] 17.27, 1 October 2006 (CDT)&lt;br /&gt;
:IRC worked well to agree on servers IMHO. All in all, it was well organised (and definitely worked better than last time). The few areas for improvement:&lt;br /&gt;
: I think we need a rule to deal with incomplete teams: At the official start time of the match, WS had 3 players. We waited 20 minutes to start (they had 4 by that time). Even then, some actually suggested to wait an hour (!) for spidey to emerge. The actual match took less time than waiting for it ...&lt;br /&gt;
: The issue about many ordinary players joining a server while a match is in progress remains unresolved. It was particularly bad as WildWest in our first match. My instant chat that asked them to leave was used every couple of minutes. Less, though still annoying are spectators how persist in chatting while a match is going on. Even worse was the question about the current standing that was asked every few minutes. Please, if you want instant news, delegate one person to watch the game who announces intermediate results in IRC.&lt;br /&gt;
: I&#039;d like to play best of 5 to increase the proportion of playing with respect to waiting time.&lt;br /&gt;
&lt;br /&gt;
;[[User:Durka|Durka]] 17.30, 1 October 2006 (CDT)&lt;br /&gt;
:Well, [[We Pwn Noobs|WPN]] killed the [[Tronic Monkeys]] in the first round. Then, the second round started almost immediately. We should have gotten like a 15 minute break...my brain was fried. The second round we played against the [[Holers]]. They completely slaughtered us. They took every hole possible. [[User:Sasha|Sasha]] went thru our middle it seemed like every time. We never really got a rythm going. One of our clanmates (not to be named right now) got kicked out of the clan due to his behavior during the Ladle. All in all, it was much better organized than the previous Ladles. Great job 2020 once again!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alex ~~&#039;&#039;&#039;&lt;br /&gt;
:2020 - i asked you to leave while we were sorting out our teams but you didnt. i never kicked you though.&lt;br /&gt;
:if you want my full response, read the General forum.&lt;br /&gt;
::That&#039;s cool...I was there to record, that was all, and the reason i didn&#039;t answer was a) your teammates were asking for me to stay and b) if i responded i would have spoiled the recording... As it happened, an autoban occured for one reason or another, and I couldn&#039;t complete the recording of the first match or the second... sorry. it&#039;s a learning experience for us all --[[User:2020|2020]] 03:37, 2 October 2006 (CDT)&lt;br /&gt;
:::Just hit an instant chat key between every two rounds. You should be safe then, as nothing interesting is happening anyways.—[[User:Wrtlprnft|Wrtlprnft]] 09:04, 2 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
; [[User:Lackadaisical|Lackadaisical]] 1 October 2006 (CDT)&lt;br /&gt;
: I think it needs to be regulated what happens when one team has less players than the other. When SteveTaylor played against pronoobz we had one person on the sideline because they had one less so we could play 5v5, but when pronoobz played against Holers, holers insisted on playing with 7 people, which seems to have been a problem because well.. they only had five. In the end psyko and me subbed for pronoobz (which in hindsight i shouldn&#039;t have done because i was already on another team, but pressure was high and people seemed to get really stressed out because there wasn&#039;t any play.)&lt;br /&gt;
: And there was a consensus about the minimum members a team needs to show up with, which was five. I think the lack of someone who is harsh enough to dissapoint four people by disqualifying them hurts the way this &#039;rule&#039; is handled.&lt;br /&gt;
&lt;br /&gt;
; [[User:eggcozy|eggcozy]] 1 October 2006 (CDT)&lt;br /&gt;
: I strongly suggest we instate a rule allowing teams to play with any number of players up to the max number. No rules about team imbalance, no rules about teams having too few players. If we put the max at 8, there should be nothing to keep a team from fielding 8, even if the other team shows up with 6. In a soccer match, you don&#039;t lower the number of players down from 11 if the other team shows up with 9. It is the problem of the team if they can not get their players to show. I am sick of teams whining about the number of players who are on the other team whether it be too few or too many. My team should be able to play, even if we only have 3 or 4 players. Each team should have the freedom to play with however many players they want to play with, as long as it is not more than max. I sat out of our first match this tourney. There was talk of letting me in ... 2020 offered, then Garisimo, probably our best player left. This is just silly. It should not happen.&lt;br /&gt;
&lt;br /&gt;
:: The problem is that most competition servers have enforced team balancing enabled, and usually there is no admin at hand who could disable that on time. [[User:Meriton|Meriton]] 12:08, 2 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
; Luzifer 2 October 2006 (CDT)&lt;br /&gt;
: All in all, I liked the Ladle (it was my first one). But I agree with egg about a rule about what happens if one team shows up with less or more players than the other one. The suggestion from egg sounds good to me. About the communication: I think the main-problme was that most players didn&#039;t read the wiki and/or were on IRC. I read the wiki and when the Ladle started, I knew where I had to play and against which team. Except of one player (who didn&#039;t show up), our team was well informed.&lt;br /&gt;
&lt;br /&gt;
== Previous Feedback ==&lt;br /&gt;
&lt;br /&gt;
*[[Ladle-1/Feedback]]&lt;br /&gt;
*[[Ladle-2/Feedback]]&lt;br /&gt;
*[[Ladle-3/Feedback]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Debug_Recording&amp;diff=16181</id>
		<title>Debug Recording</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Debug_Recording&amp;diff=16181"/>
		<updated>2006-10-02T15:27:51Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it? ==&lt;br /&gt;
Armagetron Advanced 0.2.8+ has a feature to record a play session. This session can later be used by developers to find and squash bugs.&lt;br /&gt;
&lt;br /&gt;
== Creating a Debug Recording ==&lt;br /&gt;
&lt;br /&gt;
=== All Platforms ===&lt;br /&gt;
&lt;br /&gt;
Use your shell to pass some command line arguments to armagetron:&lt;br /&gt;
&lt;br /&gt;
To record: &amp;lt;code&amp;gt;armagetronad --record filename&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To playback: &amp;lt;code&amp;gt;armagetronad --playback filename [--fast-forward SECONDS]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;filename&amp;lt;/code&amp;gt; is the name of the file to be recorded to / played back.&lt;br /&gt;
&lt;br /&gt;
(On windows, you can issue shell commands by entering them in startmenu-&amp;gt;run. Remember to give the full path to armagetronad.exe if you do that.)&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
Use the helper application included with the game to start or playback an Armagetron Advanced recording. The application has a feature to compress a recording using bzip2 after Armagetron Advanced quits, so you can upload to the forums easily. It also will decompress a bzip2 or zip file for playback.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The beta release installer creates links in the start menu to record/playback to/from a file called recording.aarec that is located in the program directory.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Debug_Recording&amp;diff=16180</id>
		<title>Debug Recording</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Debug_Recording&amp;diff=16180"/>
		<updated>2006-10-02T15:27:04Z</updated>

		<summary type="html">&lt;p&gt;Meriton: command line arguments apply to all platforms / mention start menu links in windows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it? ==&lt;br /&gt;
Armagetron Advanced 0.2.8+ has a feature to record a play session. This session can later be used by developers to find and squash bugs.&lt;br /&gt;
&lt;br /&gt;
== Creating a Debug Recording ==&lt;br /&gt;
&lt;br /&gt;
=== All Platforms ===&lt;br /&gt;
&lt;br /&gt;
Use your shell to pass some command line arguments to armagetron:&lt;br /&gt;
To record: &amp;lt;code&amp;gt;armagetronad --record filename&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To playback: &amp;lt;code&amp;gt;armagetronad --playback filename [--fast-forward SECONDS]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where filename is the name of the file to be recorded to / played back.&lt;br /&gt;
&lt;br /&gt;
(On windows, you can issue shell commands by entering them in startmenu-&amp;gt;run. Remember to give the full path to armagetronad.exe if you do that.)&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
Use the helper application included with the game to start or playback an Armagetron Advanced recording. The application has a feature to compress a recording using bzip2 after Armagetron Advanced quits, so you can upload to the forums easily. It also will decompress a bzip2 or zip file for playback.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The beta release installer creates links in the start menu to record/playback to/from a file called recording.aarec that is located in the program directory.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16163</id>
		<title>Talk:SteveTaylor</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16163"/>
		<updated>2006-10-02T00:46:10Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* what we need to do better */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to join... hheheh Looking good lack...--[[User:2020|2020]] 11:13, 9 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Don&#039;t know if you guys saw, but Durka placed links for the 4 Team Fortress tourney everywhere. Well, there was one on the team page too, asking if we were interested, which I removed. Just a notice. --[[User:Madmax|Madmax]] 18:09, 29 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
== what we need to do better ==&lt;br /&gt;
&lt;br /&gt;
I just watched my recording from our semi final again. I think the chief reason for us losing were:&lt;br /&gt;
&lt;br /&gt;
- no coordination&lt;br /&gt;
- bad grind; they were always faster rsp. we split too late&lt;br /&gt;
- no team leader to change strategy on the fly (no one thought of a tactic to permit efficient attack and could cause that to happen)&lt;br /&gt;
- relieving a good goalie by a less good one when the _offense_ does not work&lt;br /&gt;
- stopping offense (that never works imho. but we could only have stopped taking risks in the offense and tried to split earlier to counter their speed advantage)&lt;br /&gt;
&lt;br /&gt;
=== Lessons ===&lt;br /&gt;
* We should practice before the tourney.&lt;br /&gt;
* We should assign responsibilities (offense coordinator, defense coordinator) prior to the match and not change them during it. (the executing person can change, of course).&lt;br /&gt;
* We should agree on tactical matters such as the function of a sweeper. There are two variants:&lt;br /&gt;
*# the sweeper must keep attackers away from the goalie. Only after he is dead can they get through&lt;br /&gt;
*# the sweeper should delay attackers until the goalie has set up, let them through in small doses, and squezze them against the goalie&#039;s wall to kill them (and be prepared to take half the zone if the goalie is cut)&lt;br /&gt;
* in my opinion, 2. is much better, as the attackers have to deal with two of us at once instead of one at a time.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 17:16, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Your thoughts?&lt;br /&gt;
&lt;br /&gt;
: I&#039;m not sure if you know what their defence looked like. They had SeBoL158 making a box where he overlapped his own tail a lot.  Newbie was sweeping (one of the best sweepers). In my opinion there is not much point in me cruising around their zone when there is virtually no chance to conquer it. I felt useless attacking so I suggested that we would try without attackers. About sweepers; the difference between the two variants is very small. It&#039;s impossible to stop a good attacker from reaching the defender, so the first variant will become the second one quite fast when the attackers are good. If you felt that you were doing a good job as a goalie (which you were in my opinion) you should have said so and not let Lackadaisical take over. Personally I don&#039;t think it&#039;s worth the hassle to set up trainings and assign responsibilities for just a couple of games, I just play because it&#039;s fun, don&#039;t care much about the results in the end. --[[User:MaZuffeR|MaZuffeR]] 18:23, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: I know what their defense looked like. I was there once, and watched the replay. Crusing around their zone has a point: It occupies both the goalie and the sweeper. If we don&#039;t attack, that very same skilled sweeper will dogfight close to our fortress, putting stress on our defense. But I think the main reason is that some attacking assigns clearer areas of responsibility. We&#039;d be less likely to have redundant defense walls or step on each other&#039;s toes. I am not saying the offense did a poor job; I agree their defense was very skilled. But all of us sweeping did not seem to work any better than the attacks we made in the beginning.&lt;br /&gt;
&lt;br /&gt;
:: I think the difference between the two variants is important. I don&#039;t agree that variant 1 usually turns into variant 2. Just as often, the sweeper takes risks and dies. I agree I should not have let lacka take over.&lt;br /&gt;
&lt;br /&gt;
:: You did not say anything about the grind/split. Was my impression of too little speed/too late a break correct? [[User:Meriton|Meriton]] 19:46, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
: Actually I did ask for change of tactic but it&#039;s hard to give commands when you are playing the game at the same time. I think if one of the wings double grinded (the one without the def on their side) and the other split soon, we could&#039;ve overtook them on one side and attack their base fast, hopefully before sebol has set up his def. Holers did a good job their first match against pronoobz because they could disrupt sebols def by either overtaking the wings or do a center attack. Another thing we could&#039;ve done was torpedo sebol, but we would still need to make sure newbie was dead and a torpedo is risky when you only have five people on a team since you need three people to make sure it works. The reason i wanted to take def was because i saw people get into the def because you had a gap, but it&#039;s true i did a worse job. Personally I&#039;d rather had someone mimicing sebols def on our side. &lt;br /&gt;
: We could&#039;ve done with more preparation before the match, and i already had the idea but i was too late (just a few minutes before the first match would start) to set things up properly. About practice, how about i try and arrange a &#039;revenge&#039; match with pronoobz? Who would be up for that? --[[User:Lackadaisical|Lackadaisical]] 19:01, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
:: My defense speciality is sumo defense, so that&#039;s what I tried to do. That defense works just as well (actually I think it&#039;s better) if executed right, but requires a different separation of roles than endless spinning à la sebol. Alas, we had never before talked about that, otherwise, the defense would have worked a lot better. I acknowledge that my defense was not perfect, and in the 5 rounds before you took over, I lost 2 rounds to cut attacks. I lost 1 rounds in a tight fight against two opponents and 1 due to the misunderstanding where Lack killed me and himself. The round we won was when only 3 opponents and I were left and I killed all 3. But the analysis shows that the offense had a problem, not the defense. (In most rounds, I failed after you all died). So wanting defense was premature IMHO, and me granting it was out of a wrong sense of politeness. Anyway, I think we have learned from this what we can.&lt;br /&gt;
&lt;br /&gt;
:: A revenge match sounds interesting. [[User:Meriton|Meriton]] 19:46, 1 October 2006 (CDT)&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16154</id>
		<title>Ladle Feedback</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16154"/>
		<updated>2006-10-01T22:28:18Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle-4}}&lt;br /&gt;
&lt;br /&gt;
Please write your comments below about your experience of the event. You can also add comments about how it could be better... This information may be useful for anyone who tries to do such a thing again... We have to discuss stuff so that decisions made...&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Fourth Ladle ==&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 02.31, 29 September 2006 (CDT)&lt;br /&gt;
:Haven&#039;t started, one day to go, and the preparation, redesigning of wiki, simplifying procedure, hasn&#039;t increased the numbers of participants. My impression is, a lot of good players just want to turn up on the night and play. They don&#039;t want to plan, organise or anything. Kind of like anarchists, which is why maybe Anarchic Wanderers seemed to work. As for lack of clan presence, I think there are only two clans this time, that may be because I didn&#039;t advertise, but that is a bit of a lame excuse. So... although I hope we have a few good games tomorrow, I don&#039;t think it is going to run very smoothly. This is through no no fault of the system, nor even the players because that is just what they do. The idea of designing a system which is flexible enough to deal with no preparation on the part of the players... hmmm...&lt;br /&gt;
:I think all that is required is that you have just one person on the team organised enough to stick down names etc. On the night, it just depends who turns up. But if they don&#039;t use IRC, this could be very tricky indeed. Still, with the brackets set, it might just work...&lt;br /&gt;
:Finally, it doesn&#039;t take a month to organise this. It should if there are a lot of players and a lot of activity in the challenge board, teams meeting up and practicing and so on. But Tronic Monkeys haven&#039;t had one game together, and I haven&#039;t got contact details for most of them... Most of the other teams seem more solid though. But a month? Not needed.&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 17.01, 1 October 2006 (CDT)&lt;br /&gt;
:Got kicked out of AST for some reason while recording the first match of the finals... pity we won&#039;t have a recording of the game... Tronic Monkeys were a bunch of monkeys, badly organised and not enough skill, so we lost in the quarters against WPN, the better team without a doubt. I saw and recorded most of Steve Taylor v proNoobz in the semi and that was some game. Impressive. Everything seemed to go proNoobz way on the breaks...&lt;br /&gt;
:Rounds are too short, at least not for the actual match, between the two quarters, one started on time, and the other about half an hour late. Mad and manta mentioned timing, and said it wasn&#039;t clear enough.&lt;br /&gt;
:Some players were very critical. Some get stressed. That&#039;s because some players are just not getting together on time, or people are trying to organise while playing... which is difficult to concentrate.&lt;br /&gt;
:On the whole, I think it demonstrates that people can self-organise. I mean, 6 teams playing matches in under three hours. That&#039;s not bad.&lt;br /&gt;
&lt;br /&gt;
; [[User:Meriton|Meriton]] 17.27, 1 October 2006 (CDT)&lt;br /&gt;
:IRC worked well to agree on servers IMHO. All in all, it was well organised (and definitely worked better than last time). The few areas for improvement:&lt;br /&gt;
: I think we need a rule to deal with incomplete teams: At the official start time of the match, WS had 3 players. We waited 20 minutes to start (they had 4 by that time). Even then, some actually suggested to wait an hour (!) for spidey to emerge. The actual match took less time than waiting for it ...&lt;br /&gt;
: The issue about many ordinary players joining a server while a match is in progress remains unresolved. It was particularly bad as WildWest in our first match. My instant chat that asked them to leave was used every couple of minutes. Less, though still annoying are spectators how persist in chatting while a match is going on. Even worse was the question about the current standing that was asked every few minutes. Please, if you want instant news, delegate one person to watch the game who announces intermediate results in IRC.&lt;br /&gt;
: I&#039;d like to play best of 5 to increase the proportion of playing with respect to waiting time.&lt;br /&gt;
&lt;br /&gt;
== Previous Feedback ==&lt;br /&gt;
&lt;br /&gt;
*[[Ladle-1/Feedback]]&lt;br /&gt;
*[[Ladle-2/Feedback]]&lt;br /&gt;
*[[Ladle-3/Feedback]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16153</id>
		<title>Ladle Feedback</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=16153"/>
		<updated>2006-10-01T22:27:50Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Feedback for the Fourth Ladle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle-4}}&lt;br /&gt;
&lt;br /&gt;
Please write your comments below about your experience of the event. You can also add comments about how it could be better... This information may be useful for anyone who tries to do such a thing again... We have to discuss stuff so that decisions made...&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Fourth Ladle ==&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 02.31, 29 September 2006 (CDT)&lt;br /&gt;
:Haven&#039;t started, one day to go, and the preparation, redesigning of wiki, simplifying procedure, hasn&#039;t increased the numbers of participants. My impression is, a lot of good players just want to turn up on the night and play. They don&#039;t want to plan, organise or anything. Kind of like anarchists, which is why maybe Anarchic Wanderers seemed to work. As for lack of clan presence, I think there are only two clans this time, that may be because I didn&#039;t advertise, but that is a bit of a lame excuse. So... although I hope we have a few good games tomorrow, I don&#039;t think it is going to run very smoothly. This is through no no fault of the system, nor even the players because that is just what they do. The idea of designing a system which is flexible enough to deal with no preparation on the part of the players... hmmm...&lt;br /&gt;
:I think all that is required is that you have just one person on the team organised enough to stick down names etc. On the night, it just depends who turns up. But if they don&#039;t use IRC, this could be very tricky indeed. Still, with the brackets set, it might just work...&lt;br /&gt;
:Finally, it doesn&#039;t take a month to organise this. It should if there are a lot of players and a lot of activity in the challenge board, teams meeting up and practicing and so on. But Tronic Monkeys haven&#039;t had one game together, and I haven&#039;t got contact details for most of them... Most of the other teams seem more solid though. But a month? Not needed.&lt;br /&gt;
&lt;br /&gt;
;[[User:2020|2020]] 17.01, 1 October 2006 (CDT)&lt;br /&gt;
:Got kicked out of AST for some reason while recording the first match of the finals... pity we won&#039;t have a recording of the game... Tronic Monkeys were a bunch of monkeys, badly organised and not enough skill, so we lost in the quarters against WPN, the better team without a doubt. I saw and recorded most of Steve Taylor v proNoobz in the semi and that was some game. Impressive. Everything seemed to go proNoobz way on the breaks...&lt;br /&gt;
:Rounds are too short, at least not for the actual match, between the two quarters, one started on time, and the other about half an hour late. Mad and manta mentioned timing, and said it wasn&#039;t clear enough.&lt;br /&gt;
:Some players were very critical. Some get stressed. That&#039;s because some players are just not getting together on time, or people are trying to organise while playing... which is difficult to concentrate.&lt;br /&gt;
:On the whole, I think it demonstrates that people can self-organise. I mean, 6 teams playing matches in under three hours. That&#039;s not bad.&lt;br /&gt;
&lt;br /&gt;
; [[User:Meriton|Meriton]] 17:27, 1 October 2006 (CDT)&lt;br /&gt;
:IRC worked well to agree on servers IMHO. All in all, it was well organised (and definitely worked better than last time). The few areas for improvement:&lt;br /&gt;
: I think we need a rule to deal with incomplete teams: At the official start time of the match, WS had 3 players. We waited 20 minutes to start (they had 4 by that time). Even then, some actually suggested to wait an hour (!) for spidey to emerge. The actual match took less time than waiting for it ...&lt;br /&gt;
: The issue about many ordinary players joining a server while a match is in progress remains unresolved. It was particularly bad as WildWest in our first match. My instant chat that asked them to leave was used every couple of minutes. Less, though still annoying are spectators how persist in chatting while a match is going on. Even worse was the question about the current standing that was asked every few minutes. Please, if you want instant news, delegate one person to watch the game who announces intermediate results in IRC.&lt;br /&gt;
: I&#039;d like to play best of 5 to increase the proportion of playing with respect to waiting time.&lt;br /&gt;
&lt;br /&gt;
== Previous Feedback ==&lt;br /&gt;
&lt;br /&gt;
*[[Ladle-1/Feedback]]&lt;br /&gt;
*[[Ladle-2/Feedback]]&lt;br /&gt;
*[[Ladle-3/Feedback]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16152</id>
		<title>Talk:SteveTaylor</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16152"/>
		<updated>2006-10-01T22:16:12Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* what we need to do better */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to join... hheheh Looking good lack...--[[User:2020|2020]] 11:13, 9 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Don&#039;t know if you guys saw, but Durka placed links for the 4 Team Fortress tourney everywhere. Well, there was one on the team page too, asking if we were interested, which I removed. Just a notice. --[[User:Madmax|Madmax]] 18:09, 29 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
== what we need to do better ==&lt;br /&gt;
&lt;br /&gt;
I just watched my recording from our semi final again. I think the chief reason for us losing were:&lt;br /&gt;
&lt;br /&gt;
- no coordination&lt;br /&gt;
- bad grind; they were always faster rsp. we split too late&lt;br /&gt;
- no team leader to change strategy on the fly (no one thought of a tactic to permit efficient attack and could cause that to happen)&lt;br /&gt;
- relieving a good goalie by a less good one when the _offense_ does not work&lt;br /&gt;
- stopping offense (that never works imho. but we could only have stopped taking risks in the offense and tried to split earlier to counter their speed advantage)&lt;br /&gt;
&lt;br /&gt;
=== Lessons ===&lt;br /&gt;
* We should practice before the tourney.&lt;br /&gt;
* We should assign responsibilities (offense coordinator, defense coordinator) prior to the match and not change them during it. (the executing person can change, of course).&lt;br /&gt;
* We should agree on tactical matters such as the function of a sweeper. There are two variants:&lt;br /&gt;
*# the sweeper must keep attackers away from the goalie. Only after he is dead can they get through&lt;br /&gt;
*# the sweeper should delay attackers until the goalie has set up, let them through in small doses, and squezze them against the goalie&#039;s wall to kill them (and be prepared to take half the zone if the goalie is cut)&lt;br /&gt;
* in my opinion, 2. is much better, as the attackers have to deal with two of us at once instead of one at a time.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 17:16, 1 October 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Your thoughts?&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16151</id>
		<title>Talk:SteveTaylor</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Talk:SteveTaylor&amp;diff=16151"/>
		<updated>2006-10-01T22:15:39Z</updated>

		<summary type="html">&lt;p&gt;Meriton: what we need to do better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to join... hheheh Looking good lack...--[[User:2020|2020]] 11:13, 9 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Don&#039;t know if you guys saw, but Durka placed links for the 4 Team Fortress tourney everywhere. Well, there was one on the team page too, asking if we were interested, which I removed. Just a notice. --[[User:Madmax|Madmax]] 18:09, 29 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
== what we need to do better ==&lt;br /&gt;
&lt;br /&gt;
I just watched my recording from our semi final again. I think the chief reason for us losing were:&lt;br /&gt;
&lt;br /&gt;
- no coordination&lt;br /&gt;
- bad grind; they were always faster rsp. we split too late&lt;br /&gt;
- no team leader to change strategy on the fly (no one thought of a tactic to permit efficient attack and could cause that to happen)&lt;br /&gt;
- relieving a good goalie by a less good one when the _offense_ does not work&lt;br /&gt;
- stopping offense (that never works imho. but we could only have stopped taking risks in the offense and tried to split earlier to counter their speed advantage)&lt;br /&gt;
&lt;br /&gt;
=== Lessons ===&lt;br /&gt;
* We should practice before the tourney.&lt;br /&gt;
* We should assign responsibilities (offense coordinator, defense coordinator) prior to the match and not change them during it. (the executing person can change, of course).&lt;br /&gt;
* We should agree on tactical matters such as the function of a sweeper. There are two variants:&lt;br /&gt;
*# the sweeper must keep attackers away from the goalie. Only after he is dead can they get through&lt;br /&gt;
*# the sweeper should delay attackers until the goalie has set up, let them through in small doses, and squezze them against the goalie&#039;s wall to kill them (and be prepared to take half the zone if the goalie is cut)&lt;br /&gt;
* in my opinion, 2. is much better, as the attackers have to deal with two of us at once instead of one at a time.&lt;br /&gt;
&lt;br /&gt;
Your thoughts?&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=SteveTaylor&amp;diff=16018</id>
		<title>SteveTaylor</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=SteveTaylor&amp;diff=16018"/>
		<updated>2006-09-24T19:57:41Z</updated>

		<summary type="html">&lt;p&gt;Meriton: added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Teamstevetaylor.gif|center|]]&lt;br /&gt;
&lt;br /&gt;
Hello! We are Steve Taylor and we would like to welcome you to our page dedicated to Steve Taylor. We are one of the offspring-teams of the [[Anarchic wanderers]], and are planning to combine new and experienced players to fight in the [[Ladle-4]]. The head of Steve Taylor, or captain if you may, is [[User:Lackadaisical|Lackadaisical]] (you might have heard of him from legends and tales as &#039;The AW vs SS match&#039; and &#039;Winning The Spoon without actually playing the finals&#039;). Currently we are still looking for people to join, so if you are interested to play in one the most notoire tournaments in Armagetron History, there is a chance you will find what you are looking for here at Steve Taylor!&lt;br /&gt;
&lt;br /&gt;
==News==&lt;br /&gt;
===Steve Taylor has been born===&lt;br /&gt;
Yes, you are seeing it right! The Anarchic wanderers has produced yet another spawn, and it will be playing in and training for the Ladle-4.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lackadaisical|Lackadaisical]] 11:07, 7 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Who are part of Steve Taylor?==&lt;br /&gt;
*Lackadaisical&lt;br /&gt;
*Blackbird&lt;br /&gt;
*JC&lt;br /&gt;
*madmax&lt;br /&gt;
*meriton&lt;br /&gt;
&lt;br /&gt;
==Applying==&lt;br /&gt;
If you want to apply, you just need to put your name down on either the list here or on the [[Ladle-4/Team_List|Ladle Team List]], or both. I&#039;ll try to make sure that the lists stay synchronized. Oh, one more thing, if you tend to not watch the wiki every single day like some of us do, just send [[User:Lackadaisical|Lack]] an email and he&#039;ll try to keep you updated through that.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
We could use the [[Talk:SteveTaylor|Talk Page]] for discussion/comments about stuff. If you have any general questions which might be usefull for others I suggest putting them on the FAQ and hopefully someone else (perhaps the head of Steve Taylor himself!) can answer them.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
;Who&#039;s this Steve Taylor dude?&lt;br /&gt;
:We are Steve Taylor.&lt;br /&gt;
&lt;br /&gt;
;Are you related to Charles Taylor(president of Liberia from 1997 to 2003)?&lt;br /&gt;
:No.&lt;br /&gt;
&lt;br /&gt;
;Are you my first grade teacher&#039;s husband?&lt;br /&gt;
:No.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle-4/Team_List&amp;diff=16017</id>
		<title>Ladle-4/Team List</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle-4/Team_List&amp;diff=16017"/>
		<updated>2006-09-24T19:56:48Z</updated>

		<summary type="html">&lt;p&gt;Meriton: added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle-4}}&lt;br /&gt;
&lt;br /&gt;
The Fourth Tronic Ladle will be played on Sunday 1st October with the finals at 9pm GMT (US: 5pm EDT, 3pm MDT, 4pm CDT, UK: 10pm BST, DE: 23:00 CEST).&lt;br /&gt;
&lt;br /&gt;
Form a team or add your name to one. The following list is provisional: actual players on the day may be different. It is merely a record of intention. Please indicate a Team-Captain. This is a very important role and requires reasonable responsibility -- choose carefully.&lt;br /&gt;
&lt;br /&gt;
== [[Tronic Monkeys]] (5 Players) ==&lt;br /&gt;
&lt;br /&gt;
*[[User:2020|2020]] (please check teampage...)&lt;br /&gt;
* rain&lt;br /&gt;
* n00b&lt;br /&gt;
* THE COOOL CAT -- HYYYYYYPHY LEOPARD&lt;br /&gt;
* Captain gArIsImO (uhahahahahah)&lt;br /&gt;
&lt;br /&gt;
== [[We Pwn Noobs|WPN]] (4 Players) ==&lt;br /&gt;
* [[User:Durka|Durka]]&lt;br /&gt;
* [[User:Legit|Legit]]&lt;br /&gt;
* [[User:Chuck|Chuck]] aka Betu&lt;br /&gt;
* G5&lt;br /&gt;
(more will sign up)&lt;br /&gt;
&lt;br /&gt;
== Abominable Snowmen (3 Players) ==&lt;br /&gt;
* [[User:Wrtlprnft|Wrtlprnft]] (captain for now, until someone else takes it)&lt;br /&gt;
* help im a bug&lt;br /&gt;
* ghableska&lt;br /&gt;
&lt;br /&gt;
== proN00bz ];) (5 Players) ==&lt;br /&gt;
* newbÎe (captain)&lt;br /&gt;
* ~*SP*~Slash&lt;br /&gt;
* Luzifer&lt;br /&gt;
* ~*LoD*~SlaYer&lt;br /&gt;
* ct|SeBoL158&lt;br /&gt;
&lt;br /&gt;
==[[SteveTaylor|Steve Taylor]] (4+1 Players)==&lt;br /&gt;
* [[User:Lackadaisical|Lackadaisical]] (capitán, open for sign ups, check our page)&lt;br /&gt;
* Blackbird&lt;br /&gt;
* JC (spare wheel, not really good player)&lt;br /&gt;
* madmax&lt;br /&gt;
* meriton&lt;br /&gt;
&lt;br /&gt;
==[[Holers]] (7 Players)==&lt;br /&gt;
* [[User:Sasha|Sasha]]&lt;br /&gt;
* Infamous (Ok you can be captain alex)&lt;br /&gt;
* &#039;&#039;&#039;~}{Alex}{~&#039;&#039;&#039; [Captain YAAYYYYYYYY :D]&lt;br /&gt;
* $ubzero [yes alex u will :D ]&lt;br /&gt;
* fr34ky! (if you want ;)/got asked by a guy in this team)&lt;br /&gt;
* HoAX&lt;br /&gt;
* cyclotron //should be captain tho ;}&lt;br /&gt;
&lt;br /&gt;
== [[Wraith Squadron]] (4 Players) ==&lt;br /&gt;
*kamakazi&lt;br /&gt;
*Manta&lt;br /&gt;
*Goodygumdrops&lt;br /&gt;
*AshitakA&lt;br /&gt;
New sign-ups welcome, please try to attend practice sessions.&lt;br /&gt;
&lt;br /&gt;
== Tronners in Pyjamas .[[TiP]] (2 Players) ==&lt;br /&gt;
* H.A.K (captain)&lt;br /&gt;
* Thunder&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has been suggested that one of the ways we can make the event more exciting is by experienced players starting up new teams. For example, [[anarchic wanderers]] players will each or in pairs, start up a new team. They will be responsible for recruiting new players, training them up, and presenting them at the next Tronic Ladle. Could be fun.&lt;br /&gt;
&lt;br /&gt;
{{Ladle-4}}&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Talk:Playing_Maps&amp;diff=15871</id>
		<title>Talk:Playing Maps</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Talk:Playing_Maps&amp;diff=15871"/>
		<updated>2006-09-17T11:02:07Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;place your map part&amp;quot; does not apply if the user wants to play an already existing map, which I reckon will be the default case (this page is also linked from the player documentation). I suggest to remove it from this page and direct those pages needing it to [[Testing Resources]] instead.&lt;br /&gt;
&lt;br /&gt;
Location of config items is also scattered across the wiki. Factor this out to a dedicated page?&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 06:02, 17 September 2006 (CDT)&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15840</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15840"/>
		<updated>2006-09-16T22:57:16Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Tell Armagetron to use it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
==== Resource directory ====&lt;br /&gt;
Resources that should be available to a &#039;&#039;specific&#039;&#039; user are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - &amp;lt;home&amp;gt;/.armagetronad/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /home/Joe/.armagetronad/resource&lt;br /&gt;
* Windows - &amp;lt;appdata&amp;gt;\Armagetron\resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: C:\Documents and Settings\Joe\Application Data\Armagetron\resource&lt;br /&gt;
* Mac OS X - &amp;lt;home&amp;gt;/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /Users/Joe/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Resources that should be available to &#039;&#039;all&#039;&#039; users of a computer are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - /usr/share/games/armagetronad/resource&lt;br /&gt;
* Windows - C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X - Armagetron Advanced.app/Contents/Resources/resource&lt;br /&gt;
&lt;br /&gt;
respectively&lt;br /&gt;
&lt;br /&gt;
* Linux — ~/.armagetronad/resource&lt;br /&gt;
* Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
==== Filename ====&lt;br /&gt;
&lt;br /&gt;
Inside the resource directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the configuration item&lt;br /&gt;
&lt;br /&gt;
* MAP_FILE (for maps)&lt;br /&gt;
* COCKPIT_FILE (for [[Cockpit Tutorial|cockpits]])&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
Configuration items can be set using the [[console]] or by editing a configuration file. The configuration file shared by all users on the computer is located at&lt;br /&gt;
&lt;br /&gt;
* Linux - /usr/etc/games/armagetronad/settings.cfg&lt;br /&gt;
* Windows - C:\Program Files\Armagetron Advanced\config\settings.cfg&lt;br /&gt;
* Mac OS X - Armagetron Advanced.app/Contents/Resources/settings.cfg&lt;br /&gt;
&lt;br /&gt;
or is it (FIXME)&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
Settings in this file may be overridden for a specific user in the file&lt;br /&gt;
&lt;br /&gt;
* Linux - &amp;lt;home&amp;gt;/.armagetronad/var/autoexec.cfg&lt;br /&gt;
* Windows - &amp;lt;appdata&amp;gt;\Armagetron\var\autoexec.cfg&lt;br /&gt;
* Mac OS X - &amp;lt;home&amp;gt;/Library/Application Support/Armagetron Advanced/autoexec.cfg&lt;br /&gt;
&lt;br /&gt;
You may have to create the override file since it is not created automatically.&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Cockpit_Tutorial&amp;diff=15839</id>
		<title>Cockpit Tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Cockpit_Tutorial&amp;diff=15839"/>
		<updated>2006-09-16T22:51:43Z</updated>

		<summary type="html">&lt;p&gt;Meriton: links for what to do after the file is written&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes canonically how to create a cockpit resource file.  Hopefully it&#039;ll be easy to read, too.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is only implemented in the 0.3 development snapshots, not in actual releases. For already existing projects see [[Cockpits list]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== A Cockpit&amp;amp;mdash;The Concept ==&lt;br /&gt;
&lt;br /&gt;
The cockpit is where you&#039;re sitting when you play the game.  There is the concept of a virtual cockpit which is implemented in the internal camera view, but we&#039;ll ignore that, for the most part.  Otherwise, the cockpit is where you&#039;re sitting and what you&#039;re using.&lt;br /&gt;
&lt;br /&gt;
A cockpit resource file provides the layout of some of the visual items you see while you&#039;re playing.  Traditionally, these were referred to as the HUD, and the HUD is still the main information that&#039;s carried in a cockpit file.&lt;br /&gt;
&lt;br /&gt;
In the resource file, gauges and other things have been abstracted to a Widget.  Each Widget is capable of displaying all of the information you&#039;re used to seeing, and is likely capable of displaying the same information in different formats...thanks to the cockpit resource file.&lt;br /&gt;
&lt;br /&gt;
== Overview of the Cockpit file ==&lt;br /&gt;
&lt;br /&gt;
The cockpit file consists of two sections.  Technically they&#039;re just one, but you don&#039;t really have to worry about that.  The two sections are pretty simple.  The first just hooks it into the resource system for the whole game, using tags and stuff you may already know from the map files.  The second section contains all the beautful cockpit stuff.&lt;br /&gt;
&lt;br /&gt;
In the Cockpit section you&#039;ll find a series of widget tags that contain data tags to hook the widget into some game data.  There&#039;s a caption, some position and size parameters, and so forth.  You can also specify background and foreground colors, with gradiants, and with graphics, to provide a really custom gauge.  Additionally, widgets can be associated with a camera, or made for all cameras, with the option of excluding specific cameras, offering the possibility to give a completely custom view for each camera you use.  All of this gets mixed together and rendered to screen as your cockpit.&lt;br /&gt;
&lt;br /&gt;
A complete gauge, in concept, isn&#039;t necessary a single widget in the cockpit file.  As an example, you might want to build a &amp;quot;Performance&amp;quot; gauge that includes ping, frames per second, cpu usage, overall system load, and bandwidth usage.  That would require placing several widgets together, stacked on top of each other or on each other&#039;s sides, to build the conceptual Performance gauge you intend.  Here, we&#039;ll use &amp;quot;gauge&amp;quot; to refer to a specific gauge and &amp;quot;widget&amp;quot; to refer to the larger conceptual gauge.  Most widgets that you&#039;ll build will just be gauges, so it&#039;s not a big deal.  (Note: At the time of writing, all of the data in the hypothetical Performance gauge isn&#039;t available to the cockpit, but the system is easily extensible and there&#039;s no reason to think it will never be available)&lt;br /&gt;
&lt;br /&gt;
Within each gauge there are a series of tags that are used to define what it looks like, what data it uses, and so forth.  The tags that are available vary from gauge to gauge, but the meaning of each tag never varies.  Two gauges that are diametrically opposite to each other might interpret the tag differently, but it will still mean the same thing for both gauges.  That&#039;s an important subtlety that you should keep in mind.&lt;br /&gt;
&lt;br /&gt;
== Construction of a Gauge ==&lt;br /&gt;
&lt;br /&gt;
Each gauge is a layered affair.  In technical terms, first the back of the gauge is painted.  Then the middle is painted on top of the back, and finally the front is painted on top of the middle.  This is intended to allow for complete configurability for each gauge.  The middle layer is always the representation of the data, whatever it is.  The back and front are equivalent in size and shape and are intended for window-dressing.  By painting a texture with alpha-blended pixels it should be possible to reshape parts of the gauge and give it a unique appearance.  Two gauges can be identical in all ways except which texture is used for the front and have very different appearances to the user.&lt;br /&gt;
&lt;br /&gt;
Gauges that are text-driven are generally constructed on a table.  While you don&#039;t have to use a table to build the gauge, the table allows you to organize it in rows and columns, which is the most useful way to organize data that you expect to read only in glances.&lt;br /&gt;
&lt;br /&gt;
Each gauge has to specify which piece of data it displays, along with related pieces of data, and how to display them.  This can vary dramatically!  As an example, on the old HUD, in the rubber gauge, you saw a needle with some text to show the amount of rubber currently used.  Then you had a minimum, which was 0, and a maximum, which varied from server to server.  In the new rubber gauge you&#039;ll choose an appropriate widget and tell it where to get its minimum, its maximum, and its current data.  Technically this is implemented with callbacks so that any data can be made available to be used by a gauge, even if it doesn&#039;t make sense to do so, and the callback name to use is what you&#039;ll give it in the cockpit file.  If that doesn&#039;t make sense to you, don&#039;t worry about it.  Just make sure to provide what&#039;s needed to show your gauge and be happy.&lt;br /&gt;
&lt;br /&gt;
Every gauge supports an attribute called &amp;quot;camera&amp;quot;.  The camera attribute allows you to specify for which camera the gauge will appear.  This in turn allows your cockpit to look/feel/be completely different depending on the user&#039;s camera.  The primary purpose is to allow the internal camera to actually appear like you&#039;re inside the light cycle while providing minimal HUDs for the other cameras, and it&#039;s this purpose from which the name &amp;quot;cockpit&amp;quot; is derived.  But you shouldn&#039;t let that block your creativity when you&#039;re creating your own nice cockpit. Possible cameras are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;custom&amp;lt;/code&amp;gt;&amp;amp;mdash;Custom camera&lt;br /&gt;
* &amp;lt;code&amp;gt;follow&amp;lt;/code&amp;gt;&amp;amp;mdash;Following camera (the one that follows the cycle, but doesn&#039;t turn by itself)&lt;br /&gt;
* &amp;lt;code&amp;gt;free&amp;lt;/code&amp;gt;&amp;amp;mdash;Free camera&lt;br /&gt;
* &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;&amp;amp;mdash;Incam and the autoincam of the smartacm if enabled&lt;br /&gt;
* &amp;lt;code&amp;gt;server_custom&amp;lt;/code&amp;gt;&amp;amp;mdash;Server&amp;amp;ndash;defined custom camera&lt;br /&gt;
* &amp;lt;code&amp;gt;smart&amp;lt;/code&amp;gt;&amp;amp;mdash;Smartcam, default camera&lt;br /&gt;
* &amp;lt;code&amp;gt;mer&amp;lt;/code&amp;gt;&amp;amp;mdash;The new mercam&lt;br /&gt;
* &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;amp;mdash;All cameras at once (default if you omit the attribute)&lt;br /&gt;
&lt;br /&gt;
The camera attribute can contain multiple cameras separated by spaces, if it starts with a &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt; the widget will appear in all cameras but the ones specified. Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;camera=&amp;quot;in&amp;quot;&amp;lt;/code&amp;gt;&amp;amp;mdash;Only show in incam mode&lt;br /&gt;
* &amp;lt;code&amp;gt;camera=&amp;quot;^in free&amp;quot;&amp;lt;/code&amp;gt;&amp;amp;mdash;Don&#039;t show in in&amp;amp;ndash; or freecam mode, but in everything else&lt;br /&gt;
* &amp;lt;code&amp;gt;camera=&amp;quot;^all&amp;quot;&amp;lt;/code&amp;gt;&amp;amp;mdash;Never show, kinda pointless.&lt;br /&gt;
&lt;br /&gt;
Finally all gauges support the &amp;lt;code&amp;gt;viewport&amp;lt;/code&amp;gt; attribute. Possible values are &amp;quot;top&amp;quot; and &amp;quot;all&amp;quot;, the latter being the default. &amp;quot;top&amp;quot; means that the widget will be rendered on top of the screen, &amp;quot;all&amp;quot; means it will be rendered for every player in multiplayer mode. Some data sources are only available in &amp;quot;all&amp;quot; mode, but you might not want a separate map for each player, so choose &amp;quot;top&amp;quot; then.&lt;br /&gt;
&lt;br /&gt;
== General Gauge Information ==&lt;br /&gt;
&lt;br /&gt;
Every gauge supports an interpretation of some tags that are needed for every gauge.  We&#039;ll discuss those here.&lt;br /&gt;
&lt;br /&gt;
=== Data Source ===&lt;br /&gt;
&lt;br /&gt;
The DataSet tag is a container that contains AtomicData tags.  It defines all of the data that will be used to construct the gauge and may contain from 1 to 3 AtomicData tags within it.  Here&#039;s an example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;DataSet&amp;gt;&lt;br /&gt;
        &amp;lt;AtomicData field=&amp;quot;source&amp;quot; source=&amp;quot;player_speed&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AtomicData field=&amp;quot;minimum&amp;quot; source=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;AtomicData field=&amp;quot;maximum&amp;quot; source=&amp;quot;max_speed&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, each AtomicData tag contains two attributes, field and source.  Field may be any of source, minimum, or maximum.  Source determines where the data will be retrieved.  If the contents of source match up with a known location of data, then that location will be called.  If not, then the contents of source will be the data.  This is easier to understand by just reading the snippet given, where &amp;quot;player_speed&amp;quot; will put the player&#039;s cycle&#039;s current speed in the field &amp;quot;source&amp;quot;, but it will just put &amp;quot;0&amp;quot; in the field &amp;quot;minimum&amp;quot;.  This snippet is a speed gauge, and you can easily visualize a needle with 0 on the left, &amp;quot;max_speed&amp;quot; on the right, and the player&#039;s current speed marked by the needle itself as on the old HUD.&lt;br /&gt;
&lt;br /&gt;
A DataSet can have an id associated with it that you can use to refer to it later for presentation.  This is most important in a Label.  Indeed, it&#039;s required in a Label but it doesn&#039;t really make sense in a NeedleGauge, does it?&lt;br /&gt;
&lt;br /&gt;
==== Possible contents for data sources ====&lt;br /&gt;
&lt;br /&gt;
===== Numbers =====&lt;br /&gt;
&lt;br /&gt;
Those can be whole numbers or fractions. Examples: &amp;lt;code&amp;gt;source=&amp;quot;42&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;source=&amp;quot;1.5&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Strings =====&lt;br /&gt;
&lt;br /&gt;
Any text, example: &amp;lt;code&amp;gt;source=&amp;quot;Hello World!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Configuration Items =====&lt;br /&gt;
&lt;br /&gt;
Any config items as you would type them on the console to get their value: &amp;lt;code&amp;gt;source=&amp;quot;CYCLE_RUBBER&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Special Values =====&lt;br /&gt;
&lt;br /&gt;
These values are replaced by actual data from the game. Here&#039;s a complete list of possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CSS code for the table taken from the German Wikipedia --&amp;gt;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! souce=&amp;quot;&amp;amp;hellip;&amp;quot;&lt;br /&gt;
! Content&lt;br /&gt;
|-&lt;br /&gt;
| player_rubber         || The rubber that&#039;s used for the player currently being watched. Ranges from 0 to CYCLE_RUBBER.&lt;br /&gt;
|-&lt;br /&gt;
| current_ping          || The ping time in milliseconds for the client.&lt;br /&gt;
|-&lt;br /&gt;
| player_speed          || The speed of the cycle currently being watched.&lt;br /&gt;
|-&lt;br /&gt;
| max_speed             || The theorethical maximum of the speed a cycle can reach according to the current settings.&lt;br /&gt;
|-&lt;br /&gt;
| player_brakes         || The amount of brakes left. Ranges from 0 to 1.&lt;br /&gt;
|-&lt;br /&gt;
| enemies_alive         || The number of enemies alive, from the view of the player the viewport belongs to.&lt;br /&gt;
|-&lt;br /&gt;
| friends_alive         || The number of teammates alive, from the view of the player the viewport belongs to.&lt;br /&gt;
|-&lt;br /&gt;
| current_framerate     || The current framerate in frames per second.&lt;br /&gt;
|-&lt;br /&gt;
| current_acceleration  || The current cycle acceleration in m/s^2.  Note, this is instantaneous acceleration, not average acceleration.&lt;br /&gt;
|-&lt;br /&gt;
| time_since_start      || The time the game is running in seconds.&lt;br /&gt;
|-&lt;br /&gt;
| current_minutes       || The time of the day in minutes.&lt;br /&gt;
|-&lt;br /&gt;
| current_hours         || The time of the day in hours.&lt;br /&gt;
|-&lt;br /&gt;
| current_hours12h      || The time of the day in hours (12- hour format).&lt;br /&gt;
|-&lt;br /&gt;
| current_seconds       || The time of the day in seconds.&lt;br /&gt;
|-&lt;br /&gt;
| current_score         || The score of the player the viewport belongs to.&lt;br /&gt;
|-&lt;br /&gt;
| top_score             || The highest score.&lt;br /&gt;
|-&lt;br /&gt;
| fastest_speed         || The speed of the fastest cycle.&lt;br /&gt;
|-&lt;br /&gt;
| fastest_name          || The name of the player that&#039;s fastest right now.&lt;br /&gt;
|-&lt;br /&gt;
| fastest_speed_round   || The speed of the fastest cycle during the whole round. This doesn&#039;t have to be the fastest cycle on the grid, it is just the hightest &amp;amp;ldquo;peak&amp;amp;rdquo;.&lt;br /&gt;
|-&lt;br /&gt;
| fastest_name_round    || The name of the player that reached the hightest speed during the round.&lt;br /&gt;
|-&lt;br /&gt;
| time_to_impact_front  || The approximate time it will take the cycle to reach a wall in front of it. This source is stupid, it has no prediction, so if it returns 3 seconds and someone drives in front of you in that time it will jump&lt;br /&gt;
|-&lt;br /&gt;
| time_to_impact_right  || Same as time_to_impact_front, but on the right side (if you were to turn in that direction without loss of speed)&lt;br /&gt;
|-&lt;br /&gt;
| time_to_impact_left   || Same as time_to_impact_front, but on the left side (if you were to turn in that direction without loss of speed)&lt;br /&gt;
|-&lt;br /&gt;
| current_song          || The filepath to the song that&#039;s currently played. Should be altered to display the title instead.&lt;br /&gt;
|-&lt;br /&gt;
| current_name          || The name of the player that&#039;s currently being watched&lt;br /&gt;
|-&lt;br /&gt;
| current_colored_name  || The name of the player that&#039;s currently being watched, in the correct color&lt;br /&gt;
|-&lt;br /&gt;
| current_pos_x         || The position of the player in grid units, x- coordinate&lt;br /&gt;
|-&lt;br /&gt;
| current_pos_y         || The position of the player in grid units, y- coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Position and Size ===&lt;br /&gt;
&lt;br /&gt;
Position and size are given by two tags, aptly &amp;quot;Position&amp;quot; and &amp;quot;Size&amp;quot;.  The point given by position represents the center of the gauge.  Don&#039;t forget this!  It&#039;s common for the position point of a widget to be the top left corner, but that is not the case.  Here, it&#039;s the center of the gauge.  An example says everything that needs to be said:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Position x=&amp;quot;-0.165&amp;quot; y=&amp;quot;-0.9&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Size height=&amp;quot;0.15&amp;quot; width=&amp;quot;0.15&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Positions and sizes are not in pixels, but in units of a special coordinate plane. The point at the bottom left is always (-1, -1) and the point at the bottom right is always (1, -1). So the x- coordinate always goes from -1 (left) to 1 (right).&lt;br /&gt;
&lt;br /&gt;
The y- coordinate is chosen in a way so x and y have the same scale. (-1, 1) would refer to the point that is (width of your screen) up from the bottom edge. Of course, for most screens this means this point is off the screen.&lt;br /&gt;
&lt;br /&gt;
This is an illustration of the coordinate system:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cockpit Coordinate System.png|illustration of the coordinate system]]&lt;br /&gt;
&lt;br /&gt;
=== Field Flags ===&lt;br /&gt;
&lt;br /&gt;
Besides determining where the data should come from for a given field it is also necessary to tell the gauge whether or not to show that field.  It&#039;s important to understand the distinction between using the data to draw the gauge and displaying the data on the gauge.  The canonical example is the brake gauge displayed as a bar.  In this example, minimum is always 0 and maximum is always 1, and current is always something in between.  In order to compute the size of the gauge for the purpose of drawing the bar, you must have AtomicData for all three fields as discussed above.  But you may not want to present that data.  Maybe you just want to see the bar and nothing else.  In that case, you need to deal with the field flags.  How to actually use them is best seen in an example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ShowCurrent value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ShowMaximum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ShowMinimum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reverse ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#039;s better to show a gauge the other way, ie the maximum on the left instead of on the right. This is how it&#039;s done:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Reverse value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Caption ===&lt;br /&gt;
&lt;br /&gt;
Every gauge can have a caption.  The caption need not be displayed.  Again, an example says everything that needs to be said:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;&amp;lt;Caption location=&amp;quot;bottom&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Text value=&amp;quot;Speed&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/Caption&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible locations are top, bottom, and off.  Location of &amp;quot;off&amp;quot; means the caption won&#039;t be displayed.&lt;br /&gt;
&lt;br /&gt;
=== Layers ===&lt;br /&gt;
&lt;br /&gt;
As previously discussed, each gauge is drawn with three layers.  So far we&#039;ve only talked about what is shown in the middle layer, the data layer.  That is the gauge itself.  In addition to the middle layer you have the background and foreground layers in which you can draw, and they are done with the aptly named Background and Foreground tags.  You can put textures, solid colors, and gradients, or just leave the tag out completely if you don&#039;t need it.  Here are some examples:&lt;br /&gt;
&lt;br /&gt;
* A solid foreground color, red, with no alpha transparency.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Foreground&amp;gt;&lt;br /&gt;
        &amp;lt;Solid&amp;gt;&lt;br /&gt;
            &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;1.&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Solid&amp;gt;&lt;br /&gt;
    &amp;lt;/Foreground&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A lightly transparent 3-color gradient.  The &amp;quot;at&amp;quot; parameter marks the borders between the colors and ranges from 0 to 1.  The orientation determines how the gradient will be drawn.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Foreground&amp;gt;&lt;br /&gt;
        &amp;lt;Gradient orientation=&amp;quot;horizontal&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;1.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;1.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;.5&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;1.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;0.8&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Gradient&amp;gt;&lt;br /&gt;
    &amp;lt;/Foreground&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: There are three different types of gradients, indicated by the orientation attribute. Possible values are &amp;quot;horizontal&amp;quot; and &amp;quot;vertical&amp;quot; which will make horizontal or vertical gradients. A special value is &amp;quot;value&amp;quot; which will result in a solid area which changes color according to the value of the displayed data. The color with at=&amp;quot;0&amp;quot; will be used at the minimum value and at=&amp;quot;1&amp;quot; will be used at the maximum.&lt;br /&gt;
&lt;br /&gt;
== Available Gauges ==&lt;br /&gt;
&lt;br /&gt;
Here are all of the available gauges, along with which tags are supported.&lt;br /&gt;
&lt;br /&gt;
=== NeedleGauge ===&lt;br /&gt;
&lt;br /&gt;
A needle gauge requires all three fields to exist in the DataSet tag.  It supports all general tags.  Here&#039;s an example speed gauge:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;NeedleGauge camera=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;source&amp;quot; source=&amp;quot;player_speed&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;minimum&amp;quot; source=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;maximum&amp;quot; source=&amp;quot;max_speed&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;Position x=&amp;quot;-0.165&amp;quot; y=&amp;quot;-0.9&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Size height=&amp;quot;0.15&amp;quot; width=&amp;quot;0.15&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowCurrent value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowMaximum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowMinimum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Caption location=&amp;quot;bottom&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Text value=&amp;quot;Speed&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/Caption&amp;gt;&lt;br /&gt;
            &amp;lt;Foreground&amp;gt;&lt;br /&gt;
                &amp;lt;Solid&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;1.&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/Solid&amp;gt;&lt;br /&gt;
            &amp;lt;/Foreground&amp;gt;&lt;br /&gt;
        &amp;lt;/NeedleGauge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BarGauge ===&lt;br /&gt;
&lt;br /&gt;
A bar gauge requires all three fields to exist in the DataSet tag.  It supports all general tags.  Here&#039;s an example rubber gauge:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;BarGauge camera=&amp;quot;^in&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;source&amp;quot; source=&amp;quot;player_rubber&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;minimum&amp;quot; source=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData field=&amp;quot;maximum&amp;quot; source=&amp;quot;cycle_rubber&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;Position x=&amp;quot;-0.55&amp;quot; y=&amp;quot;-0.9&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Size height=&amp;quot;0.05&amp;quot; width=&amp;quot;0.15&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowCurrent value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowMaximum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;ShowMinimum value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Caption location=&amp;quot;bottom&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Text value=&amp;quot;Rubber&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/Caption&amp;gt;&lt;br /&gt;
            &amp;lt;Background&amp;gt;&lt;br /&gt;
                &amp;lt;Gradient orientation=&amp;quot;value&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.0&amp;quot; at=&amp;quot;0.&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.1&amp;quot; at=&amp;quot;.3&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;1.&amp;quot; alpha=&amp;quot;.2&amp;quot; at=&amp;quot;.4&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;1.&amp;quot; alpha=&amp;quot;.2&amp;quot; at=&amp;quot;1.&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/Gradient&amp;gt;&lt;br /&gt;
            &amp;lt;/Background&amp;gt;&lt;br /&gt;
            &amp;lt;Foreground&amp;gt;&lt;br /&gt;
                &amp;lt;Gradient orientation=&amp;quot;value&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;0.&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;0.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;.3&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;1.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;.6&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;.8&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Color r=&amp;quot;1.&amp;quot; g=&amp;quot;0.&amp;quot; b=&amp;quot;0.&amp;quot; alpha=&amp;quot;.7&amp;quot; at=&amp;quot;1.&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/Gradient&amp;gt;&lt;br /&gt;
            &amp;lt;/Foreground&amp;gt;&lt;br /&gt;
        &amp;lt;/BarGauge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VerticalBarGauge ===&lt;br /&gt;
&lt;br /&gt;
Identical to a BarGauge, but renders vertically instead. Labels are currently broken for it, so don&#039;t use them yet.&lt;br /&gt;
&lt;br /&gt;
=== Label ===&lt;br /&gt;
&lt;br /&gt;
A label may have only one field in each DataSet tag and that field must be &amp;quot;source&amp;quot;.  It also requires each DataSet to have an id, which you will use to reference that data farther down.  It supports any number of DataSets.  In addition, you need a Face to describe how to build the Label.  Here&#039;s an example for the enemies alive gauge:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Label camera=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;DataSet id=&amp;quot;enemies&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;AtomicData field=&amp;quot;source&amp;quot; source=&amp;quot;enemies_alive&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
        &amp;lt;DataSet id=&amp;quot;friends&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;AtomicData field=&amp;quot;source&amp;quot; source=&amp;quot;friends_alive&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
        &amp;lt;Position x=&amp;quot;0.06&amp;quot; y=&amp;quot;-0.96&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Size height=&amp;quot;0.035&amp;quot; width=&amp;quot;0.017&amp;quot; /&amp;gt; &amp;lt;!-- Size would be the font size in this case --&amp;gt;&lt;br /&gt;
        &amp;lt;Caption location=&amp;quot;off&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Text value=&amp;quot;Player Status&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Caption&amp;gt;&lt;br /&gt;
        &amp;lt;Face&amp;gt;&lt;br /&gt;
            &amp;lt;Table&amp;gt;&lt;br /&gt;
                &amp;lt;Row&amp;gt;&lt;br /&gt;
                    &amp;lt;Cell&amp;gt;&amp;lt;Text value=&amp;quot;Enemies:&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;Cell&amp;gt;&amp;lt;GameData data=&amp;quot;enemies&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;Cell&amp;gt;&amp;lt;Text value=&amp;quot;Friends:&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;Cell&amp;gt;&amp;lt;GameData data=&amp;quot;friends&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                &amp;lt;/Row&amp;gt;&lt;br /&gt;
            &amp;lt;/Table&amp;gt;&lt;br /&gt;
        &amp;lt;/Face&amp;gt;&lt;br /&gt;
    &amp;lt;/Label&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tables ====&lt;br /&gt;
&lt;br /&gt;
A table is much like a basic HTML table: It consists of rows, coulumns, and cells. Each cell can contain multiple &amp;lt;Text&amp;gt; or &amp;lt;GameData&amp;gt; nodes, they will just be concatenated. Here&#039;s an example of a table that shows the time, the framerate, and how long Armagetron Advanced is running:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;       &amp;lt;Label camera=&amp;quot;*&amp;quot; viewport=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet id=&amp;quot;hours&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData source=&amp;quot;current_hours12h&amp;quot; minwidth=&amp;quot;2&amp;quot; fill=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet id=&amp;quot;minutes&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData source=&amp;quot;current_minutes&amp;quot; minwidth=&amp;quot;2&amp;quot; fill=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet id=&amp;quot;ampm&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Conditional field=&amp;quot;source&amp;quot; lvalue=&amp;quot;current_hours&amp;quot; rvalue=&amp;quot;12&amp;quot; operator=&amp;quot;le&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;IfTrue&amp;gt;&lt;br /&gt;
                        &amp;lt;AtomicData source=&amp;quot;AM&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/IfTrue&amp;gt;&lt;br /&gt;
                    &amp;lt;IfFalse&amp;gt;&lt;br /&gt;
                        &amp;lt;AtomicData source=&amp;quot;PM&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/IfFalse&amp;gt;&lt;br /&gt;
                &amp;lt;/Conditional&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet id=&amp;quot;fps&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData source=&amp;quot;current_framerate&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;DataSet id=&amp;quot;seconds&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;AtomicData source=&amp;quot;time_since_start&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/DataSet&amp;gt;&lt;br /&gt;
            &amp;lt;Position x=&amp;quot;0.4&amp;quot; y=&amp;quot;0.45&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Size height=&amp;quot;0.04&amp;quot; width=&amp;quot;0.02&amp;quot; /&amp;gt; &amp;lt;!-- Size would be the font size in this case --&amp;gt;&lt;br /&gt;
            &amp;lt;Caption location=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Text value=&amp;quot;Time/Fps/Timestamp&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/Caption&amp;gt;&lt;br /&gt;
            &amp;lt;Face&amp;gt;&lt;br /&gt;
                &amp;lt;Table&amp;gt;&lt;br /&gt;
                    &amp;lt;Row&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;Text value=&amp;quot;Time:&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;GameData data=&amp;quot;hours&amp;quot; /&amp;gt;&amp;lt;Text value=&amp;quot;:&amp;quot; /&amp;gt;&amp;lt;GameData data=&amp;quot;minutes&amp;quot; /&amp;gt;&amp;lt;Text value=&amp;quot; &amp;quot; /&amp;gt;&amp;lt;GameData data=&amp;quot;ampm&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;/Row&amp;gt;&lt;br /&gt;
                    &amp;lt;Row&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;Text value=&amp;quot;Framerate:&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;GameData data=&amp;quot;fps&amp;quot; /&amp;gt;&amp;lt;Text value=&amp;quot; FPS&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;/Row&amp;gt;&lt;br /&gt;
                    &amp;lt;Row&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;Text value=&amp;quot;Running for:&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                        &amp;lt;Cell&amp;gt;&amp;lt;GameData data=&amp;quot;seconds&amp;quot; /&amp;gt;&amp;lt;Text value=&amp;quot; Seconds&amp;quot; /&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;
                    &amp;lt;/Row&amp;gt;&lt;br /&gt;
                &amp;lt;/Table&amp;gt;&lt;br /&gt;
            &amp;lt;/Face&amp;gt;&lt;br /&gt;
        &amp;lt;/Label&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map ===&lt;br /&gt;
&lt;br /&gt;
The Map is a very special gauge that displays a map of the arena.  As a special gauge it has very special requirements.  It supports Position, and Size, nothing else.  Also, it will anchor its own aspect ratio, so it might not use the whole width or height you specified. The map will be as big as possible while keeping its aspect ratio and fitting in the width and height you specify.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Map camera=&amp;quot;*&amp;quot; viewport=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Position x=&amp;quot;0.73&amp;quot; y=&amp;quot;-0.72&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Size height=&amp;quot;0.25&amp;quot; width=&amp;quot;0.25&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Map&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gauge Templates ==&lt;br /&gt;
&lt;br /&gt;
Templates can be used for multiple similar gauges. Say you want three gauges for Brakes, Speed and rubber, they&#039;re all the same exept for position, caption and data.&lt;br /&gt;
&lt;br /&gt;
You could copy and paste the different attributes, but that leads to a larger file, and if you later decide you want your gauges smaller you&#039;d have to edit all three of them. That&#039;s where templates come in.&lt;br /&gt;
&lt;br /&gt;
This is how you define a template:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;WidgetTemplate id=&amp;quot;MyTemplate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;Size height=&amp;quot;0.3&amp;quot; width=&amp;quot;0.3&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Position y=&amp;quot;-.7&amp;quot; x=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;!-- other tags in here --&amp;gt;&lt;br /&gt;
 &amp;lt;/WidgetTemplate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; attribute is used to reference your template for later use. Inside a &amp;lt;code&amp;gt;&amp;lt;WidgetTemplate /&amp;gt;&amp;lt;/code&amp;gt; you can have all possible tags for widgets.&lt;br /&gt;
&lt;br /&gt;
This is how you use your template:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;NeedleGauge usetemplate=&amp;quot;MyTemplate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;Position x=&amp;quot;-.5&amp;quot; y=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;!-- other tags in here --&amp;gt;&lt;br /&gt;
 &amp;lt;/NeedleGauge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This internally gets replaced by the following:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;NeedleGauge&amp;gt;&lt;br /&gt;
     &amp;lt;Size height=&amp;quot;0.3&amp;quot; width=&amp;quot;0.3&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Position y=&amp;quot;-.7&amp;quot; x=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;!-- other tags in here --&amp;gt;&lt;br /&gt;
     &amp;lt;Position x=&amp;quot;-.5&amp;quot; y=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;!-- other tags in here --&amp;gt;&lt;br /&gt;
 &amp;lt;/NeedleGauge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See how there&#039;s two &amp;lt;code&amp;gt;&amp;lt;Position /&amp;gt;&amp;lt;/code&amp;gt; tags now? Since there&#039;s more than one tag they&#039;ll get added to each other, resulting in the widget being positioned at (-.5, -.7). &amp;lt;code&amp;gt;&amp;lt;Size /&amp;gt;&amp;lt;/code&amp;gt; tags will get multiplied, so you could scale a template. All other tags just overwrite each other, so the last one &amp;quot;wins&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can use multiple templates in one tag by seperating their names by spaces, like this: &amp;lt;code&amp;gt;&amp;lt;Label usetemplate=&amp;quot;MyTemplate MyOtherTemplate&amp;quot;&amp;gt;...&amp;lt;/Label&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Toggle Keys ==&lt;br /&gt;
&lt;br /&gt;
Are you annoyed by the HUD map being to small, but don&#039;t like a big map permanently cluttering up your screen? There&#039;s a solution, toggle keys. You can map the five available toggle keys in the global keybord configuration screen, and what they do depends entirely on the cockpit file.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of a HUD map that gets toggled by key 1 and is visible by default (that is, until you press the key and turn it off):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Map camera=&amp;quot;*&amp;quot; viewport=&amp;quot;top&amp;quot; toggle=&amp;quot;1&amp;quot; toggleSticky=&amp;quot;true&amp;quot; toggleDefault=&amp;quot;on&amp;quot; &amp;gt;&lt;br /&gt;
     &amp;lt;Position x=&amp;quot;0&amp;quot; y=&amp;quot;-.25&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Size height=&amp;quot;.75&amp;quot; width=&amp;quot;0.7&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/Map&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are three attributes that influence toggling behavior:&lt;br /&gt;
;toggle&lt;br /&gt;
:The toggle key to be used, needs to be a number from 1-5 or 0 for no toggle key (default if you omit it)&lt;br /&gt;
;toggleSticky&lt;br /&gt;
:If the value is &amp;quot;true&amp;quot; (default) pressing the key and releasing it will change the visibility. If it is false pressing the key and holding it will change the state, but it will return the default once you release it.&lt;br /&gt;
;toggleDefault&lt;br /&gt;
:&amp;quot;on&amp;quot; (default) means the widget will be visible until you press the toggle key, &amp;quot;off&amp;quot; means it will be invisible first.&lt;br /&gt;
&lt;br /&gt;
== For Server Admins ==&lt;br /&gt;
&lt;br /&gt;
There are many new kinds of gauges that might be considered as cheating by some people, or at least it gives a certain advantage to people who use them.&lt;br /&gt;
&lt;br /&gt;
If you want to disable certain data sources you can change the FORBID_COCKPIT_DATA setting. It contains a colon&amp;amp;ndash;separated list of data sources that will be disabled (it will just display 0 instead of a value):&lt;br /&gt;
&lt;br /&gt;
 FORBID_COCKPIT_DATA time_to_impact_front:time_to_impact_left:time_to_impact_right:player_rubber&lt;br /&gt;
&lt;br /&gt;
This will prevent the client from displaying the time_to_impact data sources and the current rubber. Likewise the HUD minimap can be disabled by the following command:&lt;br /&gt;
&lt;br /&gt;
 FORBID_HUD_MAP 1&lt;br /&gt;
&lt;br /&gt;
Bear in mind, though, that the server has no way of knowing if the client is actually following these rules. All data sources use data that is known to the client, it wouldn&#039;t be hard to hack a client to ignore this setting. This is basically the same problem as with the FORBID_CAMERA_* settings: You have to trust on the users of your servers to play fair.&lt;br /&gt;
&lt;br /&gt;
= QA and release =&lt;br /&gt;
&lt;br /&gt;
For testing your cockpit, see [[Testing Resources]]. You can make your work available to others by uploading it to the [[Resource repository]]. If you do that, you might want to add an entry to [[Cockpits list]] to tell users about your cockpit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client Features]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15838</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15838"/>
		<updated>2006-09-16T22:27:44Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Tell Armagetron to use it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
==== Resource directory ====&lt;br /&gt;
Resources that should be available to a &#039;&#039;specific&#039;&#039; user are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - &amp;lt;home&amp;gt;/.armagetronad/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /home/Joe/.armagetronad/resource&lt;br /&gt;
* Windows - &amp;lt;appdata&amp;gt;\Armagetron\resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: C:\Documents and Settings\Joe\Application Data\Armagetron\resource&lt;br /&gt;
* Mac OS X - &amp;lt;home&amp;gt;/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /Users/Joe/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Resources that should be available to &#039;&#039;all&#039;&#039; users of a computer are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - /usr/share/games/armagetronad/resource&lt;br /&gt;
* Windows - C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X - Armagetron Advanced.app/Contents/Resources/resource&lt;br /&gt;
&lt;br /&gt;
respectively&lt;br /&gt;
&lt;br /&gt;
* Linux — ~/.armagetronad/resource&lt;br /&gt;
* Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
==== Filename ====&lt;br /&gt;
&lt;br /&gt;
Inside the resource directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the configuration item&lt;br /&gt;
&lt;br /&gt;
* MAP_FILE (for maps)&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
Configuration items can be set using the [[console]] or by editing a configuration file. The configuration file shared by all users on the computer is located at&lt;br /&gt;
&lt;br /&gt;
* Linux - /usr/etc/games/armagetronad/settings.cfg&lt;br /&gt;
* Windows - C:\Program Files\Armagetron Advanced\config\settings.cfg&lt;br /&gt;
* Mac OS X - Armagetron Advanced.app/Contents/Resources/settings.cfg&lt;br /&gt;
&lt;br /&gt;
or is it (FIXME)&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
Settings in this file may be overridden for a specific user in the file&lt;br /&gt;
&lt;br /&gt;
* Linux - &amp;lt;home&amp;gt;/.armagetronad/var/autoexec.cfg&lt;br /&gt;
* Windows - &amp;lt;appdata&amp;gt;\Armagetron\var\autoexec.cfg&lt;br /&gt;
* Mac OS X - &amp;lt;home&amp;gt;/Library/Application Support/Armagetron Advanced/autoexec.cfg&lt;br /&gt;
&lt;br /&gt;
You may have to create the override file since it is not created automatically.&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15835</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15835"/>
		<updated>2006-09-16T22:13:05Z</updated>

		<summary type="html">&lt;p&gt;Meriton: added user resource directories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
==== Resource directory ====&lt;br /&gt;
Resources that should be available to a &#039;&#039;specific&#039;&#039; user are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - &amp;lt;home&amp;gt;/.armagetronad/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /home/Joe/.armagetronad/resource&lt;br /&gt;
* Windows - &amp;lt;appdata&amp;gt;\Armagetron\resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: C:\Documents and Settings\Joe\Application Data\Armagetron\resource&lt;br /&gt;
* Mac OS X - &amp;lt;home&amp;gt;/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
** &#039;&#039;Example&#039;&#039;: /Users/Joe/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Resources that should be available to &#039;&#039;all&#039;&#039; users of a computer are stored in&lt;br /&gt;
&lt;br /&gt;
* Linux - /usr/share/games/armagetronad/resource&lt;br /&gt;
* Windows - C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X - Armagetron Advanced.app/Contents/Resources/resource&lt;br /&gt;
&lt;br /&gt;
respectively&lt;br /&gt;
&lt;br /&gt;
* Linux — ~/.armagetronad/resource&lt;br /&gt;
* Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
* Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
==== Filename ====&lt;br /&gt;
&lt;br /&gt;
Inside the resource directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the configuration item&lt;br /&gt;
&lt;br /&gt;
* MAP_FILE (for maps)&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
You may want to set the configuration item permanently by editing &lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15832</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15832"/>
		<updated>2006-09-16T21:53:31Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Tell Armagetron to use it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
Resources are stored in&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/resource&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Inside this directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the configuration item&lt;br /&gt;
&lt;br /&gt;
* MAP_FILE (for maps)&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
You may want to set the configuration item permanently by editing &lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Making_Maps_for_Beginners&amp;diff=15831</id>
		<title>Making Maps for Beginners</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Making_Maps_for_Beginners&amp;diff=15831"/>
		<updated>2006-09-16T21:48:26Z</updated>

		<summary type="html">&lt;p&gt;Meriton: linked generic resource testing how to&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is going to teach you how to build custom maps for game play like the ones that the Crazy Tronners Wild Fortress uses.&lt;br /&gt;
&lt;br /&gt;
==What do I need to make a map==&lt;br /&gt;
===Text Editor===&lt;br /&gt;
&lt;br /&gt;
I used notepad but I found out that [http://www.pspad.com/ PSPad] was a lot better with handling codes&lt;br /&gt;
#[http://www.pnotepad.org/ Programmer&#039;s Notepad]  Open source, syntax highlighting for xml files.&lt;br /&gt;
#[http://www.pspad.com/ PSPad (Windows)]&lt;br /&gt;
#[http://sourceforge.net/projects/turbopad Turbopad (Windows, Linux)]&lt;br /&gt;
#[http://www.context.cx/  ConText (Windows)]&lt;br /&gt;
#[http://www.vim.org/  Vim (many operating systems)]&lt;br /&gt;
&lt;br /&gt;
===Optional Items===&lt;br /&gt;
You also may want [http://www.armagetron.de/armabell.html Armabell] but it is very buggy. You can design the map on [http://www.armagetron.de/armabell.html Armabell], but you will still need a text editor.&lt;br /&gt;
&lt;br /&gt;
Also you will need to read [http://armagetron.de/league.html here] to set up [http://www.armagetron.de/armabell.html Armabell]&lt;br /&gt;
&lt;br /&gt;
Also for ellipses and circles i use [http://generalconsumption.org/armagetron/ General Consumption]. You can also preview your maps there.&lt;br /&gt;
&lt;br /&gt;
==How to make a map==&lt;br /&gt;
Working on instructions.&lt;br /&gt;
===The basic code layout===&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;#60;!--this is a comment--&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;Resource type=&amp;quot;aamap&amp;quot; name=&amp;quot;name&amp;quot; version=&amp;quot;0.0.0&amp;quot; author=&amp;quot;author&amp;quot;&lt;br /&gt;
 category=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Map version=&amp;quot;0.2.8&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Settings&amp;gt;&lt;br /&gt;
   &amp;amp;#60;!--Your field setting goes here--&amp;gt;&lt;br /&gt;
  &amp;lt;/Settings&amp;gt;&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;This is the basic code structure to making a map.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This includes no content right now so if you were to load the map exactly as it is Armagetron Advanced will load in the default map and settings.&lt;br /&gt;
&lt;br /&gt;
===   Saving the map===&lt;br /&gt;
&lt;br /&gt;
====where are the maps i downloaded ====&lt;br /&gt;
*Windows Vista—C:\Users\Username\AppData\Roaming\Armagetron&lt;br /&gt;
*Windows XP—C:\Documents and settings\Username\Application Data\Armagetron&lt;br /&gt;
&lt;br /&gt;
====      Where do I need to save it====&lt;br /&gt;
*Linux — ~/.armagetronad/resource/&#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\resource\&#039;&#039;&#039;author&#039;&#039;&#039;\&#039;&#039;&#039;category&#039;&#039;&#039;&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource/&#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
in your code there are setting that you set and must mach up when you sove the code.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource type=&amp;quot;aamap&amp;quot; name=&amp;quot;name&amp;quot; version=&amp;quot;0.0.0&amp;quot; author=&amp;quot;&#039;&#039;&#039;author&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 category=&amp;quot;&#039;&#039;&#039;fortress&#039;&#039;&#039;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*in the &#039;&#039;&#039;author&#039;&#039;&#039; spot rememer to put the exact name of the author from the code.&lt;br /&gt;
*in the &#039;&#039;&#039;category&#039;&#039;&#039; spot rememer to put the exact name of the category from the code.&lt;br /&gt;
&lt;br /&gt;
====      What do I need to title it====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource type=&amp;quot;&#039;&#039;&#039;aamap&#039;&#039;&#039;&amp;quot; name=&amp;quot;&#039;&#039;&#039;name&#039;&#039;&#039;&amp;quot; version=&amp;quot;&#039;&#039;&#039;0.0.0&#039;&#039;&#039;&amp;quot; author=&amp;quot;author&amp;quot;&lt;br /&gt;
 category=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you simply save it as&lt;br /&gt;
&lt;br /&gt;
     &#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
for this one it would be&lt;br /&gt;
     name-0.0.0.aamap.xml&lt;br /&gt;
&lt;br /&gt;
===What do I need in my map===&lt;br /&gt;
====Settings====&lt;br /&gt;
All the setting they you may set will be shown on a separate page&lt;br /&gt;
&lt;br /&gt;
I am currently working on this secion&lt;br /&gt;
&lt;br /&gt;
Here is a complete list of [[Console Commands|Map settings]]&lt;br /&gt;
&lt;br /&gt;
====Axes====&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The number 4 represents the number of directions in which you can turn. 4 is the default value for this.&lt;br /&gt;
&lt;br /&gt;
====Spawn Points or Starting Position====&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;1100&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;300&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the spawn&lt;br /&gt;
*the x and y refers to the coordinates (x,y) where the team starts.&lt;br /&gt;
*the xdir and ydir tell what way that you are facing&lt;br /&gt;
**Instead of the xdir and ydir you can put in angle=&amp;quot;&#039;&#039;&#039;degrees&#039;&#039;&#039;&amp;quot; where &#039;&#039;&#039;degrees&#039;&#039;&#039; is in degrees starting from the positive x direction.&lt;br /&gt;
*Each spawn creates a new starting position&lt;br /&gt;
&lt;br /&gt;
Also, when you make levels that have just two spawn points, multiple cycles will be created at them in game if more then two people join. This can be useful when making team maps (such as ones for the CT Wild Server), as you only have to make two spawn points instead of 14&lt;br /&gt;
&lt;br /&gt;
====Walls====&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;1100&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;300&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;Wall&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;1400&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;1400&amp;quot; y=&amp;quot;1400&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;1400&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;/Wall&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the code for a wall surrounding the level, which prevents players from going on to infinity. Your level MUST have at least this type of wall, for it to be classified as a level.&lt;br /&gt;
&lt;br /&gt;
NOTE:If you want a square (four sided shape) you must specify 5 wall points. If you want a 6-sided shape, then you must specify 7 wall points.&lt;br /&gt;
&lt;br /&gt;
If you want to use Circles go to [http://generalconsumption.org/armagetron/ General Consumption]. That site also works good with any polygon you just need to declare you segments. you also may have to adjust the start and end angle for some maps&lt;br /&gt;
&lt;br /&gt;
====Zones====&lt;br /&gt;
&lt;br /&gt;
=====Fortress Zones=====&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;1100&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;700&amp;quot; y=&amp;quot;300&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;1400&amp;quot; y=&amp;quot;0&amp;quot;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;1400&amp;quot; y=&amp;quot;1400&amp;quot;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;1400&amp;quot;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;ShapeCircle radius=&amp;quot;20&amp;quot;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;700&amp;quot; y=&amp;quot;300&amp;quot; /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;/ShapeCircle&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;/Zone&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;ShapeCircle radius=&amp;quot;20&amp;quot;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;Point x=&amp;quot;700&amp;quot; y=&amp;quot;1100&amp;quot; /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;/ShapeCircle&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &#039;&#039;&#039;&amp;lt;/Zone&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above is the method of creating conquest zones for a fortress map. As well as these, you can also create deathzones and winzones:&lt;br /&gt;
&lt;br /&gt;
=====Deathzones=====&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;death&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;700&amp;quot; y=&amp;quot;700&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Winzone Code=====&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;win&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;700&amp;quot; y=&amp;quot;700&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to tamper with the zone effects, change the [[Console Commands|Map settings]]&lt;br /&gt;
&lt;br /&gt;
==What your final map code should look like==&lt;br /&gt;
&lt;br /&gt;
This section is about what your final coding should look like, so you can double check before you test your map.&lt;br /&gt;
&lt;br /&gt;
===Free-for-all===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;300&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This format will have two sets of opponants (even though it is still free-for-all) facing each other like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;****insert a pic Ed****&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The level stats are:&lt;br /&gt;
Size: 400×400&lt;br /&gt;
Axes:4&lt;br /&gt;
&lt;br /&gt;
===Fortress===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;300&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;20&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;20&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to Test your map==&lt;br /&gt;
See [[Testing Resources]].&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
This is a [[Console Commands|Map settings]] link to the page where we have set up a list of commands (or settings as they are more usually known) that you can add to your map to make it more effective&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following are examples of the codes and pictures of each of the &amp;lt;i&amp;gt;other&amp;lt;/i&amp;gt; two main types of maps&lt;br /&gt;
&lt;br /&gt;
===Free-for-all map with walls===&lt;br /&gt;
This is a map that is a free for all melee, but it has some neat obsicles that you may want to avoid, like the four triangles in the middle&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;50&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;200&amp;quot; y=&amp;quot;350&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;amp;#60;!--Your field layout goes here--&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;400&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;400&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;175&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;175&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;300&amp;quot; y=&amp;quot;175&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;175&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;300&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;225&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;225&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;175&amp;quot; y=&amp;quot;300&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;300&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;300&amp;quot; y=&amp;quot;225&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;225&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;225&amp;quot; y=&amp;quot;300&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fortress map with walls===&lt;br /&gt;
This is a map that incorporates two fortress zones per team, one of each teams is in the middle, forming a sumo. There are some walls and side entrances to allow some sneaky attacking and defending.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;World&amp;gt;&lt;br /&gt;
    &amp;lt;Field&amp;gt;&lt;br /&gt;
     &amp;lt;Axes number=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;102&amp;quot; y=&amp;quot;40&amp;quot;  xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Spawn x=&amp;quot;98&amp;quot;  y=&amp;quot;360&amp;quot; xdir=&amp;quot;0&amp;quot; ydir=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot;   y=&amp;quot;0&amp;quot;   /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;200&amp;quot; y=&amp;quot;0&amp;quot;   /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;200&amp;quot; y=&amp;quot;400&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot;   y=&amp;quot;400&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot;   y=&amp;quot;0&amp;quot;   /&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;0&amp;quot;   y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;65&amp;quot;  y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;135&amp;quot; y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;200&amp;quot; y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;65&amp;quot;  y=&amp;quot;240&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;65&amp;quot;  y=&amp;quot;160&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Wall&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;135&amp;quot; y=&amp;quot;240&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;Point x=&amp;quot;135&amp;quot; y=&amp;quot;160&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Wall&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;30&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;40&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;30&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;360&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;35&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;Zone effect=&amp;quot;fortress&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ShapeCircle radius=&amp;quot;35&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Point x=&amp;quot;100&amp;quot; y=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/ShapeCircle&amp;gt;&lt;br /&gt;
    &amp;lt;/Zone&amp;gt;&lt;br /&gt;
    &amp;lt;/Field&amp;gt;&lt;br /&gt;
   &amp;lt;/World&amp;gt;&lt;br /&gt;
  &amp;lt;/Map&amp;gt;&lt;br /&gt;
 &amp;lt;/Resource&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15830</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15830"/>
		<updated>2006-09-16T21:45:55Z</updated>

		<summary type="html">&lt;p&gt;Meriton: appearance improved&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
Resources are stored in&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/resource&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Inside this directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the relevant configuration item to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
You may want to set the configuration item permanently by editing &lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15829</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15829"/>
		<updated>2006-09-16T21:42:42Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
Resources are stored in&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/resource&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Inside this directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the relevant configuration item to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
You may want to set the configuration item permanently by editing &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Windows&#039;&#039;&#039;—C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*&#039;&#039;&#039;Mac OS X&#039;&#039;&#039;—~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
*&#039;&#039;&#039;Linux&#039;&#039;&#039;—~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15828</id>
		<title>Testing Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Testing_Resources&amp;diff=15828"/>
		<updated>2006-09-16T21:42:02Z</updated>

		<summary type="html">&lt;p&gt;Meriton: initial import and reformatting from Map_Testing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you have written a new resource and would like to test it? Then you have come to the right place :)&lt;br /&gt;
&lt;br /&gt;
=== Save it ===&lt;br /&gt;
&lt;br /&gt;
Resources are stored in&lt;br /&gt;
&lt;br /&gt;
*Linux — ~/.armagetronad/resource&lt;br /&gt;
*Windows — C:\Program Files\Armagetron Advanced\resource&lt;br /&gt;
*Mac OS X — ~/Library/Application Support/Armagetron Advanced/resource&lt;br /&gt;
&lt;br /&gt;
Inside this directory, resources are located at&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
where type, name, version, author and category must match those stated in the resource:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Resource &#039;&#039;&#039;type&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;name&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;version&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;author&#039;&#039;&#039;=&amp;quot;...&amp;quot; &#039;&#039;&#039;category&#039;&#039;&#039;=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In windows, the subdirectories must be seperated by &#039;\&#039;, not &#039;/&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Tell Armagetron to use it ===&lt;br /&gt;
&lt;br /&gt;
by setting the relevant configuration item to&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;author&#039;&#039;&#039;/&#039;&#039;&#039;category&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;-&#039;&#039;&#039;version&#039;&#039;&#039;.&#039;&#039;&#039;type&#039;&#039;&#039;.xml&lt;br /&gt;
&lt;br /&gt;
(note that you have to use &#039;/&#039; regardless of whether you use windows)&lt;br /&gt;
&lt;br /&gt;
You may want to set the configuration item permanently by editing &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Windows&#039;&#039;&#039;—C:\Program Files\Armagetron Advanced\config\settings_custom.cfg&lt;br /&gt;
*&#039;&#039;&#039;Mac OS X&#039;&#039;&#039;—~/Library/Application Support/Armagetron Advanced/config/settings_custom.cfg&lt;br /&gt;
*&#039;&#039;&#039;Linux&#039;&#039;&#039;—~/.armagetronad/config/settings_custom.cfg&lt;br /&gt;
&lt;br /&gt;
=== Run Armagetron ===&lt;br /&gt;
&lt;br /&gt;
Now its time to play Armagetron Advanced locally.&lt;br /&gt;
&lt;br /&gt;
If you have saved it wrong or the path you put is incorrect it will tell you.&lt;br /&gt;
&lt;br /&gt;
If your settings or code is wrong it will also tell you a line number.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Cockpits_List&amp;diff=15825</id>
		<title>Cockpits List</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Cockpits_List&amp;diff=15825"/>
		<updated>2006-09-16T20:07:25Z</updated>

		<summary type="html">&lt;p&gt;Meriton: fix broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of a few cockpit files that are available. You can only use them if you have downloaded a version of Armagetronad later than 0.3.0_alpha4872 and if you know how to use the [[Console]]. Be aware that your use of upper/lowercase for the console command matters.&lt;br /&gt;
&lt;br /&gt;
== Abyss ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Abyss-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Abyss]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Spidey|Spidey]]&lt;br /&gt;
;Description&lt;br /&gt;
:TODO-Spidey: add this.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE spidey/abyss-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/spidey/abyss-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classic ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Classic-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Classic cockpit]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]]&lt;br /&gt;
;Description&lt;br /&gt;
:This cockpit file tries to emulate the cockpit of 0.2.8 as much as possible. It doesn&#039;t include a HUD minimap and uses the traditional needle gauges. Boooooring.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE wrtlprnft/classic-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/classic-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pink ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Pink-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Pink]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Spidey|Spidey]]&lt;br /&gt;
;Description&lt;br /&gt;
:TODO-Spidey: add this.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE spidey/pink-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/spidey/pink-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Playroom ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Playground-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Playground]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Lucifer|Lucifer]]&lt;br /&gt;
;Description&lt;br /&gt;
:This cockpit is designed for fortress play.  All gauges are placed near where your eyes are normally focused so you never have to look far.  Play with it enough and you find you always know your speed, amount of brake, and stuff.  Enemies alive gauge is color-coded to show at a glance whether or not you&#039;re outnumbered.  Look at the gauge itself to see how badly you&#039;re outnumbered, and look at the map to see where everybody is.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Lucifer/sick/Playroom-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Standard Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Standard-0.0.1.aacockpit.xml (Screenshot) (1).png|thumb|Standard cockpit in smartcam mode]]&lt;br /&gt;
[[Image:Standard-0.0.1.aacockpit.xml (Screenshot) (2).png|thumb|Standard cockpit in incam mode]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]] and [[User:Lucifer|Lucifer]]&lt;br /&gt;
;Description&lt;br /&gt;
:This is the default cockpit in 0.3.0. It has the new HUD map and bar gauges, but displays about the same data as 0.2.8.&lt;br /&gt;
:Try switching to incam mode for a camera tailored to incam playing.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Anonymous/standard-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vanoriginal ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Vanoriginal-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Vanoriginal]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Vanhayes|Vanhayes]]&lt;br /&gt;
;Description&lt;br /&gt;
:I Made all the meters Vertical Bar guages, took out all of the information that was showed in the top right corner except time and FPS, though you can toggle them off.Put the enemies/friends alive meter from incam. You can also toggle off the map If it is in the way and you can toggle on the impact meters, Front left and right.The toggles are cockpit keys: 1(map),2(impact meters), and 5(FPS/Time)&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Vanhayes/cockpit/vanoriginal-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/Vanhayes/cockpit/vanoriginal-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wrtl&#039;s Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (1).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with everything at initial state]]&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (2).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with the HUD map switched off]]&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (3).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with dimmed 3D rendering]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]]&lt;br /&gt;
;Description&lt;br /&gt;
:This is my approach on creating the ultimate cockpit.&lt;br /&gt;
:The huge rubber gauge on the left helps you know instantly how risky you can play and the player information on the top right helps you determine if your help defending is needed.&lt;br /&gt;
:On the bottom right is a special gauge that shows the approximate time to the next impact with a wall, useful if you want to know if you outgrinded someone. You can switch of the big map by pressing the first cockpit key (bind it in global keyboard config) and dim the 3D rendering by pressing the second key—useful for chico maps.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE wrtlprnft/testfile-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Links&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/testfile-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/testfile-0.0.3.aacockpit.xml Version 0.0.3—doesn&#039;t work with 0.3.0, will work with 0.3.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xevi&#039;s Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Xevi-0.0.3.aacockpit.xml (Screenshot).png|thumb|Xevi&#039;s Cockpit, version 0.0.3]]&lt;br /&gt;
[[Image:Xevi-0.0.4.aacockpit.xml (Screenshot).png|thumb|Xevi&#039;s Cockpit, version 0.0.4]]&lt;br /&gt;
[[Image:Xevi_cockpit_05.JPG|thumb|Xevi&#039;s Cockpit, version 0.0.5]]&lt;br /&gt;
[[Image:Xevi.0.0.7.JPG|thumb|Xevi&#039;s Cockpit, version 0.0.7]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Xevic|Xevi]]&lt;br /&gt;
;Description&lt;br /&gt;
:Some evolutions of the real hud ;) there are also versions 0.0.1 and 0.0.2, but they are just a step to 0.0.3, then there is a couple of evolutions, in 0.0.4 I added wrtl&#039;s impact time widget. Version 0.0.5 adds warning bars, there is one for front impact, another for left and one for right. The new 0.0.6 is a improvement of last one with better look bars and better parameters. News on 7: bars tunning, front impact moved bottom to allow better notice, avoid chat and transparency problems there, new big map switch with toggle 3, now it won&#039;t desappear, it will appear the full screen version.&lt;br /&gt;
Enjoy them.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE xevi/xevi-0.0.7.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Links&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.3.aacockpit.xml Version 0.0.3]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.4.aacockpit.xml Version 0.0.4]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.5.aacockpit.xml Version 0.0.5]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.6.aacockpit.xml Version 0.0.6]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.7.aacockpit.xml Version 0.0.7]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Cockpits_List&amp;diff=15824</id>
		<title>Cockpits List</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Cockpits_List&amp;diff=15824"/>
		<updated>2006-09-16T20:06:43Z</updated>

		<summary type="html">&lt;p&gt;Meriton: playground has been renamed to playroom in the release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of a few cockpit files that are available. You can only use them if you have downloaded a version of Armagetronad later than 0.3.0_alpha4872 and if you know how to use the [[Console]]. Be aware that your use of upper/lowercase for the console command matters.&lt;br /&gt;
&lt;br /&gt;
== Abyss ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Abyss-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Abyss]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Spidey|Spidey]]&lt;br /&gt;
;Description&lt;br /&gt;
:TODO-Spidey: add this.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE spidey/abyss-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/spidey/abyss-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classic ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Classic-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Classic cockpit]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]]&lt;br /&gt;
;Description&lt;br /&gt;
:This cockpit file tries to emulate the cockpit of 0.2.8 as much as possible. It doesn&#039;t include a HUD minimap and uses the traditional needle gauges. Boooooring.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE wrtlprnft/classic-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/classic-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pink ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Pink-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Pink]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Spidey|Spidey]]&lt;br /&gt;
;Description&lt;br /&gt;
:TODO-Spidey: add this.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE spidey/pink-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/spidey/pink-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Playroom ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Playroom-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Playground]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Lucifer|Lucifer]]&lt;br /&gt;
;Description&lt;br /&gt;
:This cockpit is designed for fortress play.  All gauges are placed near where your eyes are normally focused so you never have to look far.  Play with it enough and you find you always know your speed, amount of brake, and stuff.  Enemies alive gauge is color-coded to show at a glance whether or not you&#039;re outnumbered.  Look at the gauge itself to see how badly you&#039;re outnumbered, and look at the map to see where everybody is.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Lucifer/sick/Playroom-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Standard Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Standard-0.0.1.aacockpit.xml (Screenshot) (1).png|thumb|Standard cockpit in smartcam mode]]&lt;br /&gt;
[[Image:Standard-0.0.1.aacockpit.xml (Screenshot) (2).png|thumb|Standard cockpit in incam mode]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]] and [[User:Lucifer|Lucifer]]&lt;br /&gt;
;Description&lt;br /&gt;
:This is the default cockpit in 0.3.0. It has the new HUD map and bar gauges, but displays about the same data as 0.2.8.&lt;br /&gt;
:Try switching to incam mode for a camera tailored to incam playing.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Anonymous/standard-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vanoriginal ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Vanoriginal-0.0.1.aacockpit.xml (Screenshot).png|thumb|&lt;br /&gt;
Vanoriginal]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Vanhayes|Vanhayes]]&lt;br /&gt;
;Description&lt;br /&gt;
:I Made all the meters Vertical Bar guages, took out all of the information that was showed in the top right corner except time and FPS, though you can toggle them off.Put the enemies/friends alive meter from incam. You can also toggle off the map If it is in the way and you can toggle on the impact meters, Front left and right.The toggles are cockpit keys: 1(map),2(impact meters), and 5(FPS/Time)&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE Vanhayes/cockpit/vanoriginal-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Link&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/Vanhayes/cockpit/vanoriginal-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wrtl&#039;s Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (1).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with everything at initial state]]&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (2).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with the HUD map switched off]]&lt;br /&gt;
[[Image:Testfile-0.0.1.aacockpit.xml (Screenshot) (3).png|thumb|&lt;br /&gt;
Wrtl&#039;s cockpit with dimmed 3D rendering]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Wrtlprnft|Wrtlprnft]]&lt;br /&gt;
;Description&lt;br /&gt;
:This is my approach on creating the ultimate cockpit.&lt;br /&gt;
:The huge rubber gauge on the left helps you know instantly how risky you can play and the player information on the top right helps you determine if your help defending is needed.&lt;br /&gt;
:On the bottom right is a special gauge that shows the approximate time to the next impact with a wall, useful if you want to know if you outgrinded someone. You can switch of the big map by pressing the first cockpit key (bind it in global keyboard config) and dim the 3D rendering by pressing the second key—useful for chico maps.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE wrtlprnft/testfile-0.0.1.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Links&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/testfile-0.0.1.aacockpit.xml Version 0.0.1]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/wrtlprnft/testfile-0.0.3.aacockpit.xml Version 0.0.3—doesn&#039;t work with 0.3.0, will work with 0.3.1]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xevi&#039;s Cockpit ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Xevi-0.0.3.aacockpit.xml (Screenshot).png|thumb|Xevi&#039;s Cockpit, version 0.0.3]]&lt;br /&gt;
[[Image:Xevi-0.0.4.aacockpit.xml (Screenshot).png|thumb|Xevi&#039;s Cockpit, version 0.0.4]]&lt;br /&gt;
[[Image:Xevi_cockpit_05.JPG|thumb|Xevi&#039;s Cockpit, version 0.0.5]]&lt;br /&gt;
[[Image:Xevi.0.0.7.JPG|thumb|Xevi&#039;s Cockpit, version 0.0.7]]&lt;br /&gt;
;Author&lt;br /&gt;
:[[User:Xevic|Xevi]]&lt;br /&gt;
;Description&lt;br /&gt;
:Some evolutions of the real hud ;) there are also versions 0.0.1 and 0.0.2, but they are just a step to 0.0.3, then there is a couple of evolutions, in 0.0.4 I added wrtl&#039;s impact time widget. Version 0.0.5 adds warning bars, there is one for front impact, another for left and one for right. The new 0.0.6 is a improvement of last one with better look bars and better parameters. News on 7: bars tunning, front impact moved bottom to allow better notice, avoid chat and transparency problems there, new big map switch with toggle 3, now it won&#039;t desappear, it will appear the full screen version.&lt;br /&gt;
Enjoy them.&lt;br /&gt;
;Console Command&lt;br /&gt;
:&amp;lt;code&amp;gt;COCKPIT_FILE xevi/xevi-0.0.7.aacockpit.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
;Resource Repository Links&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.3.aacockpit.xml Version 0.0.3]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.4.aacockpit.xml Version 0.0.4]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.5.aacockpit.xml Version 0.0.5]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.6.aacockpit.xml Version 0.0.6]&lt;br /&gt;
:[http://beta.armagetronad.net/resource-browser/resource/xevi/xevi-0.0.7.aacockpit.xml Version 0.0.7]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=15823</id>
		<title>Camera Glance Keys</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=15823"/>
		<updated>2006-09-16T19:57:02Z</updated>

		<summary type="html">&lt;p&gt;Meriton: it is in the release now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background:#ccc; border:1px solid black; margin:0.4em; padding:0.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; This page describes the behavior of 0.3.0. Previous releases used a slightly different system.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Manual Camera Control =&lt;br /&gt;
&lt;br /&gt;
While the camera tries to show the areas of the grid that are most interesting to you, the camera can not always anticipate your wishes. Manual camera control permits you to adjust the perspective while playing to show the things that really matter.&lt;br /&gt;
&lt;br /&gt;
The keys for manual camera control can be configured in &lt;br /&gt;
&lt;br /&gt;
Main Menu/Player Setup/Player x Settings/Camera Input Configuration&lt;br /&gt;
&lt;br /&gt;
= What Is Glancing? =&lt;br /&gt;
&lt;br /&gt;
Glancing is the most common form of custom camera control. It causes the camera to face towards a specific direction and is controlled by the four glance keys &amp;quot;glance forward&amp;quot;, &amp;quot;glance backward&amp;quot;, &amp;quot;glance left&amp;quot; and - you guessed it - &amp;quot;glance right&amp;quot;. Unless you changed them in the player options, the glance keys are the arrow keys.&lt;br /&gt;
&lt;br /&gt;
= Why Would I Want to Glance? =&lt;br /&gt;
&lt;br /&gt;
Glad you asked ;-). Using glancing, you can look in any direction, regardless of where you are driving to. You can glance backwards to check whether someone (friend or foe) is grinding your wall. You can glance right to check whether you or the opponent is ahead. You can watch what happens at a fortress while driving by or watch its interior while circling it. &lt;br /&gt;
&lt;br /&gt;
The only disadvantage about glancing is that you might be so absorbed in the action around you that you forget to watch what might endanger your cycle ...&lt;br /&gt;
&lt;br /&gt;
= How Do I Glance? = &lt;br /&gt;
&lt;br /&gt;
Glancing is activated by pressing a glance key and maintained by keeping any glance key pressed.&lt;br /&gt;
&lt;br /&gt;
For instance, pressing &amp;quot;glance left&amp;quot; for a while will show you the area left of your cycle until you release the key, upon which the automatic camera control takes over again.&lt;br /&gt;
&lt;br /&gt;
More precisely, when you press a glance key, you &amp;quot;load&amp;quot; that key with a request to face towards a specific direction, and while you keep pressing the key, the request will be acted upon (if you keep more than one glance key pressed, the most recently pressed one is active). &lt;br /&gt;
&lt;br /&gt;
The direction you request is the current view direction, snapped to the closest axis, rotated as specified by the glance key. (If you were already glancing, only the rotation specified by the glance key is updated, the base direction remains unchanged).&lt;br /&gt;
&lt;br /&gt;
Note that glancing is completly independent of the cycle&#039;s driving direction. Therefore, there is nothing wrong with glancing over extended periods of time.&lt;br /&gt;
&lt;br /&gt;
= How Can I Configure Glancing? =&lt;br /&gt;
&lt;br /&gt;
Aside from adjusting the glance keys, glance behavior is controlled by the following options:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_GLANCE_ANGULAR_VELOCITY&lt;br /&gt;
:Controls how swiftly the camera rotates towards the requested facing. More precisely, this setting contains the angular velocity (if the camera&#039;s facing is perpendicular to the requested facing). Unit: Radians per second.&lt;br /&gt;
;CAMERA_GLANCE_MODE&lt;br /&gt;
:Controls how the camera rotates towards the requested facing. Possible values are:&lt;br /&gt;
:;0&lt;br /&gt;
::The camera aproaches the requested facing with constant angular velocity.&lt;br /&gt;
:;1&lt;br /&gt;
::The camera approaches the requested facing with angular velocity propotional to angle left to travel.&lt;br /&gt;
:;2&lt;br /&gt;
::The camera approaches the requested facing with constant angular velocity if the angle left is larger than 90°, otherwise with angular velocity proportional to sin(angle).&lt;br /&gt;
:;any other setting&lt;br /&gt;
::The camera always &amp;quot;jumps&amp;quot; instantly to its new position. Totally useless IMHO.&lt;br /&gt;
;CAMERA_GLANCE_ANGULAR_VELOCITY_BONUS&lt;br /&gt;
:Factor to CAMERA_GLANCE_ANGULAR_VELOCITY if CAMERA_GLANCE_MODE is set to 2 and the angle deft is larger than 90°&lt;br /&gt;
&lt;br /&gt;
Since the smart camera offers a (in the dev&#039;s humble opinion) poor perspective when glancing, its location is configurable independently:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_SMART_GLANCING_BACK&lt;br /&gt;
:How far the camera is moved behind the cycle when glancing&lt;br /&gt;
;CAMERA_SMART_GLANCING_HEIGHT&lt;br /&gt;
:How far the camera is moved up. There is no pitch setting, the cycle always appears in the centre of the screen&lt;br /&gt;
&lt;br /&gt;
Note that CAMERA_SMART_GLANCE_CUSTOM no longer exists. Those who prefer the old behavior are advised to use the preceeding options to simulate it.&lt;br /&gt;
&lt;br /&gt;
= Known Limitations = &lt;br /&gt;
&lt;br /&gt;
Due to axis snapping, if the current view direction is right between two axis, the glance directions are unspecified. Most automatic modes rarely reach that point on their own, but may do so if glancing has just been recently deactivated. We haven&#039;t found an easy way around that (as axis snapping is very useful).&lt;br /&gt;
&lt;br /&gt;
[[Category:Camera]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Competition_Hub&amp;diff=15389</id>
		<title>Competition Hub</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Competition_Hub&amp;diff=15389"/>
		<updated>2006-09-04T09:44:48Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Want to join a tournament, browse an old one, or organize/create a new one... well you&#039;re in the right place&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|- border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | &#039;&#039;&#039;[[4_Team_Fortress_Tourney_1|4 Clan Fortress Tournament]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| The first 4 team fortress tournament &amp;lt;br /&amp;gt;&lt;br /&gt;
Discussion [[Talk:4_Team_Fortress_Tourney_1 | here]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | {{LadleTbl}}&lt;br /&gt;
|-&lt;br /&gt;
| The Fourth Tronic Ladle, is set for the first Sunday of the month, which is the 1st of October 2006... details pending...&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | &#039;&#039;&#039;earlier competitions...&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The Third [[THE LADLE|Tronic Ladle]] was won by [[Ladle Winners|Anarchic Wanderers]] on 3rd September 2006.&lt;br /&gt;
&lt;br /&gt;
The first [[International_Tron_World_Cup|Tron World Cup]] took place in July and August 2006 and was won by the United Kingdom. Full scores of the matches are available on the [http://lod.bigreddesign.co.uk/twc/ Official TWC Site]&lt;br /&gt;
&lt;br /&gt;
The Second [[THE LADLE|Tronic Ladle]] was won by [[Ladle Winners|Anarchic Wanderers]] on 29th August 2006.&lt;br /&gt;
&lt;br /&gt;
The First [[THE LADLE|Tronic Ladle]] was a fortress tournament with seven teams and was won by [[Ladle Winners|Shadow League]] on 1st July 2006. &lt;br /&gt;
&lt;br /&gt;
The [[THE SPOON|Tronic Spoon]] was a fortress tournament of 87 players arranged into 8 and was won by [[Team somethingsomething]] in March 2006.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Competition_Hub&amp;diff=15388</id>
		<title>Competition Hub</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Competition_Hub&amp;diff=15388"/>
		<updated>2006-09-04T09:43:25Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Want to join a tournament, browse an old one, or organize/create a new one... well you&#039;re in the right place&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|- border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | &#039;&#039;&#039;[[4_Team_Fortress_Tourney_1|4 Clan Fortress Tournament]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| The first 4 team fortress tournament &amp;lt;br /&amp;gt;&lt;br /&gt;
Discussion [[Talk:4_Team_Fortress_Tourney_1 | here]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | {{LadleTbl}}&lt;br /&gt;
|-&lt;br /&gt;
| The Third Tronic Ladle fortress tournament was played on Sun 3rd September &#039;&#039;&#039;with the final&#039;&#039;&#039; at 9pm GMT!&lt;br /&gt;
* First Stage: stick your name down on one of the [[LADLE team-lists|teams]] -- 58 players in 6 teams so far!&lt;br /&gt;
* Second Stage: make sure your captain visits the [[Challenge Room]].&lt;br /&gt;
* Third Stage: captains make use of the [[Challenge Board]] to determine provisional play-offs.&lt;br /&gt;
* Fourth Stage: check in with your team at 6.45pm GMT... though first games probably at 7.30 pm GMT. Have fun!&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:lightgray&amp;quot; | &#039;&#039;&#039;earlier competitions...&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The Third [[THE LADLE|Tronic Ladle]] was won by [[Ladle Winners|Anarchic Wanderers]] on 3rd September 2006.&lt;br /&gt;
&lt;br /&gt;
The first [[International_Tron_World_Cup|Tron World Cup]] took place in July and August 2006 and was won by the United Kingdom. Full scores of the matches are available on the [http://lod.bigreddesign.co.uk/twc/ Official TWC Site]&lt;br /&gt;
&lt;br /&gt;
The Second [[THE LADLE|Tronic Ladle]] was won by [[Ladle Winners|Anarchic Wanderers]] on 29th August 2006.&lt;br /&gt;
&lt;br /&gt;
The First [[THE LADLE|Tronic Ladle]] was a fortress tournament with seven teams and was won by [[Ladle Winners|Shadow League]] on 1st July 2006. &lt;br /&gt;
&lt;br /&gt;
The [[THE SPOON|Tronic Spoon]] was a fortress tournament of 87 players arranged into 8 and was won by [[Team somethingsomething]] in March 2006.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=15387</id>
		<title>Ladle Feedback</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=15387"/>
		<updated>2006-09-04T09:27:24Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Feedback for the Third Ladle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle}}&lt;br /&gt;
&lt;br /&gt;
Please write your comments below about your experience of the event. You can also add comments about how it could be better... This information may be useful for anyone who tries to do such a thing again... We have to discuss stuff so that a decision is made -- check out  [[Talk:Challenge Room]]&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Third Ladle ==&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
&lt;br /&gt;
Each ladle keeps getting better and I think we had a great turnout. It&#039;s nice to see so many different teams  participating. However I&#039;m beginning to think we should do a way with team captains deciding the matches on game day. Once again the first match started almost an hour late do to delays by team captains. And I&#039;m not blameless here either. We really need to just go with the lineup we have already decide upon ahead of time in the challenge page. Many good players are sadly getting burned since they are told to show up at a certain time only to be informed  to wait around for decisions to be made.&lt;br /&gt;
&lt;br /&gt;
Also for my location the timing of this match worked out to being on a Sunday morning on one of the biggest holiday weekends of the year.  Could there please be a little more consideration for players living in the Americas next time. WS was at 4 players because of this. Thank you to those who generously volunteered to help. It would also be nice to have it scheduled a few hours later on in the day but even as it is the players located in China can&#039;t easily make it. &lt;br /&gt;
&lt;br /&gt;
On another point: I am beginning to think there is no fix for this issue of disparaging ping difference. After just a few weeks of hosting my own server I have noticed that most players located in Europe (but not all luckily) refuse to play on servers where they do not get a 50 ping.  Their first comments are generally &amp;quot;this server is $@%&amp;amp;*, I have a 190 ping&amp;quot; and leave.  Heck I play with 350!! of course not as well as I would like. Because of the size of the land mass many Americans average a 190 ping on THEIR OWN servers!!! I&#039;m sadly beginning to get some VERY unfavorable impressions of certain players.  And lets not forget there are some people left out not matter what such as the Chinese players. No one will play on their servers since we do nothing but bitch. but they &amp;quot;QUIETLY&amp;quot; put up with 300 - 400+ pings NO matter the server and they still play well.  We could learn a lot from them.&lt;br /&gt;
&lt;br /&gt;
The only way I can see to fix this advantage of  pitting teams in the ladle with such different pings is for people to stop unilaterally refusing to play above a 100 ping. And the other is teams need to actively recruit members from all parts of the world. This is an internal game after all. &lt;br /&gt;
&lt;br /&gt;
Sorry if I offended some people but I think this needed to be brought up and I tried not to mention any names.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Reply to above: I don&#039;t mind a high ping, I can play with that. What i do mind is servers that have sudden lag jumps for everyone that make it luck whether you win or lose.&lt;br /&gt;
&lt;br /&gt;
For the ladle: First of all, it was fun. A lot of fun, actually. One thing that annoyed me was the fact that a certain someone started taking over all organisation just an hour before the thing started. Suddenly we had two conflicting brackets (2020 already posted his version ages ago, [[Ladle Brackets]] was useless), a certain someone joining the server my team was on wanting to tell us what to do, and other things that only delayed it IMHO. Of course, that guy wasn&#039;t in IRC which would have made it easy to communcicate, but went in and out of servers just at he liked.&lt;br /&gt;
&lt;br /&gt;
In the end we still got great matches (though I sucked even more than usual). I think having the wiki more organized and have one IRC channel &#039;&#039;&#039;all&#039;&#039;&#039; ladle- related people are in will prevent such conflicting information. —[[User:Wrtlprnft|Wrtlprnft]] 01:19, 4 September 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I agree with Manta about team-captains... timing is tricky, I just opted for first sunday of the month; and in europe the final ends at round about midnight which is getting late for a Sunday night game... ping will always remain and issue, but it is best solved if players put in a little effort, research the servers they wish to play on, inform their team-captain, who eventually makes a decision as to what server to play on based on the average ping of the players... i like your solution about enlisting players from different geographic locations, but it is already tricky enough forming teams...&lt;br /&gt;
&lt;br /&gt;
I agree with wrtl about ping-spikes, and I would have thought captains would choose servers that they know they can trust... and I like the idea of everyone being invited to IRC, with separate chatrooms for different teams... yeah... sounds useful... -- [[User:2020|2020]] 07.45 4 September 2006 (GMT)&lt;br /&gt;
&lt;br /&gt;
;2020&lt;br /&gt;
Wow... The standard of play was high... I was at the bottom of the scorecard in most games... The fact that we managed to play any games was, quite frankly, amazing. My team-mates were superlative in their skills. The first game against WPN was chaotic, and I subbed myself off half-way through because my ping was god-awful and my skills just can&#039;t cope; we won 2-1. Because of the confusion in organisation, I ended up playing in the second team-challenge versus Shadow League, which was a huge game; again we won 2-1. It came down to an all-AW final, and again the moves being pulled were astounding; AW won 2-1 ehhehe.&lt;br /&gt;
&lt;br /&gt;
I had great fun, mostly because I was skyped with Ghableska. I was in hysterics with the initial dis-organisation, haven&#039;t laughed so hard in ages... didn&#039;t know who was in what team... who were the opponents... where we&#039;d play... it was completely crazy... If I hadn&#039;t been connected to ghab, I think I would have ended up crying, but as it happened, I just laughed and laughed.&lt;br /&gt;
&lt;br /&gt;
Man of the tournament for me was Alex, from AW. At one point, we were trailing badly in the third match against SL I think, and they had three against our two Madmax and Alex, and somehow, they held their nerve and turn it around for a win... Alex defended valiantly many times, saving the team from defeat. His defence was questioned by many, but if they can&#039;t break it, then it works, IMO. I can&#039;t say what the other team-mates were doing, especially offence, since I so rarely took part, and we won quite a lot... I would be happy for another player to be nominated for offence...&lt;br /&gt;
&lt;br /&gt;
Right... as for the organisation... A shambles. With all this technology, we have tiny little one-liners, at some point I had to have a server open to chat, another window to look at the servers, a window to IRC to chat, another couple of windows to check brackets, challenge boards... it was complete chaos. Before the event I was heartened when I saw the challenge board was finally being used.. but the course of play was not followed... team-captains did not stick to the plan... they ended up wandering about challenging other teams, telling players where to go and who to play... I have to thank those involved who actually managed to get anything happening, I think special attention goes to Lack for trying to keep things together, Van and wrtl. We had weeks of preparation, feedback invitations, and yet... chaotic... I am tempted to agree with the detractors of self-organisation, and agree to sign away my trust in human beings.. in blood...&lt;br /&gt;
&lt;br /&gt;
However, I think we can learn from this. The more active people are, the more experience we get, and the more we can learn. I intend to contact various players, talk about things, and develop a system which is flexible, yet easy enough to manage that it can work. I believe the central weakness is that players panicked, team-captains did not get their teams together, nor did they register together at the right times, and make essential decisions together. I believe one or two individuals took it upon themselves to try to organise everyone, and not just their own teams. Self-organising only works if people share the responsibillity of organising, and this comes down to team-captains, at least in the current configuration. I resisted the urge to take charge, since there were too many cooks already IMHO, and I had put plenty of effort in setting it up with wiki et al... on the night, I just want to be a player, play with my team-mates, and trust my captain...&lt;br /&gt;
&lt;br /&gt;
I think there is hope. I had a laugh, there were a few good games, and all done within a few hours. A little unstable, perhaps, but I think the toddler is taking a few first steps...&lt;br /&gt;
&lt;br /&gt;
=== Organization ===&lt;br /&gt;
&lt;br /&gt;
;meriton&lt;br /&gt;
&lt;br /&gt;
I was acting captain for SL. The chief issue I had with organization was there were many channels for organization. Specifically, there is the wiki, the team captain server, the IRC channel and in-game chat. The channels disagreed on many matters, sometimes even with itself (For instance, there were more teams on the challenge board than in the brackets page.)&lt;br /&gt;
&lt;br /&gt;
Documentation was so bloated and disorganized everyone considered a different subset. Some team captains were also not well prepared (in my case, this was because I was elected replacement captain 10 minutes before the first match). Also, some channels are inadequate for coordinating stuff. For instance, in-game chat on a full server where everyone is talking, and where the other team captain is busy playing most of the time. A team captain room that is empty most of the time. An irc channel announced in a poorly visible location (buried under tons of other stuff). And the wiki that isn&#039;t updated and buries essential info under tons of nice-to-know.&lt;br /&gt;
&lt;br /&gt;
I suggest to consolidate and purify these sources of information and dispose of the inadequate ones:&lt;br /&gt;
&lt;br /&gt;
* abolish the team captain chat in favour of the IRC channel&lt;br /&gt;
* no in-game organizing except for trivial matters&lt;br /&gt;
* clean the wiki. Let&#039;s create a single page with all rules and only rules.&lt;br /&gt;
&lt;br /&gt;
In terms of infrastructure, some servers listed appeared not capable to host a full team without lag fluctuation. It would be good if the servers could be checked in advance.&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Second Ladle ==&lt;br /&gt;
;Sky&lt;br /&gt;
:for the sake of fairness. could teams not be allowed to adopt players at the last second unless theyre in the registered team? so a team doesnt get a huge boost. instead maybe have teams substitute players to adjust to the amount of players on the other team. &lt;br /&gt;
;2020&lt;br /&gt;
:Ping was a big determiner in who won the matches. Ideas suggested during the game was to split the final between two servers. Also, the captains did not make use of the challenge room in the wiki. It was all just organised before the matches, which was ok because we only have four teams of about five players each. The idea is for the system to be future-proof, scalable to hundreds if not thousands of team... I can&#039;t see this working that well with more than four teams. I think team captains should take a little more responsibillity for making sure they choose a server that suits their players. And of course, it is the responsibility of the players to turn up! Oh well... Also... it would be nice to have little animations of the highlight, specific moves, climax battles, that kind of thing... can I change the format of the recording to make it quicktime? [[User:2020|2020]]&lt;br /&gt;
;Lackadaisical&lt;br /&gt;
:Would it be possible to do the next ladle on a sunday and maybe a bit earlier? Saturday night isn&#039;t the best time to go play a computergame for the europeans.&lt;br /&gt;
&lt;br /&gt;
;Meriton&lt;br /&gt;
:The time the event takes place (start at 11:30 PM) is a bit tough for me. Might it be possible to indulge us European players and have it take place a couple of hours earlier next time? Personally, I prefer Saturday to Sunday as I have to get up early on Mondays.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:If we are to drop scheduled games again from not enough teams show, we should move those matches up in time instead of delaying. WS lost half their players do to the time being changed. We do need to work out the scheduling on the wiki better next time as the matches ended up being switched right before game time.&lt;br /&gt;
  &lt;br /&gt;
:The procedural changes made since the last ladle really improved things. You did a GREAT job coordinating everything 2020. Thank you! Team coordination seemed to flow very well and having an admin on hand was a big help. The team captains were able to work out any issues and the players were polite to each other. I&#039;d say we all had fun and in the end that is the reason we all showed up. Congratulations to everyone who played!&lt;br /&gt;
&lt;br /&gt;
:And dealing with the ping issue: Over all having a few low ping players on any one team does not make it unfair. It is when 100% of one team&#039;s players have 1/3 the ping of the other that attrition will catch up every time. (Not to bring up my 438 ping ;), lol)  An average 180s on one side vs 60s on the other can be a bit unbalanced. Similar to a 4 vs 7 player match. To solve this I don&#039;t think a single server can be found to please everyone. Germany does have some of the most active players so it would be wrong to say force them to play a US server for example.  Perhaps some ideas can be worked out before the next ladle. Playing half the games on one server then switching might cause it&#039;s own logistics issues. What are some other peoples ideas?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;AshitakA&lt;br /&gt;
:I think it was great... And thanks to all players and those, who made this possible.The solution for the high pings would be a server on which every player could play with equal ping. But there is no one. So i think, like you said Manta, the server has to be changed. But in a fair way. Maybe every team has to play on different servers, or every game would be played twice on two different servers. However, i look forward to the coming ladle. Have fun, all!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
;madmax&lt;br /&gt;
:I agree on the scheduling issue. The time, and I think specially the day arent the best. For me, Saturday night is usually for going out.  Btw, congrats to AW!!! :D&lt;br /&gt;
&lt;br /&gt;
== Feedback for the First Ladle ==&lt;br /&gt;
&lt;br /&gt;
=== The Quality of Your Playing ===&lt;br /&gt;
;2020&lt;br /&gt;
:I was a passenger. I moved house, was using an old computer (fps was 15), and my connection got broken 3 times while playing Shadow League in the Semi&#039;s -- aaaaarrrrrghghghghgh. Like Van, hehe, and Durka I think.&lt;br /&gt;
* Yep me 2---[[User:Durka|Durka]]&lt;br /&gt;
*heh ya I wish my connection dropped only 3 times, More like 10-15, there was a storm going on at the time--[[User:Vanhayes|Vanhayes]]&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:It was a nice surprise that my ISP didn&#039;t have their usual holiday weekend hiccups. :)  Over all I certainly could have done better, I&#039;m not very good under pressure and my dialup connection seems to get saturated with more than 12 players on the grid. Oh and Manta sucks at sweeping :P&lt;br /&gt;
&lt;br /&gt;
;sky&lt;br /&gt;
:well my computer already sucks haha. so i did fine until the AW match. made a lot more mistakes. only in the last AW match i was able to get like 8 or 10 points or somethin. but the other rounds there were less players playing like 7v7s or 6v6s and it was much easier to get through. also my ping was nicer. i want a pc haha. still had a great time though&lt;br /&gt;
&lt;br /&gt;
=== The Quality of Your Team Playing ===&lt;br /&gt;
;2020&lt;br /&gt;
:Anarchic Wanderers were amazing. I never got to see much of the offence, but defence was superb. Garissimo was solid at the back, only getting beaten when the odds were 4 to 1. I saw Vanhayes pulling off a major stunt -- amazing! And Eggcozy was superb as sweeper. I had fun playing with the offence of the other teams most times; we just kept them back for ages while our offence did the biz. Superb quality of play.&lt;br /&gt;
*;[[User:Durka|Durka]]&lt;br /&gt;
*:I played for AW in the match against SL. I didn&#039;t get to see much of the amazing defense by our team. Everytime I would just bust through their middle and take up part of Sasha&#039;s def before he could make it complete. The problem was SL sometimes delayed Zop and the others from getting there soon enough...so I would be cramming part of the zone, but it would sometimes do nothing as we had no one else. SL realized this and Sasha&#039;s teammates would try and trap me in their zone. But, sometimes it did work and Zop would get their fast along with one other person and we would capture the zone fast (3 offense vs. 2 defense). It was a great team effort...4 points from winning the second match and 2 from winning the third. Well done SL and CONGRATULATIONS.&lt;br /&gt;
*&#039;&#039;&#039;sKy&#039;&#039;&#039;&lt;br /&gt;
:awesome&lt;br /&gt;
&lt;br /&gt;
=== Getting Your Team Ready for The Match ===&lt;br /&gt;
;2020&lt;br /&gt;
:Damned messy. I couldn&#039;t get on the server for about 10 mins. We started about 30 mins late... it gets a little tedious when people are there, some playing, some just waiting for the real game. It would be nice if we could just import an entire team into a server. Have some kind of pre-grid preparation like in the film. Once teams are sorted, we just port into the server. Would be simple. Players would then turn up on time, otherwise, they just miss the boat. Trying to organise a match while playing is tough... too many distractions. Still... we managed it in the end... somehow...&lt;br /&gt;
&lt;br /&gt;
*;[[User:Durka|Durka]]&lt;br /&gt;
*:I got to play one round with ¡LØL! because I was late. I showed up and only 2 people that were ACTUALLY on WS were playing. Everyone else was picked up &amp;quot;from the streets.&amp;quot; (Example: man2d played with ¡LØL!, (WS), &amp;amp; SL during the tourney...just a little unfair). Also, we really needed 8 teams not 6 (there were 7, but CT didn&#039;t show). (Example: the ¡LØL! vs. WS match in the first round was actually a semi-final match so who-ever won was automatically in the finals...yet again weird. But, overall, the tourney was definately fun. Next time 2020, can we please not try and play the tournament &#039;&#039;&#039;ALL IN ONE DAY!!!&#039;&#039;&#039; Too chaotic!&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:Getting Wraith Squadron ready for each match was actually quite easy. All our players met in an MSN chat room one hour before the start time and we did all our coordinating from there. This made it very easy for us to all show up on one server at the same time. We then disconnected during game play of course. ---- Since there were ONLY 2 ladle servers and LOL &amp;amp; WS were the last teams paired we were forced to use Bugfarm fortress. This caused quite a bit of confusion with visiting players joining the match. Kindly, most willingly left or stayed as spectators. Also I don&#039;t believe man2d played for WS at any time during the tournament as he was on each of the opposing teams we played. Wish we had had him though.&lt;br /&gt;
&lt;br /&gt;
=== Team-Captains and the Challenge Room ===&lt;br /&gt;
;2020&lt;br /&gt;
:As admin of 2020&#039;s T-room it was ok... but a bit stressful. Loads of people, including non-captains and noobs entering. The text area was too small and too many people were talking. Some were asking me to die so that they could join the game -- as if we were meant to be playing! Some of the non-captains were useful since they could leave the T-room and search for players like Xevi for Crazy Tronners, and the state of play in matches.&lt;br /&gt;
:Team-captains did the job well though, challenging one another, then setting off to do their matches. However, I think we should have waited until everyone knew who was playing who and where before leaving. The only real way of doing this is building a simple interface with challenge-board, etc so that people could see if they were challenged and whether they accepted etc. Still.. on the whole, it worked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:While using the T-room was problematic it did serve it&#039;s purpose well and its probably the only 100% sure way everyone has to communicate. 2020 took down the chat-server while he played which is understandable but we really need one up at all times for team captains to check in on each other while another match may still be ongoing. THANK YOU for all your work 2020, the ladle would not have been the success it was without you!&lt;br /&gt;
&lt;br /&gt;
=== Anything else? ===&lt;br /&gt;
;2020&lt;br /&gt;
:Could have done with more matches. Also, losing teams could have played one another. In fact, we probably had time to play a round-robin affair. What was best about it is that we ended up with a winner. We trusted team-captains, and they pulled it off.&lt;br /&gt;
:My wishlist? Somehow keep teams together, maybe with some kind of pre-grid preparation room like the film. If this runs simultaneously to gameplay, you can be playing around in some server, and then when your team is assembled and ready, you are notified and requested to port to the proper server where your team assembles against the opposing team. Also, some kind of software to automate the challenges. The chat-facility was not good enough... too much noise...&lt;br /&gt;
:It is all to do with timing. As a first attempt, I think it was successful. The trick is... how to make it better...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:--- Having the ability to lock a server to a certain number of players ahead of time. While letting there be room for a couple of spectators so backup team members can standby but keeping riffraff from joining. --- Letting a small majority successfully kick someone, without having to distract all the players with the vote. --- Have shuffle down AND up enabled to allow team placement. --- Have more servers available. --- Personally I liked the month long idea but I must say having the games all on one day seemed to work better. But this also made it very hectic and with elimination, losing teams only got to play one match after the effort of getting everyone coordinated. --- Over all I&#039;d say the ladle was a great success and everyone had a great time which is most important.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Challenge_Board&amp;diff=15345</id>
		<title>Challenge Board</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Challenge_Board&amp;diff=15345"/>
		<updated>2006-09-03T19:44:24Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle}}&lt;br /&gt;
The Challenge Board is designed to make the pairing off of team easier. Team Captains should take careful note of how to best use this system.&lt;br /&gt;
&lt;br /&gt;
Please note, it is for Team Captains only to issue challenges by locating their [[LADLE team-lists|teams]] appropriately on the board. If they can not do this here, they will have to do it on the day in less than 5 mins, so... be cool and be brave...&lt;br /&gt;
&lt;br /&gt;
Your placement of the team determines who you are playing in the first round and subsequent rounds if you win. If, for example, with only two teams listed, then one team must be listed in team 1-8 and the other in team 9-16. As more teams join, the placement will determine who you will play in subsequent rounds and on which servers. Check this listing ocassionally, alter your team-place if you wish, until it settles and we are ready to play on Sun 3rd September.&lt;br /&gt;
&lt;br /&gt;
Please do not replace another team-name with yours. Only fill vacant spaces. In this way, Team Captains have a way of jockeying for position.&lt;br /&gt;
&lt;br /&gt;
We seem to have five teams, so...&lt;br /&gt;
&lt;br /&gt;
* Team 1 is... [[anarchic wanderers]] team A&lt;br /&gt;
* Team 2 is... &lt;br /&gt;
* Team 3 is... [[Wraith Squadron]]&lt;br /&gt;
* Team 4 is... [[anarchic wanderers]] team B&lt;br /&gt;
* Team 5 is... [http://teamlotsoflove.com LOL]&lt;br /&gt;
* Team 6 is... [[We Pwn Noobs|WPN]]&lt;br /&gt;
* Team 7 is... SL&lt;br /&gt;
* Team 8 is... [http://www.crazy-tronners.com CT]&lt;br /&gt;
&lt;br /&gt;
==Possible Brackets?==&lt;br /&gt;
[[Ladle Brackets]]&lt;br /&gt;
&lt;br /&gt;
== Provisional Play-offs ==&lt;br /&gt;
Do not insert names of teams here. This is merely the structure and timing of the games. The actual teams which will be playing against one another will be based on the Challenge Board above and the Team Captains which register their teams at before the first game on Sun 3rd September.&lt;br /&gt;
&lt;br /&gt;
Note, the server allocation may change, especially as we move through into the quarters and semi finals depending on Team Captain discussion on the day. Check out [[LADLE fortress-servers]] available.&lt;br /&gt;
&lt;br /&gt;
Note also, we might by-pass the first round if we have 8 teams or less... which is what the state of play is currently...&lt;br /&gt;
&lt;br /&gt;
=== Quarter Finals 7.30pm GMT ===&lt;br /&gt;
* Team 1 challenges Team 2 on LOD Fortress Server or Z-man&#039;s Tournament Fortress&lt;br /&gt;
* Team 3 challenges Team 4 on AST or US Fortress Server&lt;br /&gt;
* Team 5 challenges Team 6 on Bugfarm LOD Server or Wildwest -- Fortress (ladle)&lt;br /&gt;
* Team 7 challenges Team 8 on AST or Dark Syndicates Fortress&lt;br /&gt;
&lt;br /&gt;
=== Semi Finals 8.15pm GMT ===&lt;br /&gt;
* Team 1/2 challenges Team 3/4 on LOD Fortress Server&lt;br /&gt;
* Team 5/6 challenges Team 7/8 on AST or US Fortress Server&lt;br /&gt;
&lt;br /&gt;
=== Finals 9pm GMT ===&lt;br /&gt;
* Team 1/2/3/4 challenges Team 5/6/7/8 on LOD or US Fortress&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15293</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15293"/>
		<updated>2006-09-02T18:38:44Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Description of Lag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
# the command is transmitted to executing musles&lt;br /&gt;
# the musles contract / the key is beeing pressed&lt;br /&gt;
# armagetron is busy doing other stuff&lt;br /&gt;
# armagetron processes the key press and dispatches the information to the game server&lt;br /&gt;
# (network games only) the network forwards the information to the game server&lt;br /&gt;
# (network games only) the server processes the key press and dispatches it to all players&lt;br /&gt;
# (network games only) the network forwards the message (as in 5)&lt;br /&gt;
# the armagetron client updates his view&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
* Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
* Stage 3 predictably takes at most 1000 ms / [[fps]].&lt;br /&gt;
* Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
* The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
* Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
* Stage 8 predictably takes at most 1000 ms / [[fps]].&lt;br /&gt;
&lt;br /&gt;
== Network Lag ==&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Avoiding - 6 pigs, 7 nipples! ===&lt;br /&gt;
&lt;br /&gt;
Buy a better internet connection and/or keep your other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
=== Reason ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15259</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15259"/>
		<updated>2006-09-02T10:19:12Z</updated>

		<summary type="html">&lt;p&gt;Meriton: reorganized stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
# the command is transmitted to executing musles&lt;br /&gt;
# the musles contract / the key is beeing pressed&lt;br /&gt;
# armagetron is busy doing other stuff&lt;br /&gt;
# armagetron processes the key press and dispatches the information to the game server&lt;br /&gt;
# (network games only) the network forwards the information to the game server&lt;br /&gt;
# (network games only) the server processes the key press and dispatches it to all players&lt;br /&gt;
# (network games only) the network forwards the message (as in 5)&lt;br /&gt;
# the armagetron client updates his view&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
* Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
* Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
* Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
* The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
* Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
* Stage 8 predictably takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
== Network Lag ==&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Avoiding - 6 pigs, 7 nipples! ===&lt;br /&gt;
&lt;br /&gt;
Buy a better internet connection and/or keep your other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
=== Reason ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15258</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15258"/>
		<updated>2006-09-02T09:57:08Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Reflexes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
# the command is transmitted to executing musles&lt;br /&gt;
# the musles contract / the key is beeing pressed&lt;br /&gt;
# armagetron is busy doing other stuff&lt;br /&gt;
# armagetron processes the key press and dispatches the information to the game server&lt;br /&gt;
# (network games only) the network forwards the information to the game server&lt;br /&gt;
# (network games only) the server processes the key press and dispatches it to all players&lt;br /&gt;
# (network games only) the network forwards the message (as in 5)&lt;br /&gt;
# the armagetron client updates his view&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
* Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
* Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
* Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
* The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
* Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
* Stage 8 predictably takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15257</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15257"/>
		<updated>2006-09-02T09:56:09Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Measuring Latency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
# the command is transmitted to executing musles&lt;br /&gt;
# the musles contract / the key is beeing pressed&lt;br /&gt;
# armagetron is busy doing other stuff&lt;br /&gt;
# armagetron processes the key press and dispatches the information to the game server&lt;br /&gt;
# (network games only) the network forwards the information to the game server&lt;br /&gt;
# (network games only) the server processes the key press and dispatches it to all players&lt;br /&gt;
# (network games only) the network forwards the message (as in 5)&lt;br /&gt;
# the armagetron client updates his view&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
* Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
* Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
* Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
* The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
* Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
* Stage 8 predictably takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reflexes ==&lt;br /&gt;
&lt;br /&gt;
Now that you understand network latency, you should be able to make the jump to understand latency in your body&#039;s nervous system.  When your eyes process the image you see on the screen, they send a signal to your brain.  Your brain makes a decision on what to do, and then sends a signal down your arm or whatever to push whatever button it&#039;s decided to push.  We generally call this &#039;&#039;finger lag&#039;&#039;, although there&#039;s certainly no requirement that fingers be involved.  Neuropsychologists have measured the time it takes for a signal to leave your brain and arrive at its destination along many paths, if you find this topic interesting you should certainly investigate it further.&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15256</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15256"/>
		<updated>2006-09-02T09:53:19Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Description of Lag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
# the command is transmitted to executing musles&lt;br /&gt;
# the musles contract / the key is beeing pressed&lt;br /&gt;
# armagetron is busy doing other stuff&lt;br /&gt;
# armagetron processes the key press and dispatches the information to the game server&lt;br /&gt;
# (network games only) the network forwards the information to the game server&lt;br /&gt;
# (network games only) the server processes the key press and dispatches it to all players&lt;br /&gt;
# (network games only) the network forwards the message (as in 5)&lt;br /&gt;
# the armagetron client updates his view&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
* Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
* Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
* Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
* The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
* Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
* Stage 8 predictably takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
=== Measuring Latency ===&lt;br /&gt;
&lt;br /&gt;
We refer to the time it takes for a signal on the network to leave its starting point, reach its destination, and have a response sent back as &#039;&#039;network latency&#039;&#039;.  Network latency is one type of lag, it&#039;s the parent type.  It is the thing from which all lag is inherited.  It&#039;s the Sun Source Of Lag.  And it&#039;s measured in milliseconds, typically.&lt;br /&gt;
&lt;br /&gt;
Armagetron Advanced gives you a number, called &#039;&#039;ping&#039;&#039;, which is measured in milliseconds.  That number represents the amount of time it takes a signal from you to reach the game server and be processed on the game server, and then sent back.  The game takes regular measurements along the way and always tells you your most up-to-date ping.&lt;br /&gt;
&lt;br /&gt;
== Reflexes ==&lt;br /&gt;
&lt;br /&gt;
Now that you understand network latency, you should be able to make the jump to understand latency in your body&#039;s nervous system.  When your eyes process the image you see on the screen, they send a signal to your brain.  Your brain makes a decision on what to do, and then sends a signal down your arm or whatever to push whatever button it&#039;s decided to push.  We generally call this &#039;&#039;finger lag&#039;&#039;, although there&#039;s certainly no requirement that fingers be involved.  Neuropsychologists have measured the time it takes for a signal to leave your brain and arrive at its destination along many paths, if you find this topic interesting you should certainly investigate it further.&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15255</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15255"/>
		<updated>2006-09-02T09:45:12Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Hops, not beer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
1 the command is transmitted to executing musles (couple of milliseconds)&lt;br /&gt;
2 the musles contract / the key is beeing pressed (couple of milliseconds)&lt;br /&gt;
3 armagetron is busy doing other stuff (depending on your machine, between 0 and 1000 ms / fps)&lt;br /&gt;
4 armagetron processes the key press and dispatches the information to the game server (couple of microseconds)&lt;br /&gt;
&lt;br /&gt;
network games only:&lt;br /&gt;
5 the network forwards the information to the game server (depending on the quality of connection. An average value is given by our ping / 2)&lt;br /&gt;
6 the server processes the key press and dispatches it to all players (couple of microseconds, unless it is busy doing something else)&lt;br /&gt;
7 the network forwards the message (as in 5)&lt;br /&gt;
&lt;br /&gt;
8 the armagetron client updates his view (between 0 and 1000 ms / fps)&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
Stage 8 takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
==== Hops, not beer ====&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
=== Measuring Latency ===&lt;br /&gt;
&lt;br /&gt;
We refer to the time it takes for a signal on the network to leave its starting point, reach its destination, and have a response sent back as &#039;&#039;network latency&#039;&#039;.  Network latency is one type of lag, it&#039;s the parent type.  It is the thing from which all lag is inherited.  It&#039;s the Sun Source Of Lag.  And it&#039;s measured in milliseconds, typically.&lt;br /&gt;
&lt;br /&gt;
Armagetron Advanced gives you a number, called &#039;&#039;ping&#039;&#039;, which is measured in milliseconds.  That number represents the amount of time it takes a signal from you to reach the game server and be processed on the game server, and then sent back.  The game takes regular measurements along the way and always tells you your most up-to-date ping.&lt;br /&gt;
&lt;br /&gt;
== Reflexes ==&lt;br /&gt;
&lt;br /&gt;
Now that you understand network latency, you should be able to make the jump to understand latency in your body&#039;s nervous system.  When your eyes process the image you see on the screen, they send a signal to your brain.  Your brain makes a decision on what to do, and then sends a signal down your arm or whatever to push whatever button it&#039;s decided to push.  We generally call this &#039;&#039;finger lag&#039;&#039;, although there&#039;s certainly no requirement that fingers be involved.  Neuropsychologists have measured the time it takes for a signal to leave your brain and arrive at its destination along many paths, if you find this topic interesting you should certainly investigate it further.&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15254</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15254"/>
		<updated>2006-09-02T09:44:55Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Reason for Network Lag - Light Speed Now, Mr. Scott */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
1 the command is transmitted to executing musles (couple of milliseconds)&lt;br /&gt;
2 the musles contract / the key is beeing pressed (couple of milliseconds)&lt;br /&gt;
3 armagetron is busy doing other stuff (depending on your machine, between 0 and 1000 ms / fps)&lt;br /&gt;
4 armagetron processes the key press and dispatches the information to the game server (couple of microseconds)&lt;br /&gt;
&lt;br /&gt;
network games only:&lt;br /&gt;
5 the network forwards the information to the game server (depending on the quality of connection. An average value is given by our ping / 2)&lt;br /&gt;
6 the server processes the key press and dispatches it to all players (couple of microseconds, unless it is busy doing something else)&lt;br /&gt;
7 the network forwards the message (as in 5)&lt;br /&gt;
&lt;br /&gt;
8 the armagetron client updates his view (between 0 and 1000 ms / fps)&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
Stage 8 takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag ===&lt;br /&gt;
==== Light Speed Now, Mr. Scott ====&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
=== Hops, not beer ===&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
=== Measuring Latency ===&lt;br /&gt;
&lt;br /&gt;
We refer to the time it takes for a signal on the network to leave its starting point, reach its destination, and have a response sent back as &#039;&#039;network latency&#039;&#039;.  Network latency is one type of lag, it&#039;s the parent type.  It is the thing from which all lag is inherited.  It&#039;s the Sun Source Of Lag.  And it&#039;s measured in milliseconds, typically.&lt;br /&gt;
&lt;br /&gt;
Armagetron Advanced gives you a number, called &#039;&#039;ping&#039;&#039;, which is measured in milliseconds.  That number represents the amount of time it takes a signal from you to reach the game server and be processed on the game server, and then sent back.  The game takes regular measurements along the way and always tells you your most up-to-date ping.&lt;br /&gt;
&lt;br /&gt;
== Reflexes ==&lt;br /&gt;
&lt;br /&gt;
Now that you understand network latency, you should be able to make the jump to understand latency in your body&#039;s nervous system.  When your eyes process the image you see on the screen, they send a signal to your brain.  Your brain makes a decision on what to do, and then sends a signal down your arm or whatever to push whatever button it&#039;s decided to push.  We generally call this &#039;&#039;finger lag&#039;&#039;, although there&#039;s certainly no requirement that fingers be involved.  Neuropsychologists have measured the time it takes for a signal to leave your brain and arrive at its destination along many paths, if you find this topic interesting you should certainly investigate it further.&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15253</id>
		<title>Lag</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Lag&amp;diff=15253"/>
		<updated>2006-09-02T09:39:23Z</updated>

		<summary type="html">&lt;p&gt;Meriton: added definition of lag, enumeration of possible causes and distinction between constant and non-constant lag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have you wondered why sometimes you think you dumped the other guy only to find that your dumped yourself?  Does it ever feel like the things you do don&#039;t happen quite the same way to everyone on the grid?  There&#039;s a reason for that, and the reason is called &#039;&#039;lag&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Description of Lag ==&lt;br /&gt;
Ideally, the game would respond the very instant you or someone else hit a steering key. However, the underlying hardware is not capable of truly instantanious response, and therefore, neither is armagetron. This difference is called Lag.&lt;br /&gt;
&lt;br /&gt;
When you decide to hit a key, the following stages are passed:&lt;br /&gt;
&lt;br /&gt;
1 the command is transmitted to executing musles (couple of milliseconds)&lt;br /&gt;
2 the musles contract / the key is beeing pressed (couple of milliseconds)&lt;br /&gt;
3 armagetron is busy doing other stuff (depending on your machine, between 0 and 1000 ms / fps)&lt;br /&gt;
4 armagetron processes the key press and dispatches the information to the game server (couple of microseconds)&lt;br /&gt;
&lt;br /&gt;
network games only:&lt;br /&gt;
5 the network forwards the information to the game server (depending on the quality of connection. An average value is given by our ping / 2)&lt;br /&gt;
6 the server processes the key press and dispatches it to all players (couple of microseconds, unless it is busy doing something else)&lt;br /&gt;
7 the network forwards the message (as in 5)&lt;br /&gt;
&lt;br /&gt;
8 the armagetron client updates his view (between 0 and 1000 ms / fps)&lt;br /&gt;
&lt;br /&gt;
Every step along the way causes a certain delay. If this delay is constant, its effect can be mitigated by hitting the key earlier. If the delay is different every time though, this is not possible.&lt;br /&gt;
&lt;br /&gt;
The delay introduced by the individual stages can be approximated as follows:&lt;br /&gt;
&lt;br /&gt;
Stages 1 and 2 takes a predicatable fraction of a second, less with training.&lt;br /&gt;
Stage 3 predictably takes at most 1000 ms / fps.&lt;br /&gt;
Stage 4 predictably takes a couple of microseconds unless the client&#039;s computer is very busy otherwise (such a case has never been reported)&lt;br /&gt;
The sum of the delay in stages 5 and 7 is called network lag. It is determined by the quality of the network connection between client and server, in case of the internet the chief influences are the client&#039;s and the server&#039;s connection to the internet, as well as the geographical distance between client and server. The sum of the average network delay is called ping and displayed on the score board. For a good connection, the delay is about constant, for a bad connection the delay may vary wildly (it is entirely possible for a message to take 3 times as long to deliver as the previous one). Since usually this is the primary source of lag, we describe it in more detail below.&lt;br /&gt;
Stage 6 is negligible unless the machine running the server is otherwise occupied at the time the message arrives.&lt;br /&gt;
Stage 8 takes at most 1000 ms / fps.&lt;br /&gt;
&lt;br /&gt;
=== Network Lag ===&lt;br /&gt;
&lt;br /&gt;
Armagetron provides two facilities to assist players in coping with constant network lag: Prediction and the lag-o-meter. Prediction displays other cycles at where the are predicted to currently be on the server assuming they did not turn in the meantime. As a result, cycles jump on the client&#039;s display on a turn (because the client guessed wrong). If prediction is disabled, cycles are displayed on the last position confirmed by the server, i.e. they are really no longer there, but the client does not know yet where they are. The lag-o-meter highlights the area where the cycle could presently be. Prediction and the lag-o-meter can be enabled/disabled in game-&amp;gt;network game-&amp;gt;network setup.&lt;br /&gt;
&lt;br /&gt;
Due to its non-predictable nature, armagetron can not cope well with non-constant network lag. Non-constant network delay is caused by heavy use of any link in the network connection. Therefore, a substantial proportion of the link should be idle. Non-constant network lag manifests in retroactive display updates on the client, i.e. other cycles jumping outside of their lag-o-meter or your own cycle&#039;s recent turn point beeing moved. It may also cause lag-o-meter to suddely grow or shrink.&lt;br /&gt;
&lt;br /&gt;
=== Reason for Network Lag - Light Speed Now, Mr. Scott ===&lt;br /&gt;
&lt;br /&gt;
As you&#039;ve probably learned at one time or another, electrical signals travel at a speed very close to the speed of light.  Consider that it takes 8 minutes (approximately) for light from the Sun to reach the Earth, if you were to stretch a copper wire from the Earth to the Sun, it would take approximately 8 minutes for an electrical pulse to travel that distance.  So electrical signals don&#039;t travel instantaneously, they merely travel so fast that the conscious brain perceives it as instantaneous.  So, to start with, every time you press a button on your computer, the electrical pulse associated with that button press has to travel some distance from the button itself to a location in the computer, and then be sent out over the wire to the game server.&lt;br /&gt;
&lt;br /&gt;
=== Hops, not beer ===&lt;br /&gt;
&lt;br /&gt;
The signal&#039;s first hop is the game itself.  Of course, that doesn&#039;t mean anything unless you know what a hop is.  A hop is considered a point along the path where the signal has to be processed and understood, at least in part, to determine where it&#039;s going to go next.  So the first hop is your computer.  The keypress has to be sent up from the hardware to your operating system&#039;s kernel, which then has to send it to the program that wants it, in this case the game client.  The game client does some processing on it (did he turn?  Did he want to say something?), and then sends it&#039;s action down through the kernel to the network interface.&lt;br /&gt;
&lt;br /&gt;
Follow?  This is not an instantaneous thing!  It is very very &#039;&#039;&#039;very&#039;&#039;&#039; fast, but it&#039;s not instantaneous.&lt;br /&gt;
&lt;br /&gt;
The next hop is probably your router, if you have one.  If you&#039;re on a high speed network, you have one.  It may be called a &amp;quot;dsl modem&amp;quot;, &amp;quot;dsl router&amp;quot;, &amp;quot;cable modem&amp;quot;, or whatever, but it&#039;s still a router.  It processes the signal to some extent, enough to figure out where to send it.  Then it sends it.  If you&#039;re running a local network attached to a cable ISP (a very common setup among players), then your first router sends it to the second router.  So now you&#039;ve had 3 hops and the signal hasn&#039;t even left the house yet!&lt;br /&gt;
&lt;br /&gt;
Then your ISP&#039;s router will pick it up, process it again, and determine where to send the signal.  Then their wholesale provider picks it up, and so on and so forth.  The signal will reach a point we generally consider the midpoint, although that&#039;s a bit of a misnomer, called the backbone.  This is the highest-speed and highest-traffic part of the internet.  It is the backbone of the internet!  From there the signal goes through another series of hops to get to the game server&#039;s house.&lt;br /&gt;
&lt;br /&gt;
From there, it usually goes first through a high speed connection device, such as a dsl router or somesuch, and then goes to a regular router used in homes to setup home networks, and finally arrives at the game server.  Now what?  Well, now the game server processes your turn, usually some fraction of a second &#039;&#039;after&#039;&#039; you originally pressed the button to indicate your turn.  Is it done?&lt;br /&gt;
&lt;br /&gt;
No, it has to send a signal back to your client when it marked the turn.&lt;br /&gt;
&lt;br /&gt;
=== Measuring Latency ===&lt;br /&gt;
&lt;br /&gt;
We refer to the time it takes for a signal on the network to leave its starting point, reach its destination, and have a response sent back as &#039;&#039;network latency&#039;&#039;.  Network latency is one type of lag, it&#039;s the parent type.  It is the thing from which all lag is inherited.  It&#039;s the Sun Source Of Lag.  And it&#039;s measured in milliseconds, typically.&lt;br /&gt;
&lt;br /&gt;
Armagetron Advanced gives you a number, called &#039;&#039;ping&#039;&#039;, which is measured in milliseconds.  That number represents the amount of time it takes a signal from you to reach the game server and be processed on the game server, and then sent back.  The game takes regular measurements along the way and always tells you your most up-to-date ping.&lt;br /&gt;
&lt;br /&gt;
== Reflexes ==&lt;br /&gt;
&lt;br /&gt;
Now that you understand network latency, you should be able to make the jump to understand latency in your body&#039;s nervous system.  When your eyes process the image you see on the screen, they send a signal to your brain.  Your brain makes a decision on what to do, and then sends a signal down your arm or whatever to push whatever button it&#039;s decided to push.  We generally call this &#039;&#039;finger lag&#039;&#039;, although there&#039;s certainly no requirement that fingers be involved.  Neuropsychologists have measured the time it takes for a signal to leave your brain and arrive at its destination along many paths, if you find this topic interesting you should certainly investigate it further.&lt;br /&gt;
&lt;br /&gt;
== Bugs in the game? ==&lt;br /&gt;
&lt;br /&gt;
Bugs in the game are usually blamed for lag.  In fact, you can tell who&#039;s at least new and/or who doesn&#039;t know jack about computers by how much they blame the game for the inaccuracies they see on the screen.  The simple fact is, Armagetron Advanced has a very solid network system that is relatively bug-free.  I&#039;m not going to pretend it&#039;s perfect, but it&#039;s definitely good enough that if you suspect a bug and you didn&#039;t write the network code yourself, then you&#039;re probably wrong.  I&#039;m not saying you are wrong, just that you&#039;re probably wrong.  I&#039;d bet money that the lag you&#039;re experiencing and blaming the game for comes from somewhere else.&lt;br /&gt;
&lt;br /&gt;
An associated comment usually comes along the lines of &amp;quot;but there has to be something in the game that can be done to compensate for it.&amp;quot;  This statement frequently accompanies a list of other games where lag isn&#039;t as big of a problem.&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take ===&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to add that the prime reason you feel more lag in AA than in, say, Counter Strike, is the difference in the game dynamics. In shooters, moving (thus defending by taking cover) and attacking (pointing your mouse and shooting) are independent actions. Taking a hit does not influence your movement immediately (it does later if you get wounded, or immediately if your pushed away by an explosion). Thus, it its possible to treat attack and defense separately in the network code and hide the lag. When you shoot at someone, you can shoot at the position you see him now, and even though your enemy really has moved away already, you&#039;ll still hit him because the server can compensate.&lt;br /&gt;
&lt;br /&gt;
In AA, attacking is moving. Defending is moving. Getting hit has an immediate and strong impact on your movement. It&#039;s not possible to divide the different aspects of movement in the network code. (Well, it is, but the result would be that it would be impossible to survive close combat for both participants) In this sense, AA is a sports game, a beat em up to be precise. And you don&#039;t see them played over the net a lot precisely because they&#039;re heavily affected by network latencies (and because it&#039;s that much more fun if you&#039;re playing against someone in the same room).&lt;br /&gt;
&lt;br /&gt;
=== Z-man&#039;s take (part 2) ===&lt;br /&gt;
&lt;br /&gt;
There are several causes of lag. &lt;br /&gt;
&lt;br /&gt;
You need to understand what happens when you press the turn key. First, at the time you press it, your client doesn&#039;t have the full information of the state your cycle is in. It only has an extrapolation that is based on what the server last sent. The first causes of lag lie directly here, the extrapolation may be wrong. If any/all of (1) - (5) goes wrong, you&#039;ll be lag sliding/jumping on your own screen with possible crashes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(1)&#039;&#039;&#039; Maybe the reason is a network problem, packets from the server to your client getting lost or delayed. &lt;br /&gt;
*&#039;&#039;&#039;(2)&#039;&#039;&#039; Maybe it is a bug in your client that causes the extrapolation to be wrong or it may just a regular gameplay thing. &lt;br /&gt;
*&#039;&#039;&#039;(3)&#039;&#039;&#039; Maybe you&#039;ve been riding within the laggometer of another player, and that player turned and threw a wall your way. &lt;br /&gt;
&lt;br /&gt;
(note)Obviously, if your client is sending the turn with a wrong gamestate, then the server will have a different view and won&#039;t be able to execute your command exactly as you expect. The server has the capacity to detect these errors, but it can&#039;t distinguish between (1) and (2). And it can&#039;t fix the problem by believing the command data from the client, this would give way to cheating.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assume your client has a reasonable game state in memory. Your turn command is then sent over the network to the server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(4)&#039;&#039;&#039; Of course, it can get lost or delayed on the way. Because the commands carry game time stamps, the server can detect and correct the problem (within reasonable bounds to avoid cheating), and it does so. &lt;br /&gt;
*&#039;&#039;&#039;(5)&#039;&#039;&#039; If there is a server bug, your command won&#039;t be executed as your client correctly predicted. After executing your command, the server sends a message back to you with the result of the execution, the client incorporates that into the extrapolation, which brings us back to (1).&lt;br /&gt;
&lt;br /&gt;
(note)The same happens to the other players/cycles. After their command is executed, updates about it are also sent to your client. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(6)&#039;&#039;&#039; (almost the same as 1) Those updates can again be lost or delayed, making the cycles go straight longer than they should, and when the update finally arrives, they jump or teleport around. Or the clients make a mistake in reading the update &lt;br /&gt;
*&#039;&#039;&#039;(7)&#039;&#039;&#039; (almost like 2), then you see them jump as well. Or the server made a mistake and delayed the command execution &lt;br /&gt;
*&#039;&#039;&#039;(8)&#039;&#039;&#039; (almost like 5), again the result is a jump of an enemy cycle. Those three are almost indistinguishable in their effect.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(9)&#039;&#039;&#039; There is &amp;quot;Death Lag&amp;quot;. Death lag is the server being nice to you. Just before you would die, the server stops your clock and waits for life saving commands from your client that were possibly delayed. The same applies to the others, so if you see another player sitting in front of a wall that strange extra bit, it&#039;s the intentional death lag. And if you experience lag and death at virtually the same time, chances are that you were not actually killed by lag, but that the lag you perceived was actually the effect of the server trying to keep you alive. Also, the client ignores all game world events that usually would kill you and does not predict your death, because false positives there would be very disturbing. That&#039;s why you sometimes happen to see your cycle pass behind the receding trail end of another cycle or over a vanishing trail, touching it a bit, going straight for half a second, then warping back and exploding. That&#039;s death lag and the intentionally missing death prediction of the client working together.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;(10)&#039;&#039;&#039; GPU lag, when your graphics card is lagging behind the rendering commands sent to it; This should only happen if you modify the &amp;quot;Swap Mode&amp;quot; default in the performance tweaks section. &#039;&#039;[Finish is pretty much a guarantee of no trouble, flush should work, and fastest is not guaranteed to do anything. The swap function the current SDL uses on Mac OS X does a flush all by itself, so on that platform fastest is flush, flush is double flush, and finish is finish followed by flush. The performance impact of a redundant flush in this sense is negligible, however. —[[User:Jonathan|Jonathan]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;(11+12)&#039;&#039;&#039; timer lag on the server or client, when the timer is somehow behaving wrongly; since the timer is essential for everything, bad things happen then. The two worst cases not caused by code bugs seen so far were a 5% accelerated clock rate on a client because the MB was overclocked, and timer jumps due to occasional clock syncs on Bugfarm.&lt;br /&gt;
*&#039;&#039;&#039;(13+14)&#039;&#039;&#039; CPU lag on server and client, when the processor is not strong enough to simulate the game and your commands get delayed because of that.&lt;br /&gt;
&lt;br /&gt;
== 6 pigs, 7 nipples! ==&lt;br /&gt;
&lt;br /&gt;
You can also improve your lag by keeping other network usage down.  When you see someone&#039;s ping fluctuating in the game, it&#039;s usually a safe bet that they have a really large download going on somewhere, KaZaA or some other large downloading program.  Web browsing while playing the game will create more lag for you, which will in turn get pushed out to other players.  You have a limited amount of bandwidth available on your internet connection, and the game server has a limited amount of bandwidth available on its connection.  Some server admins will limit the number of players on their server to address this issue, but it&#039;s still not complete.  You have to behave yourself and keep your bandwidth usage low.&lt;br /&gt;
&lt;br /&gt;
A corollary to this is when the game server in particular is sharing a connection with other servers.  For example, the Crack Pipe runs on a server that is also a web server, mail server, cvs server, and a few other things.  On top of that, it&#039;s used as an alarm clock, and as a regular desktop computer.  So it&#039;s using a fair amount of bandwidth just running, which gets pushed out to game clients.  But also under the heading of limited resources vs amount of demand, the Crack Pipe only has a 900mhz AMD Duron processor and 256MB RAM.  That&#039;s not really a lot of system resources for the amount of work it does.  So occasionally spam will be sent to the machine and it will have to spend some of its precious CPU time receiving the spam.  In the meantime, game clients suffer a little bit.  Some players have gotten to where they can identify how much spam the mail server receives while playing the game.&lt;br /&gt;
&lt;br /&gt;
== What can be done about lag? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lucifer sez&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fix the internet.&lt;br /&gt;
&lt;br /&gt;
As flippant as that is, it is the source of lag. We&#039;ve experimented (we as in &amp;quot;server admins&amp;quot;) with a number of solutions over the last year or so (and I assume it was happening earlier) and here&#039;s what we&#039;ve found, near as I can tell.&lt;br /&gt;
&lt;br /&gt;
If the machine is dedicated to the armagetron server, it will have less lag. Even my server has some interesting lag effects whenever it receives mail (it&#039;s a mail server too), and that&#039;s with the armagetronad process reniced to a low level (-15 I think it is).&lt;br /&gt;
&lt;br /&gt;
If the machine is on a slow processor with a small cache, it will have more lag. This effect is amplified if the machine is not dedicated to the game and/or if you run more than one game server.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by parallel processing on the server, so if you have a fancy Xenon processor or a dual proc setup you can have less lag.&lt;br /&gt;
&lt;br /&gt;
Lag is reduced by running a 2.6 Linux kernel over *any* other kernel (Windows, Linux 2.4, I dont&#039; know that any others have been tested in this way). It can probably be reduced even further by applying the low-latency patches, but since those are mostly used for audio work I don&#039;t know how well they&#039;d work here.&lt;br /&gt;
&lt;br /&gt;
The closer the server is to the backbone, the less lag. The closer the client is to the backbone, the less lag the client has. (I&#039;m pretty far from it, hence the high pings on teh Crack Pipe, but they do look better than they used to be)&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve done all of this, the lag will be noticeably less, but there will still be numerous complaints. This is because the internet itself is the source of all lag. So all of these measures only decrease the roundtrip time for a packet that has already crossed the internet and reached the machine.&lt;br /&gt;
&lt;br /&gt;
There have been a number of improvements in this area. 0.2.7.1 had simulation improvements, and also an improvement where the server can be anchored to a certian number of simulation steps per minute. So that&#039;s why 0.2.7.1 servers have more predictable lag than older servers, and when everyone is connected with newer clients, you can really see the difference. 0.2.8_beta2 has a major network refactoring that also seems to reduce lag, even though it may not be noticeable in your ping. I don&#039;t know that it would be noticeable in your ping, and since there aren&#039;t yet that many servers running the new betas the only measure I have is my own, which has less lag than the older version.&lt;br /&gt;
&lt;br /&gt;
The only improvements I can think of would be to optimize code here and there, and I don&#039;t even know which code needs to be optimized. I know that periodically some one or more developers profile various pieces of code and that there has been optimizing. I also know that most of the developers around here think about performance while coding. ANd I also know that there is code that is not well optimized (although I can&#039;t point to any specific line, if I could do that, I could optimize it, right?).&lt;br /&gt;
&lt;br /&gt;
So let&#039;s assign a value, C, which represents how much work is required to thoroughly optimize the code and reduce latency to bare minimum while retaining reliability and accuracy. Now let&#039;s assign a value, T, which represents how much time the entire development team has to dedicate to exactly that. Let&#039;s assign one more variable that represents how long before really fast internet arrives in everyone&#039;s houses (faster than even broadband now) and includes faster processors, faster network cards, and generally very low latency on the hardware end. We&#039;ll call this one H, for &amp;quot;toy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
C / T &amp;gt; H&lt;br /&gt;
&lt;br /&gt;
== Brain Lag ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s worth pointing out that there is also lag in your body.  Psychologists have even measured it.  It&#039;s the same basic problem as network latency, but it&#039;s worth considering.  Your eyes see what&#039;s on the screen, but it takes some milliseconds for the signal to be processed in your brain.  Then it takes some milliseconds for you to determine a reaction and act on it, and then it takes some milliseconds for the signal from your brain to travel to your fingers and make something happen.  Because of the visual nature of the game, you can&#039;t take advantage of certain reflexive systems, but through training your fingers you can reduce the amount of nerve bandwidth needed to command your light cycle.&lt;br /&gt;
&lt;br /&gt;
When I took my Intro to Psychology class, my teacher didn&#039;t have any actual numbers, it would be awfully nice of someone were to google them up.  Nevertheless, brain lag is real, and it really affects the game.  It&#039;s not as noticeable as network latency, but when you add the two together you get some interesting results.  --Lucifer&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Concepts]]&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=14334</id>
		<title>Ladle Feedback</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Feedback&amp;diff=14334"/>
		<updated>2006-07-30T00:58:55Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Feedback for the Second Ladle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle}}&lt;br /&gt;
&lt;br /&gt;
Please write your comments below about your experience of the event. You can also add comments about how it could be better... This information may be useful for anyone who tries to do such a thing again...&lt;br /&gt;
&lt;br /&gt;
== Feedback for the Second Ladle ==&lt;br /&gt;
&lt;br /&gt;
;2020&lt;br /&gt;
:Ping was a big determiner in who won the matches. Ideas suggested during the game was to split the final between two servers. Also, the captains did not make use of the challenge room in the wiki. It was all just organised before the matches, which was ok because we only have four teams of about five players each. The idea is for the system to be future-proof, scalable to hundreds if not thousands of team... I can&#039;t see this working that well with more than four teams. I think team captains should take a little more responsibillity for making sure they choose a server that suits their players. And of course, it is the responsibility of the players to turn up! Oh well... Also... it would be nice to have little animations of the highlight, specific moves, climax battles, that kind of thing... can I change the format of the recording to make it quicktime? [[User:2020|2020]]&lt;br /&gt;
;Lackadaisical&lt;br /&gt;
:Would it be possible to do the next ladle on a sunday and maybe a bit earlier? Saturday night isn&#039;t the best time to go play a computergame for the europeans.&lt;br /&gt;
&lt;br /&gt;
;Meriton&lt;br /&gt;
:The time the event takes place (start at 11:30 PM) is a bit tough for me. Might it be possible to indulge us European players and have it take place a couple of hours earlier next time? Personally, I prefer Saturday to Sunday as I have to get up early on Mondays.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:If we are to drop scheduled games again from not enough teams show, we should move those matches up in time instead of delaying. WS lost half their players do to the time being changed. We do need to work out the scheduling on the wiki better next time as the matches ended up being switched right before game time.&lt;br /&gt;
&lt;br /&gt;
:The procedural changes made since the last ladle really improved things. You did a GREAT job coordinating everything 2020. Thank you! Team coordination seemed to flow very well and having an admin on hand was a big help. The team captains were able to work out any issues and the players were polite to each other. I&#039;d say we all had fun and in the end that is the reason we all showed up. Congratulations to everyone who played!&lt;br /&gt;
&lt;br /&gt;
:And dealing with the ping issue: Over all having a few low ping players on any one team does not make it unfair. It is when 100% of one team&#039;s players have 1/3 the ping of the other that attrition will catch up every time. (Not to bring up my 438 ping ;), lol)  An average 180s on one side vs 60s on the other can be a bit unbalanced. Similar to a 4 vs 7 player match. To solve this I don&#039;t think a single server can be found to please everyone. Germany does have some of the most active players so it would be wrong to say force them to play a US server for example.  Perhaps some ideas can be worked out before the next ladle. Playing half the games on one server then switching might cause it&#039;s own logistics issues. What are some other peoples ideas?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback for the First Ladle ==&lt;br /&gt;
&lt;br /&gt;
=== The Quality of Your Playing ===&lt;br /&gt;
;2020&lt;br /&gt;
:I was a passenger. I moved house, was using an old computer (fps was 15), and my connection got broken 3 times while playing Shadow League in the Semi&#039;s -- aaaaarrrrrghghghghgh. Like Van, hehe, and Durka I think.&lt;br /&gt;
* Yep me 2---[[User:Durka|Durka]]&lt;br /&gt;
*heh ya I wish my connection dropped only 3 times, More like 10-15, there was a storm going on at the time--[[User:Vanhayes|Vanhayes]]&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:It was a nice surprise that my ISP didn&#039;t have their usual holiday weekend hiccups. :)  Over all I certainly could have done better, I&#039;m not very good under pressure and my dialup connection seems to get saturated with more than 12 players on the grid. Oh and Manta sucks at sweeping :P&lt;br /&gt;
&lt;br /&gt;
;sky&lt;br /&gt;
:well my computer already sucks haha. so i did fine until the AW match. made a lot more mistakes. only in the last AW match i was able to get like 8 or 10 points or somethin. but the other rounds there were less players playing like 7v7s or 6v6s and it was much easier to get through. also my ping was nicer. i want a pc haha. still had a great time though&lt;br /&gt;
&lt;br /&gt;
=== The Quality of Your Team Playing ===&lt;br /&gt;
;2020&lt;br /&gt;
:Anarchic Wanderers were amazing. I never got to see much of the offence, but defence was superb. Garissimo was solid at the back, only getting beaten when the odds were 4 to 1. I saw Vanhayes pulling off a major stunt -- amazing! And Eggcozy was superb as sweeper. I had fun playing with the offence of the other teams most times; we just kept them back for ages while our offence did the biz. Superb quality of play.&lt;br /&gt;
*;[[User:Durka|Durka]]&lt;br /&gt;
*:I played for AW in the match against SL. I didn&#039;t get to see much of the amazing defense by our team. Everytime I would just bust through their middle and take up part of Sasha&#039;s def before he could make it complete. The problem was SL sometimes delayed Zop and the others from getting there soon enough...so I would be cramming part of the zone, but it would sometimes do nothing as we had no one else. SL realized this and Sasha&#039;s teammates would try and trap me in their zone. But, sometimes it did work and Zop would get their fast along with one other person and we would capture the zone fast (3 offense vs. 2 defense). It was a great team effort...4 points from winning the second match and 2 from winning the third. Well done SL and CONGRATULATIONS.&lt;br /&gt;
*&#039;&#039;&#039;sKy&#039;&#039;&#039;&lt;br /&gt;
:awesome&lt;br /&gt;
&lt;br /&gt;
=== Getting Your Team Ready for The Match ===&lt;br /&gt;
;2020&lt;br /&gt;
:Damned messy. I couldn&#039;t get on the server for about 10 mins. We started about 30 mins late... it gets a little tedious when people are there, some playing, some just waiting for the real game. It would be nice if we could just import an entire team into a server. Have some kind of pre-grid preparation like in the film. Once teams are sorted, we just port into the server. Would be simple. Players would then turn up on time, otherwise, they just miss the boat. Trying to organise a match while playing is tough... too many distractions. Still... we managed it in the end... somehow...&lt;br /&gt;
&lt;br /&gt;
*;[[User:Durka|Durka]]&lt;br /&gt;
*:I got to play one round with ¡LØL! because I was late. I showed up and only 2 people that were ACTUALLY on WS were playing. Everyone else was picked up &amp;quot;from the streets.&amp;quot; (Example: man2d played with ¡LØL!, (WS), &amp;amp; SL during the tourney...just a little unfair). Also, we really needed 8 teams not 6 (there were 7, but CT didn&#039;t show). (Example: the ¡LØL! vs. WS match in the first round was actually a semi-final match so who-ever won was automatically in the finals...yet again weird. But, overall, the tourney was definately fun. Next time 2020, can we please not try and play the tournament &#039;&#039;&#039;ALL IN ONE DAY!!!&#039;&#039;&#039; Too chaotic!&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:Getting Wraith Squadron ready for each match was actually quite easy. All our players met in an MSN chat room one hour before the start time and we did all our coordinating from there. This made it very easy for us to all show up on one server at the same time. We then disconnected during game play of course. ---- Since there were ONLY 2 ladle servers and LOL &amp;amp; WS were the last teams paired we were forced to use Bugfarm fortress. This caused quite a bit of confusion with visiting players joining the match. Kindly, most willingly left or stayed as spectators. Also I don&#039;t believe man2d played for WS at any time during the tournament as he was on each of the opposing teams we played. Wish we had had him though.&lt;br /&gt;
&lt;br /&gt;
=== Team-Captains and the Challenge Room ===&lt;br /&gt;
;2020&lt;br /&gt;
:As admin of 2020&#039;s T-room it was ok... but a bit stressful. Loads of people, including non-captains and noobs entering. The text area was too small and too many people were talking. Some were asking me to die so that they could join the game -- as if we were meant to be playing! Some of the non-captains were useful since they could leave the T-room and search for players like Xevi for Crazy Tronners, and the state of play in matches.&lt;br /&gt;
:Team-captains did the job well though, challenging one another, then setting off to do their matches. However, I think we should have waited until everyone knew who was playing who and where before leaving. The only real way of doing this is building a simple interface with challenge-board, etc so that people could see if they were challenged and whether they accepted etc. Still.. on the whole, it worked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:While using the T-room was problematic it did serve it&#039;s purpose well and its probably the only 100% sure way everyone has to communicate. 2020 took down the chat-server while he played which is understandable but we really need one up at all times for team captains to check in on each other while another match may still be ongoing. THANK YOU for all your work 2020, the ladle would not have been the success it was without you!&lt;br /&gt;
&lt;br /&gt;
=== Anything else? ===&lt;br /&gt;
;2020&lt;br /&gt;
:Could have done with more matches. Also, losing teams could have played one another. In fact, we probably had time to play a round-robin affair. What was best about it is that we ended up with a winner. We trusted team-captains, and they pulled it off.&lt;br /&gt;
:My wishlist? Somehow keep teams together, maybe with some kind of pre-grid preparation room like the film. If this runs simultaneously to gameplay, you can be playing around in some server, and then when your team is assembled and ready, you are notified and requested to port to the proper server where your team assembles against the opposing team. Also, some kind of software to automate the challenges. The chat-facility was not good enough... too much noise...&lt;br /&gt;
:It is all to do with timing. As a first attempt, I think it was successful. The trick is... how to make it better...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Manta&lt;br /&gt;
:--- Having the ability to lock a server to a certain number of players ahead of time. While letting there be room for a couple of spectators so backup team members can standby but keeping riffraff from joining. --- Letting a small majority successfully kick someone, without having to distract all the players with the vote. --- Have shuffle down AND up enabled to allow team placement. --- Have more servers available. --- Personally I liked the month long idea but I must say having the games all on one day seemed to work better. But this also made it very hectic and with elimination, losing teams only got to play one match after the effort of getting everyone coordinated. --- Over all I&#039;d say the ladle was a great success and everyone had a great time which is most important.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Winners&amp;diff=10831</id>
		<title>Ladle Winners</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Winners&amp;diff=10831"/>
		<updated>2006-07-02T12:56:30Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Congratulations to the Winners! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle}}&lt;br /&gt;
The Ladle played between within three hours on 1st July 2006 was... Shadow League!&lt;br /&gt;
&lt;br /&gt;
== Congratulations to the Winners! ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Wraith Squadron in straight matches (2-0) in the final.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Anarchic Wanderers in a nail-biting climax after going down in the first match (2-1) in the semi-finals.&#039;&#039;&#039;&lt;br /&gt;
*It was a close game. A very close game. Garrisimo was playing like a man on fire, but this still didn&#039;t prevent Shadow League from taking our zone once too often. They came back from first match loss, and in the third match, they came from behind to reach a nail-biting 98-98... well done! I played like a noob, and the rest of my team carried me. Next time... Shadow League... next time.... [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
* In the first match, zop (who was playing for AW) was doing his usual speed-grinding thing towards or right side and by sheer bad luck, in the confusion of everyone shuffling around, our second (Ossi) and third defender (meriton) were both starting on the left side, whereas our goalie (Sasha) started on the right (IIRC), but due to sealing the center lane ended up on the left as well. To make matters worse, the other players on the right side did not realize they had no defender on their side or simply could not handle zop&#039;s speed grind: They grinded until the last moment, only to be surrounded by the speed-grinding zop, who then directly proceeded to insert himself (and a few friends of his ;) in our zone. Until we finally realised what went wrong, the match was nearly over, with us very much behind. I then shuffled over to the right and - by virtue of splitting real early - managed to delay zop until sasha had had a chance to setup. From then on, the teams were very evenly matched, but with the lead AW had gained, the first match went to them. The second match saw some very close fighting among great players, I don&#039;t recall much except - for the first time I can recall - feeling dwarfed by the great skill surrounding me. Both teams fought well, and as the last round arrived, it became clear that whoever won this round would win the match (both teams were slightly above 90 points IIRC). Luckily for SL, they made it, avoiding to drop out of the tournament by a very narrow margin. The third and final match started with a few rounds going to AW, and again every outcome was possible. After fierce fighting on both sides, both team got more than 90 points at the beginning of the last round (IIRC, it was 96 : 94 for AW). After some minutes, it was 98:96 for AW, and AW began to hunt our weaker players. In doing so, they left their goalie (garisimo) alone, and I was able to slip through to him. I used a standard speed attack, and trying not to leave me any space while still hiding behind his wall, garisimo tripped over his tail, and I was able get inside and claim the zone. At about the same time, one of our attackers got one of his pursuers, so the final score was 110:98 for SL.&lt;br /&gt;
&lt;br /&gt;
:On our side, I could chiefly assess the performance of our defense team, were Sasha was a class of his own. Surrounded by 3 players, among which zop and lacka, he managed to hold them off for minutes, never leaving a gap, reclaiming all reachable space, and frequently killing them with his wall&#039;s edges. I was also able to assess the performance of AW&#039;s attack, which was humbling in its skill and coordination. Especially zop, who was chiefly responsible for AW&#039;s victory in the first match and AW&#039;s near victory in the second match, but also lacka and the others who provided who got there slower, but were no less effective once they were close. Never on the grid have I seen such skill, determination, and cooperation, and I can say that it would have been no shame at all to have to have lost that game to AW. [[User:Meriton|Meriton]] 14:54, 2 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Lords of Destruction in straight matches (2-0) in the quarter finals.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
.:thankyou. we played our best and i think the others would agree, AW gave us all a &#039;&#039;&#039;very&#039;&#039;&#039; difficult and stressful match. although we were missing belenus infamous and maverik. meriton and road came on the spot. and badzilla played very well in the AW match. sasha played very nice defense and Ossi played good as sweeper. Mayday and Man2d came in the finals and also played very nicely. and then Choco sub&#039;d in for sasha later that match. thankyou meriton, badzilla, ossi, may.day, man2d, road, sasha, choc, and nazgul for coming to the events. this also goes to show you that there are plenty of nonclan players who know their stuff. To the teams that we did not play: if you guys would like to play us to see how u fare. find me in the games and we&#039;ll try to work something out. and thanks 2020 and the others for organizing this tournament. it was a lot of fun:. -SL(sKy)&lt;br /&gt;
&lt;br /&gt;
== The Full Results ==&lt;br /&gt;
Please write as much info as you know and any game comments you wish to add...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Quarter-finals ===&lt;br /&gt;
&#039;&#039;&#039;Anarchic Wanderers v Speeders at Z-man&#039;s Ladle (2-0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Anarchic Wanderers were Zop, Eggcozy, Nii, Garissimo, Hayline, Vanhayes, Lackadaisical and 2020.&lt;br /&gt;
&lt;br /&gt;
The Speeders were Psyko, What-up, Speed, Xell, Blackfang, Joda.bot, Oblivion, and Kenny.&lt;br /&gt;
&lt;br /&gt;
* Tough game, and I think we caught them cold. With the best of 3, there is not much room for mistakes. Zop I think played well, and somehow he and my team-mates managed to penetrate Psyko&#039;s defence. The midfield was amazing. The skill level high. As part of the defence, it was amazing playing with Eggcozy and Vanhayes... and with Garissimo at the back doing his contracting and expanding, we kept them back for ages giving our offence time to do their magic. I was surprised how fast it went. [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadron v LOL at Bugfarm Fortress (2-1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wraith Squadron were ....&lt;br /&gt;
&lt;br /&gt;
LOL were...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lords of Destruction v Shadow League at LoD Lords of Destruction Clanserver (0-2)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Lords of Destruction were...&lt;br /&gt;
&lt;br /&gt;
The Shadow League were...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Crazy Tronners were not represented so they got into the next round...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Semi-finals ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anarchic Wanderers v Shadow League at Z-man&#039;s Ladle (1-2)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Anarchic Wanderers were Zop, Vanhayes, Garissimo, Eggcozy, Haylin, Lackadaisical, 2020, and Durka.&lt;br /&gt;
&lt;br /&gt;
The Shadow League were Road66, Sky, Ossi, Man2d, Meriton, Badzilla, Mayday, and Sasha.&lt;br /&gt;
&lt;br /&gt;
*(see Congratulations above) We were missing several of our regulars... Ghableska, Madmax, Featherfcuk, TBL... but we did ok in the end with some phenomenal players wearing the [AW] tag. Amazing amount of skill. [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadron v Crazy Tronners at Bugfarm Fortress (CT do not turn up)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Finals ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadrn v Shadow League at Z-man&#039;s Ladle (0-2)&#039;&#039;&#039;&lt;br /&gt;
* Wraith Squadron were...&lt;br /&gt;
* The Shadow League were: Road66, Sky, Ossi, Man2d, Meriton, Badzilla, Mayday, Sasha and Choco who substituted for Sasha&lt;br /&gt;
&lt;br /&gt;
{{Ladle}}&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Ladle_Winners&amp;diff=10821</id>
		<title>Ladle Winners</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Ladle_Winners&amp;diff=10821"/>
		<updated>2006-07-02T12:54:30Z</updated>

		<summary type="html">&lt;p&gt;Meriton: Match commentary: AW vs. SL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle}}&lt;br /&gt;
The Ladle played between within three hours on 1st July 2006 was... Shadow League!&lt;br /&gt;
&lt;br /&gt;
== Congratulations to the Winners! ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Wraith Squadron in straight matches (2-0) in the final.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Anarchic Wanderers in a nail-biting climax after going down in the first match (2-1) in the semi-finals.&#039;&#039;&#039;&lt;br /&gt;
*It was a close game. A very close game. Garrisimo was playing like a man on fire, but this still didn&#039;t prevent Shadow League from taking our zone once too often. They came back from first match loss, and in the third match, they came from behind to reach a nail-biting 98-98... well done! I played like a noob, and the rest of my team carried me. Next time... Shadow League... next time.... [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
* In the first match, zop (who was playing for AW) was doing his usual speed-grinding thing towards or right side and by sheer bad luck, in the confusion of everyone shuffling around, our second (Ossi) and third defender (meriton) were both starting on the left side, whereas our goalie (Sasha) started on the right (IIRC), but due to sealing the center lane ended up on the left as well. To make matters worse, the other players on the right side did not realize they had no defender on their side or simply could not handle zop&#039;s speed grind: They grinded until the last moment, only to be surrounded by the speed-grinding zop, who then directly proceeded to insert himself (and a few friends of his ;) in our zone. Until we finally realised what went wrong, the match was nearly over, with us very much behind. I then shuffled over to the right and - by virtue of splitting real early - managed to delay zop until sasha had had a chance to setup. From then on, the teams were very evenly matched, but with the lead AW had gained, the first match went to them. The second match saw some very close fighting among great players, I don&#039;t recall much except - for the first time I can recall - feeling dwarfed by the great skill surrounding me. Both teams fought well, and as the last round arrived, it became clear that whoever won this round would win the match (both teams were slightly above 90 points IIRC). Luckily for SL, they made it, avoiding to drop out of the tournament by a very narrow margin. The third and final match started with a few rounds going to AW, and again every outcome was possible. After fierce fighting on both sides, both team got more than 90 points at the beginning of the last round (IIRC, it was 96 : 94 for AW). After some minutes, it was 98:96 for AW, and AW began to hunt our weaker players. In doing so, they left their goalie (garisimo) alone, and I was able to slip through to him. I used a standard speed attack, and trying not to leave me any space while still hiding behind his wall, garisimo tripped over his tail, and I was able get inside and claim the zone. At about the same time, one of our attackers got one of his pursuers, so the final score was 110:98 for SL. To say this was a close game would be an understatement of titanic proportions. &lt;br /&gt;
&lt;br /&gt;
:On our side, I could chiefly assess the performance of our defense team, were Sasha was a class of his own. Surrounded by 3 players, among which zop and lacka, he managed to hold them off for minutes, never leaving a gap, reclaiming all reachable space, and frequently killing them with his wall&#039;s edges. I was also able to assess the performance of AW&#039;s attack, which was humbling in its skill and coordination. Especially zop, who was chiefly responsible for AW&#039;s victory in the first match and AW&#039;s near victory in the second match, but also lacka and the others who provided who got there slower, but were no less effective once they were close. Never on the grid have I seen such skill, determination, and cooperation, and I can say that it would have been no shame at all to have to have lost that game to AW. [[User:Meriton|Meriton]] 14:54, 2 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;They beat Lords of Destruction in straight matches (2-0) in the quarter finals.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
.:thankyou. we played our best and i think the others would agree, AW gave us all a &#039;&#039;&#039;very&#039;&#039;&#039; difficult and stressful match. although we were missing belenus infamous and maverik. meriton and road came on the spot. and badzilla played very well in the AW match. sasha played very nice defense and Ossi played good as sweeper. Mayday and Man2d came in the finals and also played very nicely. and then Choco sub&#039;d in for sasha later that match. thankyou meriton, badzilla, ossi, may.day, man2d, road, sasha, choc, and nazgul for coming to the events. this also goes to show you that there are plenty of nonclan players who know their stuff. To the teams that we did not play: if you guys would like to play us to see how u fare. find me in the games and we&#039;ll try to work something out. and thanks 2020 and the others for organizing this tournament. it was a lot of fun:. -SL(sKy)&lt;br /&gt;
&lt;br /&gt;
== The Full Results ==&lt;br /&gt;
Please write as much info as you know and any game comments you wish to add...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Quarter-finals ===&lt;br /&gt;
&#039;&#039;&#039;Anarchic Wanderers v Speeders at Z-man&#039;s Ladle (2-0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Anarchic Wanderers were Zop, Eggcozy, Nii, Garissimo, Hayline, Vanhayes, Lackadaisical and 2020.&lt;br /&gt;
&lt;br /&gt;
The Speeders were Psyko, What-up, Speed, Xell, Blackfang, Joda.bot, Oblivion, and Kenny.&lt;br /&gt;
&lt;br /&gt;
* Tough game, and I think we caught them cold. With the best of 3, there is not much room for mistakes. Zop I think played well, and somehow he and my team-mates managed to penetrate Psyko&#039;s defence. The midfield was amazing. The skill level high. As part of the defence, it was amazing playing with Eggcozy and Vanhayes... and with Garissimo at the back doing his contracting and expanding, we kept them back for ages giving our offence time to do their magic. I was surprised how fast it went. [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadron v LOL at Bugfarm Fortress (2-1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wraith Squadron were ....&lt;br /&gt;
&lt;br /&gt;
LOL were...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lords of Destruction v Shadow League at LoD Lords of Destruction Clanserver (0-2)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Lords of Destruction were...&lt;br /&gt;
&lt;br /&gt;
The Shadow League were...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Crazy Tronners were not represented so they got into the next round...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Semi-finals ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anarchic Wanderers v Shadow League at Z-man&#039;s Ladle (1-2)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Anarchic Wanderers were Zop, Vanhayes, Garissimo, Eggcozy, Haylin, Lackadaisical, 2020, and Durka.&lt;br /&gt;
&lt;br /&gt;
The Shadow League were Road66, Sky, Ossi, Man2d, Meriton, Badzilla, Mayday, and Sasha.&lt;br /&gt;
&lt;br /&gt;
*(see Congratulations above) We were missing several of our regulars... Ghableska, Madmax, Featherfcuk, TBL... but we did ok in the end with some phenomenal players wearing the [AW] tag. Amazing amount of skill. [[User:2020|2020]] 2nd July 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadron v Crazy Tronners at Bugfarm Fortress (CT do not turn up)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Finals ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wraith Squadrn v Shadow League at Z-man&#039;s Ladle (0-2)&#039;&#039;&#039;&lt;br /&gt;
* Wraith Squadron were...&lt;br /&gt;
* The Shadow League were: Road66, Sky, Ossi, Man2d, Meriton, Badzilla, Mayday, Sasha and Choco who substituted for Sasha&lt;br /&gt;
&lt;br /&gt;
{{Ladle}}&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=LADLE_team-lists&amp;diff=10341</id>
		<title>LADLE team-lists</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=LADLE_team-lists&amp;diff=10341"/>
		<updated>2006-07-01T18:56:26Z</updated>

		<summary type="html">&lt;p&gt;Meriton: added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ladle Team Legend}}&lt;br /&gt;
{{Ladle}}&lt;br /&gt;
Stick your name down on a list, or start your own team. There are a maximum of 16 teams allowed for [[THE LADLE]]. Indicate a captain. Don&#039;t just put your name in the pool list. It would be better if you would just create a team as we are trying to get up to 16 teams.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Today is the day! Please elect a team captain and check out the [[Challenge Room]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== [[Anarchic wanderers]] ==&lt;br /&gt;
* 2020&lt;br /&gt;
* madmax&lt;br /&gt;
* T to the BL&lt;br /&gt;
* featherfcuk&lt;br /&gt;
* gArIsImOoOoOoOoOoOoOoOoOoOoO&lt;br /&gt;
can we get lacks to join us as well as maz, cycle and pavel? please&lt;br /&gt;
&lt;br /&gt;
== [[~*SpeederS*~]] ==&lt;br /&gt;
* Team captain: PsYkO (gogodsmackgo@hotmail.com)&lt;br /&gt;
* omega&lt;br /&gt;
* Joda&lt;br /&gt;
* demon&lt;br /&gt;
* slash&lt;br /&gt;
* Oblivion&lt;br /&gt;
* PsYkOCIRCLE!&lt;br /&gt;
* cyclotron&lt;br /&gt;
* error&lt;br /&gt;
* kenny&lt;br /&gt;
* speed&lt;br /&gt;
* freak&lt;br /&gt;
* leeroy&lt;br /&gt;
* xell&lt;br /&gt;
* sonar&lt;br /&gt;
&lt;br /&gt;
== -=Lords Of Destruction=- ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Ady-Lucifer&lt;br /&gt;
* Mephisto&lt;br /&gt;
* Dez&lt;br /&gt;
* $ubzero&lt;br /&gt;
* Hay-Lin&lt;br /&gt;
&lt;br /&gt;
== [[Shadow League (fe)]] == &lt;br /&gt;
* sKy&lt;br /&gt;
* Radian&lt;br /&gt;
* Ryu&lt;br /&gt;
* Ossi&lt;br /&gt;
* Nazgul&lt;br /&gt;
* Monk&lt;br /&gt;
* Gusbo T. Jam esq (if that&#039;s ok with you guys....:))&lt;br /&gt;
* (Cho)&lt;br /&gt;
* belenus&lt;br /&gt;
* Infamous&lt;br /&gt;
* Sasha&lt;br /&gt;
* Maverik&lt;br /&gt;
* Meriton (if you need me, I am here)&lt;br /&gt;
&lt;br /&gt;
== [[Wraith Squadron]] ==&lt;br /&gt;
Special forces who are not only unrivaled in a star fighter cockpit but unmatched with a vibrio blade in hand to hand combat.  &lt;br /&gt;
Unfortunately our slicer met an untimely demise and now we have been forced to digitized ourselves and enter our flight computers to core dump these wayward programs.&lt;br /&gt;
&lt;br /&gt;
* BlAzE&lt;br /&gt;
* Manta&lt;br /&gt;
* me&lt;br /&gt;
* treeripe&lt;br /&gt;
* upacreek&lt;br /&gt;
&lt;br /&gt;
== [http://tron.plantpeanuts.co.uk/portal.php CrazyTronners] ==&lt;br /&gt;
We finally sign up, let&#039;s take fun dudes. Our players list is subjected to changes, cause we are live clan. [[CrazyTronners]]&lt;br /&gt;
* Xevi&lt;br /&gt;
* 1394-freak&lt;br /&gt;
* 4400&lt;br /&gt;
* cid&lt;br /&gt;
* ed&lt;br /&gt;
* i play rs&lt;br /&gt;
* kilabit&lt;br /&gt;
* King&lt;br /&gt;
* Kyle&lt;br /&gt;
* loops&lt;br /&gt;
* man2d&lt;br /&gt;
* PTA&lt;br /&gt;
* Robed&lt;br /&gt;
* root&lt;br /&gt;
* Shadow&lt;br /&gt;
* syllabear&lt;br /&gt;
* Voodoo&lt;br /&gt;
* Warzelan&lt;br /&gt;
* Also our padawans&lt;br /&gt;
&lt;br /&gt;
== [http://teamlol.8k.com ¡LØL!] ==&lt;br /&gt;
We are getting more players everyday so the list will continue to increase. If you would like to play with us, register [http://www.setbb.com/claneverybodyel/profile.php?mode=register&amp;amp;mforum=claneverybodyel HERE] and I&#039;ll put your name on the list. &lt;br /&gt;
[[¡LØL! Clan|Wiki Page]]&lt;br /&gt;
*Dµ®Kå&lt;br /&gt;
*WiLdCaT &lt;br /&gt;
*Chuck&lt;br /&gt;
*Goodygumdrops&lt;br /&gt;
*JJBean&lt;br /&gt;
*Legit &lt;br /&gt;
*JJBean&lt;br /&gt;
*PyRoTeK&lt;br /&gt;
*G5&lt;br /&gt;
*Trace&lt;br /&gt;
*2b|!2b?&lt;br /&gt;
*Sha9y&lt;br /&gt;
*Scythe&lt;br /&gt;
*RyRy&lt;br /&gt;
*SATAN&lt;br /&gt;
*Amafuckdisbitch&lt;br /&gt;
*IceStage&lt;br /&gt;
*Nate&lt;br /&gt;
*Blader&lt;br /&gt;
&lt;br /&gt;
== [[the pool]] ==&lt;br /&gt;
For unaffiliated players who would like to play on the day...&lt;br /&gt;
* Lackadaisical -I doubt i can play, but if i am i&#039;ll be at the irc channel, appreciate the offer psyko, but i guess it would be better to join a team who doesn&#039;t have (more than enough) players.&lt;br /&gt;
* Vanhayes-might be busy, but I will show up on the day if I can and play if I am needed.&lt;br /&gt;
* Phresh/Pandemonium&lt;br /&gt;
* Pez&lt;br /&gt;
* I guess we could take Lack - PsYkO&lt;br /&gt;
give him and the other pool players to a team that doesnt have about 15 people -_-.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=4506</id>
		<title>Camera Glance Keys</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Camera_Glance_Keys&amp;diff=4506"/>
		<updated>2006-05-20T05:55:20Z</updated>

		<summary type="html">&lt;p&gt;Meriton: reflected changes in latest test version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background:#ccc; border:1px solid black; margin:0.4em; padding:0.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; This page describes glancing as implemented by the glancing test version. The current releases use a slightly different system.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Manual Camera Control =&lt;br /&gt;
&lt;br /&gt;
While the camera tries to show the areas of the grid that are most interesting to you, the camera can not always anticipate your wishes. Manual camera control permits you to adjust the perspective while playing to show the things that really matter.&lt;br /&gt;
&lt;br /&gt;
The keys for manual camera control can be configured in &lt;br /&gt;
&lt;br /&gt;
Main Menu/Player Setup/Player x Settings/Camera Input Configuration&lt;br /&gt;
&lt;br /&gt;
= What Is Glancing? =&lt;br /&gt;
&lt;br /&gt;
Glancing is the most common form of custom camera control. It causes the camera to face towards a specific direction and is controlled by the four glance keys &amp;quot;glance forward&amp;quot;, &amp;quot;glance backward&amp;quot;, &amp;quot;glance left&amp;quot; and - you guessed it - &amp;quot;glance right&amp;quot;. Unless you changed them in the player options, the glance keys are the arrow keys.&lt;br /&gt;
&lt;br /&gt;
= Why Would I Want to Glance? =&lt;br /&gt;
&lt;br /&gt;
Glad you asked ;-). Using glancing, you can look in any direction, regardless of where you are driving to. You can glance backwards to check whether someone (friend or foe) is grinding your wall. You can glance right to check whether you or the opponent is ahead. You can watch what happens at a fortress while driving by or watch its interior while circling it. &lt;br /&gt;
&lt;br /&gt;
The only disadvantage about glancing is that you might be so absorbed in the action around you that you forget to watch what might endanger your cycle ...&lt;br /&gt;
&lt;br /&gt;
= How Do I Glance? = &lt;br /&gt;
&lt;br /&gt;
Glancing is activated by pressing a glance key and maintained by keeping any glance key pressed.&lt;br /&gt;
&lt;br /&gt;
For instance, pressing &amp;quot;glance left&amp;quot; for a while will show you the area left of your cycle until you release the key, upon which the automatic camera control takes over again.&lt;br /&gt;
&lt;br /&gt;
More precisely, when you press a glance key, you &amp;quot;load&amp;quot; that key with a request to face towards a specific direction, and while you keep pressing the key, the request will be acted upon (if you keep more than one glance key pressed, the most recently pressed one is active). &lt;br /&gt;
&lt;br /&gt;
The direction you request is the current view direction, snapped to the closest axis, rotated as specified by the glance key. (If you were already glancing, only the rotation specified by the glance key is updated, the base direction remains unchanged).&lt;br /&gt;
&lt;br /&gt;
Note that glancing is completly independent of the cycle&#039;s driving direction. Therefore, there is nothing wrong with glancing over extended periods of time.&lt;br /&gt;
&lt;br /&gt;
= How Can I Configure Glancing? =&lt;br /&gt;
&lt;br /&gt;
Aside from adjusting the glance keys, glance behavior is controlled by the following options:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_GLANCE_ANGULAR_VELOCITY&lt;br /&gt;
:Controls how swiftly the camera rotates towards the requested facing. More precisely, this setting contains the angular velocity (if the camera&#039;s facing is perpendicular to the requested facing). Unit: Radians per second.&lt;br /&gt;
;CAMERA_GLANCE_MODE&lt;br /&gt;
:Controls how the camera rotates towards the requested facing. Possible values are:&lt;br /&gt;
:;0&lt;br /&gt;
::The camera aproaches the requested facing with constant angular velocity.&lt;br /&gt;
:;1&lt;br /&gt;
::The camera approaches the requested facing with angular velocity propotional to angle left to travel.&lt;br /&gt;
:;2&lt;br /&gt;
::The camera approaches the requested facing with constant angular velocity if the angle left is larger than 90°, otherwise with angular velocity proportional to sin(angle).&lt;br /&gt;
:;any other setting&lt;br /&gt;
::The camera always &amp;quot;jumps&amp;quot; instantly to its new position. Totally useless IMHO.&lt;br /&gt;
&lt;br /&gt;
Since the smart camera offers a (in the dev&#039;s humble opinion) poor perspective when glancing, its location is configurable independently:&lt;br /&gt;
&lt;br /&gt;
;CAMERA_SMART_GLANCING_BACK&lt;br /&gt;
:How far the camera is moved behind the cycle when glancing&lt;br /&gt;
;CAMERA_SMART_GLANCING_HEIGHT&lt;br /&gt;
:How far the camera is moved up. There is no pitch setting, the cycle always appears in the centre of the screen&lt;br /&gt;
&lt;br /&gt;
Note that CAMERA_SMART_GLANCE_CUSTOM no longer exists. Those who prefer the old behavior are advised to use the preceeding options to simulate it.&lt;br /&gt;
&lt;br /&gt;
= Known Limitations = &lt;br /&gt;
&lt;br /&gt;
Due to axis snapping, if the current view direction is right between two axis, the glance directions are unspecified. Most automatic modes rarely reach that point on their own, but may do so if glancing has just been recently deactivated. We haven&#039;t found an easy way around that (as axis snapping is very useful).&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3876</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3876"/>
		<updated>2006-04-16T07:39:36Z</updated>

		<summary type="html">&lt;p&gt;Meriton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
sKy is still trying. he is asking opponents to drop by our forum at fe-clan.mlbel.de .&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 02:26, 16 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== Deutsche Übersetzung ==&lt;br /&gt;
&lt;br /&gt;
Um unsere Spiele zu planen müssen wir wissen, wer wann spielen kann.&lt;br /&gt;
&lt;br /&gt;
Bitte schreibt alle Zeiten in GMT, die Website hilft beim umrechnen. Wenn ihr in Mitteleuropa seid: Die Zeitdifferent zwischen mitteleuropäischer Zeit und GMT beträgt 2 Stunden; 10 GMT ist 12:00 MEZ.&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 22:00 GMT.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;br /&gt;
&lt;br /&gt;
sKy: every day cept maybe tuesday and sunday. but plz weekend if possible becuz AP exams are coming up for me and im gonna be pretty busy throughout the week.&lt;br /&gt;
&lt;br /&gt;
== week 3 ==&lt;br /&gt;
(Monday 17th - Sunday 22nd)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday between 8 and 20 GMT, Tuesday to Friday impossible, Saturday and Sunday between 7 and 19 GMT.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3875</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3875"/>
		<updated>2006-04-16T07:34:25Z</updated>

		<summary type="html">&lt;p&gt;Meriton: german translation of instructions, my availability for next week&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
We&#039;re still trying... sKy is asking opponents to drop by our forum at fe-clan.mlbel.de .&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 02:26, 16 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== Deutsche Übersetzung ==&lt;br /&gt;
&lt;br /&gt;
Um unsere Spiele zu planen müssen wir wissen, wer wann spielen kann.&lt;br /&gt;
&lt;br /&gt;
Bitte schreibt alle Zeiten in GMT, die Website hilft beim umrechnen. Wenn ihr in Mitteleuropa seid: Die Zeitdifferent zwischen mitteleuropäischer Zeit und GMT beträgt 2 Stunden; 10 GMT ist 12:00 MEZ.&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 22:00 GMT.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;br /&gt;
&lt;br /&gt;
sKy: every day cept maybe tuesday and sunday. but plz weekend if possible becuz AP exams are coming up for me and im gonna be pretty busy throughout the week.&lt;br /&gt;
&lt;br /&gt;
== week 3 ==&lt;br /&gt;
(Monday 17th - Sunday 22nd)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday between 8 and 20 GMT, Tuesday to Friday impossible, Saturday and Sunday between 7 and 20 GMT.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3874</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3874"/>
		<updated>2006-04-16T07:26:35Z</updated>

		<summary type="html">&lt;p&gt;Meriton: moved sKy&amp;#039;s notice to the top so it might be seen :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
We&#039;re still trying... sKy is asking opponents to drop by our forum at fe-clan.mlbel.de .&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 02:26, 16 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed:Most days 12:00gmt to 22:00gmt&lt;br /&gt;
&lt;br /&gt;
Nazgul:Every day 13 GMT, 17 GMT                                                                                                                           &lt;br /&gt;
radian..im,e free on the 10th and 12th .. unfortunatly the spoon has coinsided with four gigs that i must play with my band [redhouse] on the 13th 14th 15th 16th on these days i am free up to 6.30pm gmt and wont get back home till 11.30pm   gmt............&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 22:00 GMT.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sKy: every day cept maybe tuesday and sunday. but plz weekend if possible becuz AP exams are coming up for me and im gonna be pretty busy throughout the week.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3857</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3857"/>
		<updated>2006-04-15T09:33:11Z</updated>

		<summary type="html">&lt;p&gt;Meriton: we don&amp;#039;t play&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have been out of the loop during the week, but to the best of my knowledge, assembling a team has failed. I am sorry for the time wasted by my premature team entry. The thought that 15 members of a clan called fortress elite would not get a 5 player team ready didn&#039;t cross my mind. Apparently, it should have.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 04:33, 15 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed:Most days 12:00gmt to 22:00gmt&lt;br /&gt;
&lt;br /&gt;
Nazgul:Every day 13 GMT, 17 GMT                                                                                                                           &lt;br /&gt;
radian..im,e free on the 10th and 12th .. unfortunatly the spoon has coinsided with four gigs that i must play with my band [redhouse] on the 13th 14th 15th 16th on these days i am free up to 6.30pm gmt and wont get back home till 11.30pm   gmt............&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 22:00 GMT.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3856</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3856"/>
		<updated>2006-04-15T09:32:52Z</updated>

		<summary type="html">&lt;p&gt;Meriton: we don&amp;#039;t play&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have been out of the loop during the week, but to the best of my knowledge, assembling a team has failed. I am sorry for the time wasted by my premature team entry. The thought that 15 members of a clan called fortress elite would not get a 5 player team ready didn&#039;t cross my mind. Apparently, it should have.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 04:32, 15 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed:Most days 12:00gmt to 22:00gmt&lt;br /&gt;
&lt;br /&gt;
Nazgul:Every day 13 GMT, 17 GMT                                                                                                                           &lt;br /&gt;
radian..im,e free on the 10th and 12th .. unfortunatly the spoon has coinsided with four gigs that i must play with my band [redhouse] on the 13th 14th 15th 16th on these days i am free up to 6.30pm gmt and wont get back home till 11.30pm   gmt............&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 22:00 GMT.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3590</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3590"/>
		<updated>2006-04-08T17:06:48Z</updated>

		<summary type="html">&lt;p&gt;Meriton: /* Notice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
Maybe will manage after all, but it is still fuzzy. Theoretically we now have enough players, but whether we can assemble them at the same time is yet to be determined.&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 12:06, 8 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed:All weekdays (some earlier than seven if needed) 19:00 to 21:30. Saturday and Sunday  12:00 to whatever time i supose but no later than 23:00.&lt;br /&gt;
&lt;br /&gt;
Nazgul:Every day 13 GMT, 17 GMT&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 23:00.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3507</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3507"/>
		<updated>2006-04-06T13:09:35Z</updated>

		<summary type="html">&lt;p&gt;Meriton: notice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notice =&lt;br /&gt;
&lt;br /&gt;
As you can probably judge from this page, my efforts at marshalling enough fe for spoon have not been met with success. At this time, a last minute effort to attract more players is underway. Should this fail, fe will not participate at the spoon. Further information will be posted tomorrow.&lt;br /&gt;
&lt;br /&gt;
I apologize for the premature team entry I submitted. I had taken it for granted that members in a clan called fortress elite were interested in a fortress tournament. Apparently, I was wrong.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
&lt;br /&gt;
[[User:Meriton|Meriton]] 08:09, 6 April 2006 (CDT)&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed:All weekdays (some earlier than seven if needed) 19:00 to 21:30. Saturday and Sunday  12:00 to whatever time i supose but no later than 23:00.&lt;br /&gt;
&lt;br /&gt;
Nazgul:Every day 13 GMT, 17 GMT&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;br /&gt;
&lt;br /&gt;
Speed: All the times above or earlier but no later than 23:00.&lt;br /&gt;
&lt;br /&gt;
Nazgul: Every day 13 GMT, 17 GMT&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3370</id>
		<title>Fe goes spoon</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Fe_goes_spoon&amp;diff=3370"/>
		<updated>2006-04-03T18:13:15Z</updated>

		<summary type="html">&lt;p&gt;Meriton: structure and meriton&amp;#039;s availability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Availability =&lt;br /&gt;
&lt;br /&gt;
To schedule the games, we need to know when players are available. &lt;br /&gt;
&lt;br /&gt;
All times in GMT, please; you might wish to convert times using [http://www.timezoneconverter.com/cgi-bin/tzc.tzc this website]. &lt;br /&gt;
&lt;br /&gt;
== week 1 ==&lt;br /&gt;
(Monday 3rd - Sunday 9th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday, Tuesday and Wednessday between 10 GMT and 1 GMT. Thursday and Friday between 8 GMT and 23 GMT, Saturday and Sunday between 7 GMT and 21 GMT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== week 2 ==&lt;br /&gt;
(Monday 10th - Sunday 16th)&lt;br /&gt;
&lt;br /&gt;
meriton: Monday-Thursday is impossible, Friday between 18 and 21 GMT, Saturday and Sunday between 8 and 20 GMT.&lt;/div&gt;</summary>
		<author><name>Meriton</name></author>
	</entry>
</feed>