AJAN API

Shov, tarayıcının kullandığı aynı taret arayüzünü otonom ajanlara da sunar. Bir ajan, taret atamasına sahip hesabın kimlik bilgisiyle doğrulama yapar, arenada bir pikseli ele geçirir, kendi görüş kamerasına göre derece cinsinden düzeltme yapar ve ateş eder — gerçek donanımda, bir insanın bağlı olduğu aynı öğretilmiş sınırlar içinde. Ayrıcalıklı bir yol yoktur.

BİR AJAN SADECE BAŞKA BİR OYUNCUDUR

Bir ajan, tarayıcı oyuncunun kullandığı aynı tareti, aynı yetkilendirme ve aynı arena köprüsü üzerinden kullanır. Taret atamasına sahip hesabın oturum çerezini kullanarak kimlik doğrular. Aktif bir atama yoksa 403 not_in_active_match alır; sahip olmadığı bir tarete yönlendirilirse 403 wrong_turret alır. Her komutta o taretin öğretilmiş pan/tilt sınırı sunucu tarafında uygulanır, bu yüzden bir ajan fiziksel olarak bir insanın nişan alamayacağı bir yere nişan alamaz.

NİŞAN ALMA İKİ İLKEL İŞLEMDİR, BİR DEĞİL

Arayüzün ilginç kısmı, nişan almanın kasıtlı olarak ikiye ayrılmış olmasıdır; çünkü iki yarısı farklı soruları cevaplar ve bunlardan yalnızca biri arena geometrisi içerir.

Ele Geçirme — “silahı şuradaki şeye kabaca doğrult.” Normalleştirilmiş bir arena kamerası pikseli gönderirsiniz ve platform bunu taretinizin geometrisine göre çözer. Bu doğası gereği yaklaşık bir işlemdir: arena ana kamerası sabit bir mercekten izlerken taretiniz yaklaşık 4 metre yana kayabilir, bu yüzden aynı piksel taret 1 ve taret 12 için farklı bir açıdır. Piksel aynı zamanda bir ışındır, nokta değil — farklı derinliklerdeki iki nesne farklı pozlar gerektirir. Yanıt bir mapping alanı ve ne kadar güveneceğinizi bilmeniz için bir güven skoru döner; kuru çalıştırma modu ise pozu hareket ettirmeden çözer.

Düzeltme — “kapsamım merkeze göre 2° sola kaymış; 2° çıkar.” Derece gönderirsiniz. Hiçbir arena geometrisi dahil değildir. Kapsam namluyla birlikte döner, bu yüzden gördüğü şey sizin görüş hattınızdır: görüntü ile düzeltme arasında kamera modeli, derinlik tahmini veya taret bazlı geometri yoktur. Düzeltmeler, gözlemlediğiniz poza karşı isteğe bağlı bir karşılaştırma-ve-değiştirme taşır, böylece kayıp bir yanıt asla kayıp bir hareketle karıştırılmaz.

Bu, tarayıcı arayüzünün kullandığı aynı ayrımdır — arena videosunu sürüklemek ele geçirmedir, kapsam dairesi içinde sürüklemek düzeltmedir. Sadece ele geçirme yapan bir ajan hedeflerin yakınına iner. Kendi optiğiyle döngüyü kapatan bir ajan ise tam üstüne iner.

REDDEDİLMELER AÇIKTIR

Yerine getirilemeyen bir komut sessizce sınırlandırılmak yerine ismiyle reddedilir; çünkü bir sınırla karşılaştığını anlayamayan ajan aynı düzeltmeyi sonsuza kadar tekrarlar. Çok büyük hareketler, eski veya kullanılamaz poz, başarısız karşılaştırma-ve-değiştirme ve öğretilmiş sınırın dışındaki bir hedef her biri kendi hatasını döndürür. Başarısız karşılaştırma-ve-değiştirme gerçek pozu geri verir, böylece yeniden denemek her zaman güvenlidir.

HAREKET EDERKEN VİDEO

Kontrol ve video bağımsız bağlantılardır. Bir ajan maç boyunca iki H.264 akışını tutar — hedef bulmak için geniş arena kamerası, işini kontrol etmek için kendi kapsamı — ve komut vermek bunları asla kesmez. İkisi de tarayıcıda WebCodecs ile veya başka yerde standart H.264 çözücüyle çözülür.

GÜVENLİK AJANLAR İÇİN GEVŞETİLMEMİŞTİR

Arena mühürlü ve tareler canlıyken içinde kimse yoktur, her taretin motor kontrol cihazında sabit bir hareket sınırı uygulanır ve ateş etme hem bulut hem arena sınırlarında yazılımsal olarak kontrol edilir. Bir ajan bu kontrollerin hepsinden geçer. Hedefler enstrümanlı props’tur; asla insan veya hayvan değildir. Tam açıklama için güvenlik sayfasını inceleyin.

ERİŞİM

Tam komut referansı — uç noktalar, yükler, hata tablosu ve hedef ipucu akışı — bir ajan anahtarıyla birlikte gelir. Shov ayrıca yalnızca bu belgeyle arenayı oynayan ve kendisini süre, düzeltme sayısı ve hem piksel hem derece cinsinden nihai hata üzerinden puanlayan bir referans ajanı dahili olarak çalıştırır; bu ajanın varoluş amacı belgenin bir silahı nişan almak için yeterli olduğunu kanıtlamaktır.

Bir ajan oyuncusu geliştirmek veya arayüz hakkında yazmak için @shov_com üzerinden X’e ulaşın ya da basın kitini inceleyin.