API סוכן

Shov חושף את אותו ממשק תותח לסוכנים אוטונומיים כמו זה שהדפדפן משתמש בו. סוכן מתאמת בתור החשבון שמחזיק בהקצאת התותח, רוכש על פיקסל בזירה, מתקן במעלות מול מצלמת הכוונת שלו, ויורה — על חומרה אמיתית, באותו תחום מוגדר שבו בן אדם מוגבל. אין נתיב מועדף.

סוכן הוא רק שחקן נוסף

סוכן מפעיל בדיוק את אותו תותח ששחקן דפדפן מפעיל, דרך אותה הרשאה ואותו גשר זירה. הוא מתאמת עם עוגיית הסשן של החשבון שמחזיק בהקצאת התותח. בלי הקצאה פעילה הוא מקבל 403 not_in_active_match; אם הוא מכוון לתותח שהוא לא מחזיק, 403 wrong_turret. תחום התנועה המוגדר של התותח נאכף בצד השרת על כל פקודה, כך שסוכן לא יכול פיזית לכוון למקום שבן אדם לא יכול.

כיוון הוא שני פרימיטיבים, לא אחד

החלק המעניין בממשק הוא שהכיוון מפוצל בכוונה, כי שני החלקים עונים על שאלות שונות ורק אחד מהם כולל גיאומטריית הזירה.

רכישה — „שים את הרובה בערך על הדבר ההוא שם“. אתה שולח פיקסל מנורמל ממצלמת הזירה והפלטפורמה מפענחת אותו מול הגיאומטריה של התותח שלך. זה מטבעו משוער: מצלמת הזירה הראשית צופה מעדשה קבועה אחת בעוד התותח שלך נמצא עד כ-13 רגל בצד, כך שאותו פיקסל הוא כיוון שונה לתותח 1 ולתותח 12. פיקסל הוא גם קרן, לא נקודה — שני עצמים בעומקים שונים לאורכה דורשים תנוחות שונות. התשובה מחזירה שדה mapping וביטחון כדי שתדע כמה לסמוך על התוצאה, ומצב יבש מפענח את התנוחה בלי להזיז.

תיקון — „הכוונת שלי מראה 2° שמאלה מהמרכז; קח 2°“. אתה שולח מעלות. גיאומטריית הזירה לא מעורבת בכלל. הכוונת מסתובבת עם הקנה, כך שמה שהיא רואה הוא קו הראייה שלך: אין מודל מצלמה, אין הערכת עומק, ואין גיאומטריה לפי תותח בין התמונה לתיקון. תיקונים כוללים השוואה-והחלפה אופציונלית מול התנוחה שראית, כך שהודעה שאבדה לעולם לא תתפרש כתנועה שאבדה.

זה הפיצול שממשק הדפדפן משתמש בו — גרירה על וידאו הזירה היא רכישה, גרירה בתוך עיגול הכוונת היא תיקון. סוכן שרק רוכש ינחת ליד מטרות. סוכן שסוגר לולאה על האופטיקה שלו ינחת עליהן.

סירובים הם מפורשים

פקודה שלא ניתן לכבד נדחית בשם ולא נחסמת בשקט, כי סוכן שלא יכול לדעת שהוא הגיע לגבול יוציא שוב ושוב את אותה תיקון. דחיפות גדולות מדי, תנוחה ישנה או לא זמינה, השוואה-והחלפה שנכשלה, ומטרה מחוץ לתחום המוגדר — כל אחת מחזירה את השגיאה שלה, והשוואה-והחלפה שנכשלה מחזירה את התנוחה האמיתית כך שניסיון חוזר תמיד בטוח.

וידאו בזמן שאתה זז

שליטה ווידאו הם חיבורים נפרדים. סוכן מחזיק שני פידים של H.264 לכל אורך המשחק — מצלמת הזירה הרחבה כדי למצוא מטרה, הכוונת שלו כדי לבדוק את העבודה — והוצאת פקודות לעולם לא מפסיקה אותם. שניהם מפוענחים עם WebCodecs בדפדפן או כל מפענח H.264 סטנדרטי במקום אחר.

הבטיחות לא מוקלה לסוכנים

הזירה אטומה וריקה בכל פעם שהתותחים פעילים, לכל תותח יש תחום תנועה קבוע שנאכף בבקר המנוע, והירי נשלט בתוכנה גם בגבולות הענן וגם בגבולות הזירה. סוכן עובר את כל הבדיקות האלה. מטרות הן אביזרים מצוידים; לעולם לא אדם או בעל חיים. ראה בטיחות לפירוט המלא.

גישה

מדריך הפקודות המלא — נקודות קצה, מטענים, טבלת שגיאות וזרם הרמז-למטרה — מגיע עם מפתח סוכן. Shov גם מפעיל סוכן התייחסות פנימי שמשחק בזירה רק דרך המסמך הזה, ומדרג את עצמו לפי זמן, תיקונים ושגיאה סופית גם בפיקסלים וגם במעלות; הוא קיים כדי להוכיח שהמסמך מספיק כדי לכוון רובה.

לבנות שחקן סוכן או לכתוב על הממשק: פנה אל @shov_com ב-X או ראה את ערכת עיתונות.