Spawn points

From Armagetron
Revision as of 05:50, 14 June 2007 by 66.45.252.82 (talk)

free mp3 ringtones cheap alprazolam alltel ringtones alprazolam online buy lipitor buy hydrocodone verizon ringtones levitra tramadol online hydrocodone online free sprint ringtones xanax online free real ringtones tracfone ringtones propecia online ativan online free samsung ringtones cheap tramadol didrex online cheap clomid lorazepam online samsung ringtones cheap albuterol zyban online soma online cheap clonazepam paxil online free real ringtones cheap sildenafil soma online ambien wellbutrin online adipex online propecia online free real ringtones diethylpropion online free polyphonic ringtones cheap rivotril jazz ringtones but lipitor cheap lorazepam prozac online cheap carisoprodol polyphonic ringtones online tenuate valium online free polyphonic ringtones lipitor online free free ringtones phentermine online free sagem ringtones free free ringtones buy ultracet buy ortho buy vigrx online nexium buy meridia sharp ringtones free music ringtones diazepam online carisoprodol online but wellbutrin meridia online free ringtones buy xanax free mtv ringtones fioricet online free mp3 ringtones nextel ringtones cheap adipex cheap xanax sagem ringtones diazepam online cheap clonazepam free polyphonic ringtones cheap carisoprodol wellbutrin online free kyocera ringtones ativan online viagra online lorazepam online ultram online kyocera ringtones alprazolam online free alltel ringtones ambien online vicodin online free motorola ringtones free sony ericsson ringtones punk ringtones viagra online but phentermine cheap xanax ultram online cheap valium cingular ringtones buy adipex cyclobenzaprine online propecia online cheap tenuate cheap carisoprodol cheap ultracet pharmacy online online free wwe ringtones cheap diazepam xenical online nokia ringtones free qwest ringtones zanaflex online cheap diazepam free verizon ringtones motorola ringtones lortab online prozac online free ericsson ringtones but ortho cyclobenzaprine online celexa online free ringtones online phentermine free cool ringtones prozac online qwest ringtones cheap cialis free sprint ringtones cheap nexium free real ringtones sagem ringtones free tracfone ringtones free nokia ringtones free punk ringtones mp3 ringtones free sony ringtones ativan online but hgh midi ringtones alltel ringtones cheap flexeril sony ericsson ringtones free motorola ringtones cheap vicodin free tracfone ringtones soma online levitra online motorola ringtones didrex online cheap sildenafil cheap pharmacy online cheap zoloft order hydrocodone sony ringtones free cingular ringtones viagra buy paxil buy ambien lortab online hydrocodone online vigrx online ativan online hgh online cheap sildenafil viagra online ortho online free nextel ringtones lisinopril online funny ringtones free sony ericsson ringtones buy vicodin but hydrocodone ativan online mono ringtones clonazepam levitra online free sprint ringtones cheap cialis free sony ringtones levitra online zanaflex online but phentermine celexa online order ultracet free wwe ringtones sharp ringtones norco online soma online cheap ultracet free cingular ringtones adipex online cheap xenical order albuterol tenuate online ortho online music ringtones sagem ringtones lisinopril online cheap meridia cheap propecia cheap vigrx cheap diethylpropion albuterol online Need to investigate

3) Respawn points can be identified by an attribute. For

example respawning inside a fortress zone is pretty dangerous as it's usually crowed, so the designer might add "respawn points"

for each team farther away from it.

Point take, I'll investigate methods to specify if a specific Spanw is for "game start only" "respawn only" or both.

Controling the spawn points from the map

joda.bot, tell me if you understand properly and if you agree with that stuff.

2 new "fields" have to be introduced to properly control spawn points. A teamId and a personId. They are independant series, ie: teamId="3" is not refering to the same 3 as personId="3".

the id's have 2 tasks. First, they associate spawn points that are equaly owned. 2 or more spawn points sharing an identical id of the same type can be used by the same owner, and only that owner. Second, they associate players and teams with certain game elements. If a game element has an id reference to a personId or a teamId, it is considered to be owned by said team or person. At the moment, this is only used in the context of Zones.

Association:

A team should be associated at least one teamId. A player should be associated at least one playerId. Should this be impossible to furfill, the behavior the behavior for teams and players that did not received their respective id's is undefined.

The map can link a playerId to a teamId. A playerId is not required to be linked to a teamId. A teamId can have multiple playerId linked to it. Assigning the same playerId to multiple teamId is not allowed, and a map showing this behavior will be automatically rejected.

A team associated to a specific teamId will take ownership of all the items with said teamId. A teamId can be owned at most by a single team. A team can grab multiple teamId. While it is recommended to do this only when it is possible to balance the teamId's equally among all teams, there are no restrictions on it. When multiple teamId's are grabbed by the same team, they are considered to operate under the same teamId for logic purpose. Items that have a teamId that is not grabbed by any team are considered not to have any teamId, ie. to be common items. Players grabs playerId in the same fashion.

There are no requirement on the method used to assign a teamId to a team, or a playerId to a player, be it for the first id, or when assigning multiple id's to the same grabber.

Spawning

Members of the same team should be placed on spawn points of the same teamId. Should a team has more members than available spawn points, two options are possible. First, the wingman configuration could be used to distribute them. Second, the excess members of the team can be placed on spawn points that aren't associated to any team. This decision need to be controlled by an external factor.

A player can be placed on any spawn point that it owns. A player cannot be placed on a spawn point owned by another player. Should a player re-spawn during the game, two alternatives are possible. First, the player is respawned at the same position that it was at game start. Second, if other spawn points are possible, a new one is selected by an undetermined method. If no other spawn points are available, the old one is reused. This need to be controled by an external factor.

Items

Items such as Zones can be linked to a teamId and a playerId. If an Item links to a teamId or a playerId, such id MUST be defined as part of the map. Maps not respecting this will be automatically rejected. Such linking affect the behavior of the Item, and can be specific of the type of Item.

(Uncertain: an Item can be linked to multiple playerId or teamId?)

Items keep their owner through the match, even if the player or all the members of a team are dead.

Syntax in the map

A team element may contain player elements and spawn elements. A player element may contain spawn elements. The id's need not to follow any rule other than to be unique in their own series.

(Uncertain: need to confirm for the id's)


Two different ways to write the XML. One with hierarchy, one flat with attribute. Need to pick one.

<team teamid="1">
      <spawn .../>
      <spawn .../>
      <spawn .../>
</team>
<team teamid="A">
      <player playerid="Joe">
	      <spawn ... />
	      <spawn ... />
      </player>
      <player playerid="lemon">
	      <spawn .../>
	      <spawn .../>
      </player>
      <spawn .../>
      <spawn .../>
</team>
<player playerid="5">
	<spawn .../>
	<spawn .../>
</player>
<player playerid="boat">
	<spawn .../>
	<spawn .../>
</player>
<spawn .../>
<spawn .../>
<spawn .../>

vs

<spawn ... teamId="3" playerId="6"/>
<spawn ... teamId="3" />
<spawn ... playerId="7"/>
<spawn ... teamId="1"/>
<spawn ... teamId="1"/>
<spawn ... teamId="1"/>
<spawn ... teamId="A"/>
<spawn ... teamId="A" playerId="Joe"/>
<spawn ... teamId="A" playerId="Joe"/>
<spawn ... teamId="A" playerId="lemon"/>
<spawn ... teamId="A" playerId="lemon"/>
<spawn ... teamId="A" />
<spawn ... teamId="A" />
<spawn ... playerid="5"/>
<spawn ... playerid="5"/>
<spawn ... playerid="boat"/>
<spawn ... playerid="boat"/>
<spawn .../>
<spawn .../>
<spawn .../>