في
الجزء الأول من دراسة Horizon Zero Dawn AI ، تحدثت عن كيفية قيام اللعبة بإنشاء قطعان من الآلات الحيوانية التي تعتمد على الذكاء الاصطناعي. يتطلب ذلك نظامًا معقدًا من التسلسل الهرمي للوكلاء ، حيث يمكن لكل جهاز اتخاذ قرارات بشأن كيفية التصرف باستخدام مخطط الشبكة للمهام الهرمية ، وتعيين وكلاء المجموعة بشكل مشترك أدوار ومسؤوليات الآلات كأجزاء من القطيع. كل هذا جزء من نظام يسمى "The Collective" يدعم النظام البيئي لجميع الآلات في العالم عندما يكون المستخدم في اللعبة.
في هذه المقالة الأخيرة ، سوف نلقي نظرة فاحصة على الأنظمة التي يمكن للأجهزة الفردية استخدامها كجزء من سلوكهم الأساسي. وهي تشمل أنظمة الاستشعار ، والملاحة للسيارات البرية والطيران ، فضلاً عن الاتصال الوثيق بسلوكيات الذكاء الاصطناعي مع أنظمة الرسوم المتحركة ، والتي توفر لكل سيارة سلوكًا خطيرًا ، ولكن في نفس الوقت.
مجسات وحركة
أولاً ، دعونا نلقي نظرة على أجهزة الاستشعار التي تستخدمها الآلات لتحفيز ردود فعل الذكاء الاصطناعي ، ونتعلم أيضًا كيف ترتبط الرسوم المتحركة بالعملية الشاملة لتنفيذ سلوكياتهم. يمكن أن يستخدم الجهاز عددًا كبيرًا من أجهزة الاستشعار الفريدة: أجهزة استشعار بصرية ، على سبيل المثال ، عيون
"الفارس" ، وأجهزة استشعار وجود الرادار لـ
"strider" ، وأجهزة استشعار السمع التي تلتقط الأصوات من الانفجارات البعيدة ورمي الحجارة بالقرب منها ، فضلاً عن القدرة على إحساس اللاعبين بلمس الجهاز. تحتوي كل آلة على مجموعة من هذه المستشعرات ، يتم معايرتها من خلال قيم الحساسية الخاصة بها ، لذلك من السهل جدًا الوصول إلى ، على سبيل المثال ،
"فارس" أو
"مجتر" ، ولكن من الصعب جدًا التقاط
"أيمن" .
نظام الاستشعار التقليدي قادر فقط على تتبع الأحداث حول الذكاء الاصطناعى و "رؤيته" / "سماعه" ، ولكن في الواقع نظام الحساس لديه الكثير من الفروق الدقيقة. يستخدمون حزم المعلومات المرفقة بالكائنات التي يمكن أن تسبب محفزات على أحد مستشعرات الآلات: مثل هذه الكائنات يمكن أن تكون لاعبًا ، و NPCs الأخرى ، والأحجار ، وسهام الطيران ، وغيرها من السيارات والطبيعة. تُعلم هذه البيانات المستلم (الجهاز الذي أحس بشيء) بمعلومات حول ما عثرت عليه وحالته. لذلك ، يمكن للآلات ، مثل الإنسان ، أن تفهم الفرق بين الجثة الملقاة أمامهم والسهم ، صفير بجانب رأسهم. بالإضافة إلى ذلك ، يسمح لك هذا بالتأكد من أن اللاعب المختبئ في العشب الطويل أو خلف الأشجار غير ملحوظ - تتلقى الأجهزة معلومات أنه غير مرئي في هذه الحالة.
كل حرف AI ، سواء كان جهازًا أو شخصًا ، قادر على معالجة وتفسير البيانات الحسية بطرق مختلفة ، بحيث يمكن تجاهل بعض المعلومات من قبل بعض الشخصيات ، بينما يستجيب آخرون لها بشكل مناسب. في الواقع ، اعتمادًا على طاقة المستشعر في الجهاز ، يمكنه تقليل كمية البيانات المستلمة من حدث المستشعر الذي يمكنه قراءته. يتيح لك ذلك التحكم في الخصائص الناشئة للعبة حتى يتمكن كل نوع من الشخصيات من الاستجابة للمعلومات بطريقته الفريدة من نوعها.
إذا كانت منظمة العفو الدولية بحاجة إلى تنفيذ إجراء بناءً على هذه البيانات الحسية ، فلا نزال بحاجة إلى جعلها تبدو واقعية. لذلك ، عندما تقرر الآلة اتخاذ بعض الإجراءات ، على سبيل المثال ، الانتقال إلى موقع جديد ، أو التحقيق في مصدر القلق أو مهاجمة اللاعب ، فهناك مشكلة في تنشيط تنفيذ هذه الإجراءات بأكثر الطرق الممكنة واقعية. تمثل الرسوم المتحركة لهذه الآلات مهمة صعبة للغاية: يجب أن تبدو في وقت واحد وكأنها نماذج حية وأن يكون لديها سلوك متميز يشبه الجهاز. لهذا الغرض ، من الضروري أن تأخذ كل من أنظمة الملاحة والقتال في الاعتبار المسافة التي يجب أن تسيرها المركبة ، ويجب أن تقوم سلسلة أدوات الرسوم المتحركة بضبط عظام جذر الرسوم المتحركة ومزجها وفقًا لمسافة ووقت الحركة المتصورين.

هذا يضمن أنه في أي مسافة من الحركة وسرعة الجهاز ، يمكنه تشغيل الرسوم المتحركة ، والانتقال إلى الجزء الرئيسي من السلوك ، ثم مزجهما بشكل صحيح وفي الوقت المناسب. يعد هذا الأمر مهمًا للسلوكيات مثل الركض إلى نقطة معينة ، عندما لا يحتاج الجهاز فقط إلى الإبطاء والتوقف عند النقطة الصحيحة. لكنه مهم بشكل خاص في المعركة. تحتوي العديد من الرسوم المتحركة المستخدمة في الهجمات على تسلسلين منفصلين: "الأرجوحة" ، والتي تشير إلى بداية الهجوم ، تليها الإكمال ، مما تسبب في حدوث أضرار. يستخدم
Horizon Zero Dawn طريقة مشابهة لتلك التي تحدثت عنها في مقالة
DOOM AI : يقوم النظام بمراقبة الحركة الحالية للجهاز ، ويمزج الرسوم المتحركة للحركة أو الهجوم للوصول إلى النقاط المطلوبة ، ثم يجعل السيارة تظهر أو تتوقف بالضبط في النهاية.
الملاحة
هناك مهمة خطيرة أخرى لم أتحدث عنها بعد - التنقل. مهمة نقل السيارات حول العالم معقدة للغاية ، وهناك مجموعة واسعة من أنواع فريدة من الأعداء ، ولهم جميعًا أحجام وأشكال مختلفة. لذلك ، يجب أن تتحرك على طول الإغاثة بطريقة طبيعية بالنسبة لهم. بالإضافة إلى ذلك ، يجب عليهم التعرف على التغييرات في الهندسة المحلية والتكيف معها ، أو ببساطة تجاهلها ، وهذا يتوقف على نوع الجهاز. للقيام بذلك ، تحتاج إلى أداة AI مستخدمة على نطاق واسع تسمى شبكة التنقل. يخزن Navmesh معلومات حول كيفية تحرك شخصية معينة على الخريطة استنادًا إلى ما يعتبر عقبات في العالم بالنسبة له. على الرغم من أنه يمكننا حساب كل ذلك أثناء تنفيذ اللعبة ، إلا أن هذه البيانات تكون عادةً مضمنة أو "مخبوزة" قبل إصدار اللعبة ، وإذا لزم الأمر ، يتم تحميلها في الذاكرة.
نظرًا لأن خريطة
Horizon Zero Dawn ضخمة وأن شرائح معينة فقط مطلوبة في وقت معين (AI نشطة وتتحرك فقط بالقرب من اللاعب) ، يتم إنشاء شبكة ملاحة أثناء اللعبة ، ولكن فقط داخل المنطقة المجاورة مباشرة للاعب. ولكن المثير للاهتمام هو أنه لا يتم استخدام نافميش واحد ، ولكن ستة! يوفر أربعة منهم حركة شخصية بناءً على حجم الكائن: صغير أو متوسط أو كبير أو ضخم. لذلك ، يمكن للأفراد والفرسان التحرك حول شبكة صغيرة ، وبالنسبة لآلات مثل الصاعقة ، فإن navmesh هو ملكهم بالكامل تقريبًا. بالإضافة إلى ذلك ، هناك نوعان إضافيان من أدوات navmesh: واحدة للآلات العائمة ، على سبيل المثال ، "النقر فوق الأسنان" ، بالإضافة إلى شبكة فريدة تجعل الآلات تقف في مواقع ملائمة في حالة محاولة اللاعب تسلقها.

في كل حالة من هذه الحالات ، يمكن للعقبات حظر أو تغيير هيكل شبكات الملاحة ، ويقوم النظام بإعادة حساب التغييرات في الوقت الحقيقي بحيث يمكن أن تؤثر عقبات الحركة (وحتى الأجهزة الأخرى) على القدرة على التنقل عبر الفضاء. ما يثير الاهتمام هنا هو أن العقبات يمكن أن يكون لها خصائص مختلفة ، ويمكن أن تكون غير سالكة تمامًا ، أو ببساطة غير مرغوب فيها للتحرك - ولكن هذا يعتمد إلى حد كبير على حالة سلوك جهاز الذكاء الاصطناعي. كما هو مذكور في الجزء الأول ، بعد إنشائها ، تتجنب السيارات التي تقوم بدوريات نشطة الغطاء النباتي الذي يمكنك إخفاءه ، ولكن عند استكشاف أقرب مصادر القلق ، تظل العشب غير مرغوب فيه ، وفي نفس الوقت ، لا يزال بإمكان الماكينة المرور عبرها إذا لزم الأمر. ينطبق نفس المبدأ على الأحجار والأشجار الصغيرة: فهي كائنات غير سالكة ، باستثناء الآلات الكبيرة ، مثل
"أفراس النهر" ، و
"صخور الحجارة" و
"رؤوس الرعد" . يمكن لهذه الوحوش كسر الأحجار واقتلاع الأشجار ، ولكن فقط إذا كانوا غاضبين أو يطاردون لاعبًا. كونها في حالة من السلوكيات الأخرى ، فإن هذه الآلات تتصور مثل هذه العقبات مثلها مثل أي سلوكيات أخرى.
حركة الهواء
على الرغم من أن سلسلة أدوات التنقل هذه تدير المركبات الأرضية بجميع الأحجام والأشكال ، إلا أنها لا تعمل على الإطلاق لأولئك الذين يطيرون في الهواء. لا يجب أن تأخذ الشخصيات غير اللاعب التي تتحرك عبر الهواء في الاعتبار أقرب العوائق ، حتى لا تتصادم مع الأشجار أو المنحدرات ، ولكن يجب أيضًا معرفة ارتفاع الشكل الهندسي المحيط بها. عالم Horizon Zero Dawn مليء بالتلال والغابات والمنحدرات وتسلق الجبال الشاهقة ... يجب أن يعرف نوعان من السيارات
الطائرة "طائرة ورقية" و
"نحلة" ، كيفية السفر عبر الهواء بطريقة يمكنك الإقلاع بها ، والسفر على طول طرق الدوريات ، والأرض ، وكذلك التراجع ، وإذا لزم الأمر ، مهاجمة اللاعب. لهذا ، لا تحتوي اللعبة على نظام شبكة ملاحة أرضي فحسب ، ولكن لديها أيضًا نظام هوائي منفصل تمامًا.

تحول إنشاءها إلى مهمة صعبة لقسم تطوير ألعاب AI. استخدم تقنية تسمى "تخطيط المسار الهرمي على خرائط MIP". MIP Mapping هي تقنية مستخدمة في رسومات الكمبيوتر. تهدف إلى تقليل مقدار الذاكرة التي تحتلها الملمس أو الصورة. للقيام بذلك ، يتم إنشاء مجموعة من الصور المتطابقة بدقة متناقص تدريجيا. يعد هذا الحل مثاليًا للتحكم في مستوى التفاصيل في الألعاب: حيث تكون الكائنات على بعد مئات الأمتار من المشاهد مرئية ، إلا أنها تستخدم ذاكرة نسيج أقل من تلك الموجودة بجوار المشغل وتستخدم أقصى درجات الجودة. تم استخدام هذه الطريقة للتنقل لأنه عندما تطير السيارة على طول الطريق الموضوعة في العالم ، فإنها لا تحتاج إلى أن تعرف بدقة تامة الهندسة المحلية للمكان الذي ستكون فيه في غضون دقيقة واحدة ، ولكن من الضروري معرفة موقع الأرض مباشرة قبل هبوطها. يستخدم نظام تخطيط المسار للمركبات المحمولة جواً تركيب MIP لإنشاء خريطة ارتفاع للهندسة المحلية - وهي بنية بيانات تخبرنا بارتفاع موضع x / y معطى في العالم. تحتوي مواد MIP على أربعة مستويات ، ومع اقترابها من الأرض ، تصبح أكثر تعقيدًا وواقعية. المستوى 3 هو نموذج بسيط ومجرد ، وملمس المستوى 0 عبارة عن خريطة دقيقة إلى حد ما لارتفاعات العالم.

بنفس طريقة شبكات الملاحة تقريبًا ، يتم إنشاء أنسجة mip أثناء تنفيذ اللعبة وحسب الحاجة: عند الطيران داخل منطقة معينة ، لا تحتاج الماكينة إلى معرفة بيانات الارتفاع في العالم بأسره. عندما يحتاجون إلى السفر إلى موقع مختلف ، تبدأ الملاحة الجوية AI خوارزمية البحث A * بأعلى مستوى MIP ، أي أنها تحسب أبسط إصدار من مسار الرحلة باستخدام إصدار الهندسة التقريبي. تجعل خوارزمية A * الطيران فوق وتحت العوائق أكثر تكلفة من الطيران حولها ، لذلك تحوم السيارات بالقرب من الجبال والصخور أكثر من الطيران فوقها. في كل مرة يقوم النظام باستدعاء خوارزمية A * ، يكون لديه عدد محدود فقط من التكرارات ، لذلك بعد حساب المسار باستخدام أبسط نسيج mip (المستوى 3) ، فإنه يأخذ جزءًا معينًا من المسار المحسوب ثم يقوم بتحسينه ، ويستعير البيانات من المستويين 1 و 0 ، لجعلها أكثر واقعية ومتسقة مع الهندسة. بالإضافة إلى ذلك ، فهو يسهل الطرق بطريقة لاستبعاد المنحدرات الحادة والمنعطفات الحادة ، مما يجعلها أكثر واقعية. يعمل هذا النظام بشكل جيد للغاية ، أي جهاز طيران في الهواء لديه دائمًا خطة طيران (حتى لو كانت سيئة) ، وإذا لزم الأمر ، يمكنه تحسينه عن طريق استدعاء خوارزمية البحث بشكل متكرر حتى يصبح المسار طبيعيًا. بالإضافة إلى ذلك ، فإنه يستخدم الذاكرة بشكل فعال ، ولكن هذا النهج له عيب واحد - لأنه يعتمد على أقصى ارتفاع لمنطقة معينة من الخريطة. لا يمكن للسيارات أن تطير تحت الجسور أو الأقواس الحجرية ، ولكن في معظم الأحيان لا يلاحظ اللاعب ذلك.

بفضل القوام البحري المستنقع والقماش المحمول جواً ، يمكن لآلات الطيران تنسيق الهجمات ، الهبوط ، هجمات الغطس ، وحتى السقوط وفقًا للهندسة. لا تزال الآلات التي تحوم فوق اللاعب أثناء الهجوم تستخدم خطة الطيران المحسوبة مسبقًا ، ولكنها لا تتحرك بالضرورة على هذا المسار ، وتلعب الرسوم المتحركة المقابلة. ترتبط سرعة السيارة بالوضع (الطيران أو التحويم أو التحويم) ، حتى يتمكنوا من الدوران بشكل واقعي فوق المشغل باستخدام أداة التنقل نفسها.
تستخدم عمليات الإقلاع والهبوط نظامًا منفصلًا يتفاعل مع الملاحة الجوية وشبكة الملاحة الأرضية: يبحث عن المواضع المناسبة على الشبكة التي يمكنك الهبوط عليها (عادة ما تكون هذه النقاط أعلى قليلاً من الأرض عن المتوسط المحلي) ، ثم تقوم بتحديد الزوايا والسرعة. الهبوط ، تستخدم السيارة navmesh الأرضية المناسبة لحجمها. يتم تطبيق نفس المبدأ في الواقع عند السقوط ، فقط في هذه الحالة تكون مواقف الهبوط المناسبة الوحيدة مبنية على المسار الحالي للجهاز ، وعلى الرغم من أن التعطل يبدو أقل رشاقة ، فإنه يستخدم بالفعل نفس الأدوات. حالة الحدود المبرمجة بشكل خاص هنا هي هجوم الغوص
"بترل" .
يحلق Petrel فوق اللاعب ثم يسقط باتجاه الموضع الحالي للاعب. إنه يستخدم نفس الأنظمة ، ولكن بطريقة أكثر دراماتيكية. ومع ذلك ، هناك خدعة أخرى: الدوران فوق اللاعب ، وغالباً ما ينتظر البيتيل قبل الهجوم حتى يغلق الشمس. ربما ، عند لعب اللعبة ، لاحظت ذلك ، وقد تم ذلك عن قصد. عند اختبار
"petrel" AI
، لاحظت إدارة ضمان الجودة أنه يغطي المشغل بشكل دوري مع الشمس ، وهذا يجعل هجومه أكثر إزعاجًا ، لأنه أثناء الغوص يتحرك الضوء ويغمي اللاعب. ثم حدث هذا عن طريق الصدفة تمامًا ، ولكن بعد ذلك قرر قسم تطوير الذكاء الاصطناعي أن يحدث هذا كثيرًا.
في الختام
هوريزون زيرو دون يخلق طريقة لعب فريدة من نوعها. عالم مليء بالحياة الميكانيكية يصبح مكانًا تتكشف فيه قصة إيلوي وأسرار ماضيها. الذكاء الاصطناعي وأنظمة اللعب في الآلات هي أهم جانب في خلق هذا المستقبل المروع الذي يستكشفه اللاعبون. لقد كان عملاً واسع النطاق لفريق مكون من 10 أشخاص ، استغرق تطويره عدة سنوات. أصبح إنشاء أنظمة الذكاء الاصطناعي بهذا الحجم ، والعمل بشكل جيد في الألعاب ذات العالم المفتوح الضخم ، مهمة متزايدة الصعوبة. لذلك ، يعد مجتمع مطوري الألعاب أمرًا حيويًا لتبادل تجاربهم مع الآخرين.
المراجع
- جوليان بيرتلينغ ، 2018. "ما وراء كيلزوني: إنشاء أنظمة جديدة لمنظمة العفو الدولية لأفق الأفق صفر" ، GDC 2018.
- Arjen Beij ، 2017. "AI of Horizon Zero Dawn" ، لعبة AI North 2017.
- Wouter Josemans ، 2017. "إعادة وضع الذكاء الاصطناعي في الهواء: التنقل في الفضاء الجوي لـ Horizon Zero Dawn" ، لعبة AI North 2017