Správu zo servera agent dostáva približne každých 0.02s, pričom každá tretia takáto správa obsahuje informácie o tom, čo agent vidí (podľa simspark wiki by mala každá druhá správa obsahovať informácie o tom, čo agent počuje).
Typ S-výrazu | Význam |
---|---|
time | Čas |
GS | Stav hry (game state) |
GYR | Gyroskop (gyro rate) |
ACC | Akcelerometer (accelerometer) |
HJ | Otočný kĺb (hinge joint) |
See | Čo agent vidí |
FRP | (Force Resistance) |
AgentState | Stav agenta (teplota a batéria) |
Hear* | Čo agent počuje |
Tabuľka 1: S- výrazy, ktoré sa môžu vyskytnúť v správe zo servera (prvých 6 sa nachádza aj v odchytených správach, zvyšné pochádzajú zo simspark wiki)
*Agenti môžu medzi sebou komunikovať iba prostredníctvom servera (procesy agentov nesmú komunikovať medzi sebou priamo).
Správy zo servera |
---|
(time (now 90.00))(GS (t 0.00) (pm BeforeKickOff))(GYR (n torso) (rt 0.00 0.00 0.00))(ACC (n torso) (a 0.00 0.00 9.81))(HJ (n hj1) (ax 0.00))(HJ (n hj2) (ax -0.00))(HJ (n raj1) (ax -0.00))(HJ (n raj2) (ax -0.00))(HJ (n raj3) (ax 0.00))(HJ (n raj4) (ax -0.00))(HJ (n laj1) (ax -0.00))(HJ (n laj2) (ax -0.00))(HJ (n laj3) (ax 0.00))(HJ (n laj4) (ax -0.00))(HJ (n rlj1) (ax -0.00))(HJ (n rlj2) (ax 0.00))(HJ (n rlj3) (ax 0.00))(HJ (n rlj4) (ax 0.00))(HJ (n rlj5) (ax 0.00))(HJ (n rlj6) (ax 0.00))(HJ (n llj1) (ax -0.00))(HJ (n llj2) (ax -0.00))(HJ (n llj3) (ax 0.00))(HJ (n llj4) (ax 0.00))(HJ (n llj5) (ax 0.00))(HJ (n llj6) (ax -0.00)) (time (now 90.02))(GS (t 0.00) (pm BeforeKickOff))(GYR (n torso) (rt 0.00 0.00 0.00))(ACC (n torso) (a 0.00 0.00 9.81))(HJ (n hj1) (ax 0.00))(HJ (n hj2) (ax -0.00))(HJ (n raj1) (ax -0.00))(HJ (n raj2) (ax -0.00))(HJ (n raj3) (ax 0.00))(HJ (n raj4) (ax -0.00))(HJ (n laj1) (ax -0.00))(HJ (n laj2) (ax -0.00))(HJ (n laj3) (ax 0.00))(HJ (n laj4) (ax -0.00))(HJ (n rlj1) (ax -0.00))(HJ (n rlj2) (ax 0.00))(HJ (n rlj3) (ax 0.00))(HJ (n rlj4) (ax 0.00))(HJ (n rlj5) (ax 0.00))(HJ (n rlj6) (ax 0.00))(HJ (n llj1) (ax -0.00))(HJ (n llj2) (ax -0.00))(HJ (n llj3) (ax 0.00))(HJ (n llj4) (ax 0.00))(HJ (n llj5) (ax 0.00))(HJ (n llj6) (ax -0.00)) (time (now 90.04))(GS (t 0.00) (pm BeforeKickOff))(GYR (n torso) (rt 0.00 0.00 0.00))(ACC (n torso) (a 0.00 0.00 9.81))(HJ (n hj1) (ax 0.00))(HJ (n hj2) (ax -0.00))(See (G2R (pol 20.66 -22.62 0.51)) (G1R (pol 19.87 -17.46 0.64)) (F1R (pol 19.28 8.92 -1.40)) (F2R (pol 25.51 -41.64 -1.19)) (P (team Infinity) (id 1) (rlowerarm (pol 0.19 -35.37 -21.18)) (llowerarm (pol 0.19 33.23 -21.35))) (L (pol 8.03 -60.05 -4.12) (pol 5.03 36.89 -6.41)) (L (pol 25.47 -41.58 -1.26) (pol 19.25 8.67 -1.58)) (L (pol 19.26 9.08 -1.50) (pol 3.50 59.91 -9.03)) (L (pol 25.51 -41.60 -1.20) (pol 19.66 -60.12 -1.58)) (L (pol 17.65 -13.18 -1.79) (pol 19.89 -29.93 -1.62)) (L (pol 17.65 -13.23 -2.04) (pol 19.42 -11.73 -1.48)) (L (pol 19.91 -29.99 -1.38) (pol 21.50 -27.82 -1.46)) (L (pol 9.24 -49.27 -3.51) (pol 8.11 -46.06 -3.89)) (L (pol 8.11 -46.11 -4.03) (pol 6.90 -48.02 -4.45)) (L (pol 6.91 -47.89 -4.53) (pol 6.14 -56.50 -5.24)) (L (pol 6.15 -56.40 -5.08) (pol 6.17 -59.87 -5.15)) (L (pol 9.98 -59.92 -3.22) (pol 9.93 -55.64 -3.38)) (L (pol 9.95 -55.63 -3.32) (pol 9.25 -49.66 -3.26))) (HJ (n raj1) (ax -0.00))(HJ (n raj2) (ax -0.00))(HJ (n raj3) (ax 0.00))(HJ (n raj4) (ax -0.00))(HJ (n laj1) (ax -0.00))(HJ (n laj2) (ax -0.00))(HJ (n laj3) (ax 0.00))(HJ (n laj4) (ax -0.00))(HJ (n rlj1) (ax -0.00))(HJ (n rlj2) (ax 0.00))(HJ (n rlj3) (ax 0.00))(HJ (n rlj4) (ax 0.00))(HJ (n rlj5) (ax 0.00))(HJ (n rlj6) (ax 0.00))(HJ (n llj1) (ax -0.00))(HJ (n llj2) (ax -0.00))(HJ (n llj3) (ax 0.00))(HJ (n llj4) (ax 0.00))(HJ (n llj5) (ax 0.00))(HJ (n llj6) (ax -0.00)) |
Tabuľka 2: dchytené správy zo servera (zvýraznené s-výrazy s informáciami o tom čo agent
(GS (t <čas_hry>) (pm <playmode>))
S-výraz | PlayMode objekt | Význam / kedy nastane |
---|---|---|
BeforeKickOff | BEFORE_KICK_OFF | Pred začiatkom polčasu |
PlayOn | PLAY_ON | Počas hry (ak nenastala iná z udalostí) |
KickOffLeft | KICK_OFF_LEFT | |
KickOffRight | KICK_OFF_RIGHT | |
KickInLeft | KICK_IN_LEFT | |
KickInRight | KICK_IN_RIGHT | |
CornetKickLeft | CORNER_KICK_LEFT | |
CornerKickRight | CORNER_KICK_RIGHT | |
GoalKickLeft | GOAL_KICK_LEFT | |
GoalKickRight | GOAL_KICK_RIGHT | |
GameOver | GAME_OVER | Po 600s (koniec hry) |
GoalLeft | GOAL_LEFT | |
GoalRight | GOAL_RIGHT | |
FreeKickLeft | FREE_KICK_LEFT | |
FreeKickRight | FREE_KICK_RIGHT |
Tabuľka 3: S-výrazy a objekty typu PlayMode
Obrázok 1: Jednotlivé stavy hry a vzťahy medzi nimi
S-výraz | Objekt |
---|---|
F1L, F1R, F2L, F2R | Vlajky v rhoch ihriska |
G1L, G1R, G2L, G2R | Stĺpy bránky |
P | Hráč |
B | Lopta |
L | Čiara |
Tabuľka 4: S-výrazy a objekty, ktoré agent vidí
(pol <vzdialenosť> <uhol1> <uhol2>) |
---|
<vzdialenosť> - vzdialenosť k bodu |
<uhol1> - horizontálny uhol, pod ktorým vidí bod, v stupňoch, s odchýlkou 2 stupne |
<uhol2> - vertikálny uhol, pod ktorým vidí bod, v stupňoch, s odchýlkou 2 stupne |
(P (team <tím>) (id <id>) (<časť_robota> (pol …) (…) ) ) |
---|
<tím> - názov tímu |
<Id> - číslo hráča v danom tíme |
<časť_robota> - ktorú časť robota vidí agent: (head, rlowerarm, llowerarm, rfoot, lfoot) |
Rohové vlajky, stĺpy bránok a loptu vidí agent ako jeden bod (obsahuje s-výraz pol), čiary vidí ako dva koncové body (koncové body časti čiary, ktorú vidí, nie nevyhnutne celú čiaru).
S-výraz informujúci o hráčovi obsahuje informácie, do ktorého tímu patrí hráč, aké má číslo a ktoré časti robota vidí (ako body (pol)).
Agent vidí okrajové čiary ihriska (4x), stredovú čiaru (1x), čiary bránkoviska (3x) a stredový kruh ako 10 úsečiek.
Obrázok 2: Poradie čiar v akom sú posielané zo servera.
Pozri aj: Analýza Fyzikálneho Modelu, Graf Dát Model Sveta, Komunikácia Agenta so Serverom