קודם כל נסכם שכל התנועות של השחקנים מצולמות, ועוברות המרה לתלת מימד כלל ההנפשה של רוב התנועות.עכשיו נניח ואפשר לחלק את התנועות שלנו לקטגוריות
1.תנועות התקפיות - בעיטה לשער, מסירה לעומק, נגיחה לכיוון השער, ועוד ועוד...
2.תנועות הגנה - חטיפה, גלי'ץ, ריצה להגנה
3.תנועות פאסיביות בלי כדור
עכשיו נניח ויש לנו טבלה מורכבת שמציגה תנועה מול תנועה ואת ה-rank שלה.
פה זה מתחלק ל-2 מצבים, תנועות מול שחקן שקרוב אליך, ותנועות מול שחקן שרחוק ממך (ריצה להגנה נניח).
עכשיו תדמיין שיש מטריצה ענקית שכל שחקן נמצא בה בנקודה ספציפית, יש לך נניח פונקציה של getMeasure בין 2 נקודות במטריצה, כל נקודה של שחקן במטריצה מכילה באופן דינאמי את הפעולה שהוא מבצע, את ה-distance שלו, ומערך של נקודות שחקנים שנמצאים ברדיוס האיום עליו.
עכשיו באמצעות הטבלה הזאת אתה יכול לארגן את המפגש האופטימלי בין 2 שחקנים, נניח בקטע של רמות נמוכות יותר במשחק, אתה תייצר תנועות עם דירוג נמוך יותר בטבלה.
ככה בגדול אני הייתי מתכנן את זה.