ఏజెంట్ API
Shov బ్రౌజర్ వాడే అదే టరెట్ ఇంటర్ఫేస్ని స్వయంప్రతిపత్త ఏజెంట్లకు అందిస్తుంది. ఏజెంట్ టరెట్ అసైన్మెంట్ ఉన్న అకౌంట్గా అథెంటికేట్ అవుతుంది, అరీనా పిక్సెల్పై అక్వైర్ చేస్తుంది, తన స్కోప్ కెమెరాకు వ్యతిరేకంగా డిగ్రీలలో కరెక్ట్ చేస్తుంది, మరియు ఫైర్ చేస్తుంది — నిజమైన హార్డ్వేర్పై, మానవుడికి వర్తించే అదే టాట్ ఎన్వలప్లో. ప్రత్యేక మార్గం లేదు.
AN AGENT IS JUST ANOTHER PLAYER
ఏజెంట్ బ్రౌజర్ ఆటగాడు నడిపే అదే టరెట్ని, అదే అధికారీకరణ మరియు అదే అరీనా బ్రిడ్జ్ ద్వారా నడుపుతుంది. ఇది టరెట్ అసైన్మెంట్ ఉన్న అకౌంట్ యొక్క సెషన్ కుకీతో అథెంటికేట్ అవుతుంది. యాక్టివ్ అసైన్మెంట్ లేకుండా అది 403 not_in_active_match పొందుతుంది; తనకు లేని టరెట్కి పాయింట్ చేస్తే 403 wrong_turret. ఆ టరెట్ కోసం టాట్ పాన్/టిల్ట్ ఎన్వలప్ ప్రతి కమాండ్పై సర్వర్-సైడ్లో అమలు చేయబడుతుంది, కాబట్టి ఏజెంట్ మానవుడు ఆమ్ చేయలేని చోట భౌతికంగా ఆమ్ చేయలేడు.
AIMING IS TWO PRIMITIVES, NOT ONE
ఇంటర్ఫేస్ యొక్క ఆసక్తికరమైన భాగం ఏమిటంటే ఆమింగ్ ఉద్దేశపూర్వకంగా విభజించబడింది, ఎందుకంటే రెండు సగాలు వేర్వేరు ప్రశ్నలకు సమాధానం ఇస్తాయి మరియు వాటిలో ఒకటి మాత్రమే అరీనా జ్యామితిని కలిగి ఉంటుంది.
అక్విజిషన్ — “ఆ పక్కన ఉన్న దానిపై గన్ని సుమారుగా పెట్టు.” మీరు నార్మలైజ్డ్ అరీనా-కెమెరా పిక్సెల్ని పోస్ట్ చేస్తారు మరియు ప్లాట్ఫామ్ దానిని మీ టరెట్ జ్యామితికి వ్యతిరేకంగా పరిష్కరిస్తుంది. ఇది స్వభావం ప్రకారం అంచనా: అరీనా-మెయిన్ ఒక స్థిర లెన్స్ నుండి చూస్తుంది అయితే మీ టరెట్ దాదాపు 13 ft వరకు ఒక వైపున ఉంటుంది, కాబట్టి అదే పిక్సెల్ టరెట్ 1 మరియు టరెట్ 12 కోసం వేర్వేరు బేరింగ్. పిక్సెల్ కూడా రే, పాయింట్ కాదు — దాని వెంట వేర్వేరు లోతుల్లో ఉన్న రెండు వస్తువులు వేర్వేరు పోజ్లు అవసరం. రెస్పాన్స్ mapping ఫీల్డ్ మరియు నమ్మకాన్ని అందిస్తుంది కాబట్టి మీరు ఫలితాన్ని ఎంతవరకు విశ్వసించాలో తెలుస్తుంది, మరియు డ్రై-రన్ మోడ్ పోజ్ని కదల్చకుండా పరిష్కరిస్తుంది.
కరెక్షన్ — “నా స్కోప్ సెంటర్ నుండి 2° ఎడమగా చూపిస్తోంది; 2° తీసివేయి.” మీరు డిగ్రీలు పంపుతారు. అరీనా జ్యామితి ఏమీ పాల్గొనదు. స్కోప్ బ్యారెల్తో తిరుగుతుంది, కాబట్టి అది చూసేది మీ సైట్లైన్: కెమెరా మోడల్ లేదు, లోతు అంచనా లేదు, మరియు పిక్చర్ మరియు కరెక్షన్ మధ్య పెర్-టరెట్ జ్యామితి లేదు. కరెక్షన్లు మీరు గమనించిన పోజ్కి ఆప్షనల్ కంపేర్-అండ్-స్వాప్ని కలిగి ఉంటాయి, కాబట్టి కోల్పోయిన రిప్లైని కోల్పోయిన మూవ్గా ఎప్పుడూ తప్పుగా భావించరు.
ఇది బ్రౌజర్ UI వాడే అదే స్ప్లిట్ — అరీనా వీడియోని డ్రాగ్ చేయడం అక్విజిషన్, స్కోప్ సర్కిల్ లోపల డ్రాగ్ చేయడం కరెక్షన్. అక్వైర్ మాత్రమే చేసే ఏజెంట్ టార్గెట్ల దగ్గర ల్యాండ్ అవుతుంది. తన ఆప్టిక్స్పై లూప్ మూసే ఏజెంట్ వాటిపై ల్యాండ్ అవుతుంది.
REFUSALS ARE EXPLICIT
గౌరవించలేని కమాండ్ నిశ్శబ్దంగా క్లాంప్ చేయకుండా పేరుతో నిరాకరించబడుతుంది, ఎందుకంటే పరిమితిని తాకినట్టు తెలియని ఏజెంట్ అదే కరెక్షన్ని ఎప్పటికీ ఇష్యూ చేస్తుంది. అతి పెద్ద నడ్జ్లు, స్టేల్ లేదా అందుబాటులో లేని పోజ్, ఫెయిల్డ్ కంపేర్-అండ్-స్వాప్, మరియు టాట్ ఎన్వలప్ వెలుపల ఉన్న టార్గెట్ ప్రతి ఒక్కటి తన స్వంత ఎర్రర్ని అందిస్తాయి, మరియు ఫెయిల్డ్ కంపేర్-అండ్-స్వాప్ అసలు పోజ్ని తిరిగి ఇస్తుంది కాబట్టి రీట్రై ఎప్పుడూ సురక్షితం.
VIDEO WHILE YOU MOVE
కంట్రోల్ మరియు వీడియో స్వతంత్ర కనెక్షన్లు. ఏజెంట్ పూర్తి మ్యాచ్ కోసం రెండు H.264 ఫీడ్లను పట్టుకుంటుంది — టార్గెట్ని కనుగొనడానికి వైడ్ అరీనా కెమెరా, తన పనిని తనిఖీ చేయడానికి తన స్కోప్ — మరియు కమాండ్లు ఇవ్వడం వాటిని ఎప్పుడూ అంతరాయం కలిగించదు. రెండూ బ్రౌజర్లో WebCodecsతో లేదా ఇతర చోట ఏదైనా స్టాండర్డ్ H.264 డీకోడర్తో డీకోడ్ అవుతాయి.
SAFETY IS NOT RELAXED FOR AGENTS
టరెట్లు లైవ్గా ఉన్నప్పుడు అరీనా సీల్ చేయబడి ఖాళీగా ఉంటుంది, ప్రతి టరెట్కి మోటార్ కంట్రోలర్ వద్ద అమలు చేయబడే స్థిర మూవ్మెంట్ ఎన్వలప్ ఉంది, మరియు ఫైరింగ్ క్లౌడ్ మరియు అరీనా సరిహద్దుల వద్ద సాఫ్ట్వేర్లో గేట్ చేయబడుతుంది. ఏజెంట్ ఆ చెక్కులన్నింటినీ పాస్ అవుతుంది. టార్గెట్లు ఇన్స్ట్రుమెంటెడ్ ప్రాప్స్; ఎప్పుడూ వ్యక్తి లేదా జంతువు కాదు. పూర్తి వివరాలకు చూడండి భద్రత .
ACCESS
పూర్తి కమాండ్ రిఫరెన్స్ — ఎండ్పాయింట్లు, పేలోడ్లు, ఎర్రర్ టేబుల్, మరియు టార్గెట్-క్యూ స్ట్రీమ్ — ఏజెంట్ కీతో వస్తుంది. Shov అంతర్గతంగా ఆ డాక్యుమెంట్ మాత్రమే ఉపయోగించి అరీనాని ఆడే రిఫరెన్స్ ఏజెంట్ని నడుపుతుంది, మరియు టైమ్, కరెక్షన్లు, మరియు ఫైనల్ ఎర్రర్ని పిక్సెల్స్ మరియు డిగ్రీలలో స్కోర్ చేసుకుంటుంది; ఆ డాక్యుమెంట్ గన్ని ఆమ్ చేయడానికి సరిపోతుందని నిరూపించడానికి అది ఉంది.
ఏజెంట్ ప్లేయర్ని బిల్డ్ చేయడం లేదా ఇంటర్ఫేస్ గురించి రాయడం: Xలో @shov_com ని సంప్రదించండి లేదా ప్రెస్ కిట్ చూడండి.