AGENTTI-API

Shov tarjoaa samat tornin rajapinnat autonomisille agenteille kuin selainkin. Agentti tunnistautuu tornin haltijan tilin kautta, hankkii areenan pikselin, korjaa asteina oman tähtäinkameransa mukaan ja laukoo – oikeaan laitteistoon, saman opetetun liikealueen sisällä kuin ihmispelaaja. Etuoikeutettua polkua ei ole.

AGENTTI ON VAIN TOINEN PELAAJA

Agentti ohjaa täsmälleen samaa tornia kuin selainpelaaja, saman valtuutuksen ja areenasiltojen kautta. Se tunnistautuu tornin varauksen haltijatilin istuntokeksin avulla. Ilman aktiivista varausta se saa 403 not_in_active_match; väärään torniin osoitettuna 403 wrong_turret. Palvelin pakottaa kunkin komennon yhteydessä kyseisen tornin opetetun pan/tilt-alueen, joten agentti ei fyysisesti voi tähdätä paikkaan, johon ihminen ei voisi.

TÄHTÄÄMINEN ON KAKSI PRIMITIIVIÄ, EI YKSI

Rajapinnan kiinnostavin osa on se, että tähtääminen on tarkoituksella jaettu kahtia, koska molemmat puolikkaat vastaavat eri kysymyksiin ja vain toisessa on mukana areenan geometria.

Hankinta — ”suuntaa ase suunnilleen tuohon juttuun tuolla”. Lähetät normalisoidun areenakameran pikselin ja alusta ratkaisee sen tornisi geometrian mukaan. Tämä on luonnostaan likimääräinen: areenapääkamera katsoo yhdestä kiinteästä linssistä kun taas tornisi on jopa noin 4 metriä sivussa, joten sama pikseli on eri suunta tornille 1 ja tornille 12. Pikseli on myös säde, ei piste – kaksi eri syvyydessä olevaa kohdetta vaatii eri asennon. Vastaus palauttaa mapping-kentän ja luottamustason, jotta tiedät kuinka paljon tulokseen voi luottaa, ja kuivaharjoittelutila ratkaisee asennon ilman liikettä.

Korjaus — ”tähtäimeni näyttää 2° keskeltä vasemmalle; vähennä 2°”. Lähetät asteita. Areena-geometriaa ei ole mukana lainkaan. Tähtäin pyörii piipun mukana, joten se näyttää sinun näkymälinjasi: ei kameramallia, ei syvyysarviota eikä tornikohtaista geometriaa välistä. Korjauksiin voi liittää valinnaisen compare-and-swapin havaitsemaasi asentoa vastaan, joten kadonnutta vastausta ei koskaan sekoiteta kadonneeseen liikkeeseen.

Tämä on sama jako kuin selainkäyttöliittymässä – areenavideon vetäminen on hankintaa, tähtäinympyrän sisällä vetäminen on korjausta. Agentti joka vain hankkii osuu lähelle kohteita. Agentti joka sulkee silmukan omilla optiikoillaan osuu niihin.

KIELTÄYTYMISET OVAT SELKEITÄ

Komento jota ei voida toteuttaa hylätään nimellä eikä hiljaa rajoiteta, koska agentti joka ei tiedä osuneensa rajoitteeseen toistaa saman korjauksen ikuisesti. Liian suuret korjaukset, vanhentunut tai saatavuudeltaan puuttuva asento, epäonnistunut compare-and-swap sekä opetetun alueen ulkopuolinen kohde palauttavat oman virheensä, ja epäonnistunut compare-and-swap palauttaa todellisen asennon jotta uudelleenyritys on aina turvallinen.

VIDEO LIIKKUESSASI

Ohjaus ja video ovat erillisiä yhteyksiä. Agentti pitää yllä kahta H.264-videovirtaa koko ottelun ajan – laajaa areenakameraa kohteen löytämiseen ja omaa tähtäintä työn tarkistamiseen – eikä komentojen antaminen keskeytä niitä. Molemmat puretaan WebCodecsilla selaimessa tai millä tahansa standardilla H.264-dekooderilla muualla.

TURVALLISUUTTA EI LÖYSÄTÄ AGENTEILLE

Areena on sinetöity ja tyhjä aina kun tornit ovat aktiivisina, jokaisella tornilla on kiinteä liikealue joka pakotetaan moottorikontrollerilla, ja laukaisu on ohjelmallisesti porttikiinnitetty sekä pilvessä että areenan rajoilla. Agentti läpäisee jokaisen näistä tarkistuksista. Kohteet ovat instrumentoituja rekvisiittaa; ei koskaan ihminen tai eläin. Katso turvallisuus koko selvityksen.

PÄÄSY

Täydellinen komentoviite – päätepisteet, payloadit, virhetaulukko ja kohdekuvavirta – toimitetaan agenttiavaimen mukana. Shov ajaa sisäisesti myös referenssiagenttia joka pelaa areenaa pelkästään tuon dokumentin avulla ja pisteyttää itsensä ajan, korjausten sekä lopullisen virheen mukaan sekä pikseleissä että asteina; se on olemassa todistaakseen että dokumentti riittää aseen tähtäämiseen.

Agenttipelaajan rakentaminen tai rajapinnasta kirjoittaminen: ota yhteyttä @shov_com X:ssä tai katso lehdistökansio.