
يواجه مصممو اللعبة بانتظام تحدي إنشاء منظمة العفو الدولية المثيرة للاهتمام. يمكن أن تكون هذه العملية بسيطة نسبيًا أو معقدة للغاية ، وفقًا لاحتياجات المشروع والأهداف التي تسعى إلى تحقيقها.
تحدث كبير مصممي
ألعاب Banzai Games ، ميخائيل دراجوفالوفسكي ، عن تجربته في العمل على الذكاء الاصطناعي للعبة القتال المحمولة الشهيرة Shadow Fight 3
الفرق بين SF3 ومعظم الألعاب القتالية
تم إنشاء سلسلة
Shadow Fight على الفور بعدد من الميزات التي تميزها عن العديد من ألعاب القتال:
- وجود القفل التلقائي. إذا كانت الشخصية تتحرك ببساطة ولا تهاجم ، فإنه يقوم تلقائيًا بحظر أي هجوم عادي للعدو ؛
- أبطأ وتيرة والرسوم المتحركة. راهن على العنصر التكتيكي: يجب أن يتوفر للاعب الوقت الكافي لفهم نوع الضربة التي يلحقها العدو وأي هجوم يختاره من أجل الهجوم المضاد بنجاح. سمح لنا ذلك بمنح اللاعب فرصة التفكير في الرسوم المتحركة التي نحاول أن نجعلها جميلة ومادية قدر الإمكان ؛
- اصطدامات صادقة. يؤدي هذا إلى خلق مواقف رائعة للغاية تتجنب فيها شخصية واحدة الهجوم الثاني وتضرب كرد فعل ، وذلك بفضل الرسوم المتحركة السلسة التي يديرها اللاعب للنظر في كل شيء ؛
- شكل الظل. عندما يتم ملء مقياس خاص ، يمكن للاعب إدخال شكل الظل وقضاء العديد من الحيل الرائعة التي تخترق كتلة الخصم
الذكاء الاصطناعى في المباريات السابقة في السلسلة
لقد عملنا بالفعل على لعبة AI في لعبة القتال السابقة - Shadow Fight 2 ، ولكن نظرًا للانتقال إلى 3D ، وظهور التصادمات بين اللاعبين وإضافة شكل الظل ، تمكنا من نقل جزء فقط من منطق AI ، وكان لابد من إعادة إنشاء الباقي.
من أين تبدأ العمل على الذكاء الاصطناعى؟
إذا لم تقم بإجراء روبوت باستخدام التعلم الآلي ، فسأحدد نهجين كابتن:
- اصنع روبوتًا ضعيفًا ، ثم عزز المستوى المطلوب باستخدام ميزات جديدة ؛
- جعل الروبوت الذي لا يقهر ثم تضعف.
يبدو الخيار الثاني رومانسيًا للغاية: يبدو أنك أكثر ذكاءً من أي شخص آخر وتصنع الذكاء الاصطناعى اللطيف الذي يثني اللاعبين ، ثم يقلل من التعقيد في هذا الروبوت. من وجهة نظر التنمية ، وهذا قد يكون أكثر ملاءمة ، لأنه يمكنك التفكير في جميع ميزات سلوك الروبوت التي تحتاجها مسبقًا ، وتخيل سلوكها النهائي تمامًا.
بالطبع ، اخترنا هذا الخيار ، على الرغم من أننا أدركنا بعد ذلك أن كل شيء ليس بهذه البساطة: بفضل توازننا من الرسوم المتحركة والكتل التلقائية ومجموعة متنوعة من المهارات ، يمكنك دائمًا العثور على التكتيكات والإساءات الضرورية التي تسمح لك بهزيمة الذكاء الاصطناعي بمهارة عالية. لم نفهم هذا على الفور ، ولكن فقط عندما تم قياس فوز اللاعبين في مراحل مختلفة من اللعبة بشكل صحيح. هذا على الرغم من حقيقة أنه بالنسبة لكثير من الناس ، واستنادا إلى ملاحظاتهم على اللعبة ، فإن الروبوت كان حقا لا يقهر.
كيف يعمل الذكاء الاصطناعى؟
المشغلات أو قواعد السلوك- يعتمد على القواعد التي بموجبها يقوم الروبوت بتنفيذ إجراءات عشوائية. نحن نسمي هذا النظام من مشغلات القواعد. على سبيل المثال:
- ينظر الروبوت إلى المسافة بينه وبين اللاعب ويختار فقط تلك الزيارات التي يمكن أن يضربها ، ثم يسلم واحدة عشوائية من هذه الزيارات.
- الروبوت لا البريد المزعج مع رمي الأسلحة.
- يدخل الروبوت في الجبهة بأسلحة العدو ، ثم يبدأ في التهرب بشكل مضمون لبعض الوقت ؛
- وحفنة من الأشياء التي ينبغي أن يقوم بها الروبوت أو لا ينبغي أن يفعله ...
إذا قمت بالإفراج عن مثل هذا الروبوت ضد المبتدئين ، وعلى قدم المساواة مع الضخ ، فإن النتيجة تعتمد على الأسلحة التي يتم بها تسليح الخصوم. من هو أسرع من الرسوم المتحركة ، وقال انه سيفوز. لأنه ، في الواقع ، كلاهما يضغط على جميع الأزرار ، حسناً ، فيما عدا أن الروبوت يقوم بذلك بشكل أكثر جدوى.
صنع القرارتتمثل الخطوة المنطقية لتحسين الذكاء الاصطناعي في تقليل العشوائية وإضافة نظام لصنع القرار من شأنه أن يحفز الروبوت إلى النصر. للقيام بذلك ، تحتاج إلى فهم القرارات الصحيحة في أي المواقف. للقتال هناك حالتان تحدثان طوال الوقت:
- العدو ينتظر.
- العدو يهاجم.
هناك حلان أيضًا:
- تحتاج إلى الفوز عندما يضمن لضرب.
- تحتاج إلى حظر عندما ضربك وأنت لا تستطيع الهجوم المضاد.
اتضح أنه من أجل النصر ، يجب على منظمة العفو الدولية مقاطعة هجمات العدو بهجماتها المضادة ، أو عرقلة ما إذا كانت لا تستطيع مقاطعة هذه الهجمات.
لقد اتخذنا مجموعتين من القرارات التي يتخذها الروبوت: واحد - إذا كان العدو واقفًا ، والآخر - إذا كان العدو يهاجم. لكي تعرف منظمة العفو الدولية بالضبط ما الذي يجب مواجهته ، توصلنا إلى جداول التصادم.
جداول التصادمتذكر كيف نظر الطبيب سترينج من خلال جميع النتائج المحتملة للمعركة مع Thanos؟ وبالمثل ، تعمل جداول التصادم على النحو التالي: يقوم الكمبيوتر بحساب مسبق لنتائج كل رسم متحرك في اللعبة في كل مسافة ممكنة.
إذا كان ذلك بمزيد من التفصيل: نطلق ضربة بالسيف وفي نفس الوقت نوجه ضربة بكاتانا ، ثم ننظر من سيضرب من. نحن نقوم بهذا الإجراء لجميع السكتات الدماغية في اللعبة ، وعلى جميع المسافات وبتأخير في عدد مختلف من الإطارات (لقد أطلقت ضربة بالسيف ، والعدو من خلال إطارات N - ضربة بضربة كاتانا). يتم تسجيل جميع النتائج في الجداول. نقوم بإجراء مماثل قبل كل تحديث ونضع الملفات الناتجة بعد خوارزمية ضغط صعبة في الشكل النهائي في البنية حتى لا نأكل موارد الجهاز في وقت التشغيل. يمتلك اللاعب في العميل بالفعل قائمة بجميع النتائج ، مما يعني أن AI يعرف ما هي الضربة التي يمكنها مواجهة أي إصابة للاعب على مسافة محددة ، أو فهم أن أفضل طريقة الآن هي منع الهجوم.
نتيجة لذلك ، يستجيب الذكاء الاصطناعى بفعالية لإجراءات اللاعب. وهذا هو ، تم حل الهجمات المرتدة. تحتاج الآن إلى تعليم الروبوت للهجوم بالطريقة المثلى ، بدلاً من الزيارات العشوائية.
اختيار المسافة والإضراب الصحيحسيقول القارئ الذكي واليقظ: "توقف !!! لماذا حتى تهاجم نفسك إذا كان العدو دائما في القفل التلقائي؟ يجب أن ننتظر ضربة العدو ونعاقبه بضربة سريعة ستوقف هجومه! " نعم ، إنه كذلك ، لكن الروبوت الذي لا يتحرك ولا يهاجم بدون تصرفات اللاعب يبدو غريبًا على الأقل. يجب أن يكون الذكاء الاصطناعى قادرًا على اختيار الزيارات الفعالة لشن هجوم ، حتى لو كانت الإستراتيجية المثلى هي اللعب من الهجمات المرتدة. للقيام بذلك ، قمنا بتطوير نظام لاختيار أفضل مسافة والضربات.
كما اعتقدنا: يستخدم اللاعب غالبًا العديد من اللكمات المفضلة ، مما يعني أن الروبوت سيقوم بالتحديد بتنفيذ تلك الهجمات التي لا يمكن مقاطعتها على مسافة محددة من خلال اللكمات التقليدية للاعب. للقيام بذلك ، نحن:
- نقوم بجمع إحصائيات جميع ضربات اللاعب.
- نحن ننظر إلى أي مدى لدينا الهجمات المضادة الأكثر فعالية ضد هجماتها المعتادة ؛
- نمر هذه المسافة إلى الروبوت ونجعلها تبقى طوال المعركة.
من الناحية النظرية ، يبدو الأمر رائعًا ، لكن من الناحية العملية ، لم يكن الوضع جيدًا: نادراً ما يقف اللاعبون في وضع الخمول - يضغطون دائمًا على الأزرار ويضغطوا على الروبوت ، وبالتالي يتم توجيه الروبوت في كثير من الأحيان بنظام لصنع القرار يعتمد على هجمات اللاعبين ، بدلاً من أخذ المبادرة. لذا فإن اختيار الضربة المناسبة يعمل فقط ضد اللاعبين السلبيين ، ولكن اختيار أفضل مسافة أدى إلى تحسين الهجمات المضادة - أصبحوا أكثر تنوعًا ، لأن الروبوت لديه المزيد من الخيارات.
في هذه المرحلة ، يكون الروبوت فعالًا بالفعل: فهو يعرف أفضل السبل لبدء الهجوم ، ويعرف متى يجب الهجوم المضاد ومتى يجب حظره. بعد ذلك ، سنتحدث عن الأنظمة التي تسمح لك بتعيين المستوى المطلوب من التعقيد وإضعاف أو تعزيز الروبوت.
الاستياء والغفرانهذا مفهوم مثير للاهتمام يقوم عليه نظام ميزانيتنا. من خلال ذلك ، نقوم بإنشاء مستوى كافٍ من التعقيد للمبتدئين والمحترفين ، بالإضافة إلى تحفيز اللاعب على استخدام ضربات مختلفة ، مما يزيد من اهتمام وتسلية اللعبة.
يكمن جوهر المفهوم في الاسم: إن البوت يسيء إلى ضربات اللاعب ، والتي يكررها اللاعب من وقت لآخر. الاستياء هو عداد يقلل من فرصة اتخاذ قرار دون المستوى الأمثل ويزيد من فرصة قيام AI بإجراء هجوم مضاد مثالي.
على الجانب الآخر من المقياس ، هناك مغفرة - يبدأ الروبوت في زيادة فرصة اختيار الحلول غير المثالية وتقليل فرصة حدوث هجوم مضاد إذا توقف اللاعب عن البريد العشوائي وانتقل إلى استخدام مرات الوصول الأخرى.
إذا كنا نرغب في إنشاء روبوت معقد ، فنحن نخفف من سرعة المغفرة ، ونحدد أيضًا درجة عالية من بدء الاستياء ، وإذا أردنا أن نجعل روبوتًا ضعيفًا ، فإن العكس هو الصحيح.
تأخيركل روبوت في SF3 له تأخير في اتخاذ القرار. هذه معلمة تؤدي إلى توقف الروبوت عن إطارات N قبل اختيار خيار إجراء. شيء مفيد - يسمح لك بإنشاء المظهر الذي يفكر به خصمك. كلما كان الروبوت الذي نريده أكثر بساطة ، زاد التأخير الذي حددناه له.
تحقق شرطلجعل بعض أجزاء اللعبة أكثر عاطفية ، نستخدم التحقق من حالات وعلاقات متغيرات اللعبة المختلفة.
يمكننا إجبار بعض الروبوتات على عدم استخدام رمي الأسلحة على مسافات معينة أو لتقليل سرعة المغفرة إذا كان اللاعب لديه نقاط ضرب أكثر من الروبوت ، أو جعل الذكاء الاصطناعي أكثر عدوانية إذا كان لديه نقاط ضرب قليلة.
بشكل عام ، هذه وظيفة إضافية نستخدمها لإنشاء مواقف يقوم فيها الروبوت بتغيير سلوكه وفعاليته بشكل كبير. إذا لزم الأمر ، فنحن نقيد بعض إجراءات الروبوت في مواقف مختلفة ، على سبيل المثال ، يكون من الصعب على الروبوت القيام برمية من اللاعب ، وإلا فلن يتمكن اللاعب من رمي الروبوت ، لأن ستكون المسافات التي يمكن بها تطبيق رمي الكرة هي نفسها ، وسيكون لدى الروبوت وقت لبدء الرسوم المتحركة في وقت مبكر.
استنادًا إلى جميع الآليات المذكورة أعلاه ، أنشأنا 9 إعدادات مسبقة لمنظمة العفو الدولية الأساسية التي نستخدمها في مواقف وأقسام مختلفة من اللعبة. يتيح لك هذا النهج تغيير نقطة التوازن بنقطة وقياس التغييرات.
يؤدي
كانت عملية إنشاء تكتيكات الروبوت عملية طويلة. قدمنا هذه الميزات بشكل تدريجي ، لذلك في بعض الأحيان عانى لاعبونا ، وبعدها عانينا ، وقراءة مراجعاتهم ولعناتهم. عندما نزّلنا آخر التكرارات من التعديلات ، توقف تدفق المراجعات السلبية المتعلقة بسلوك المعارضين ، وهو ما نفخر به.
تُظهر تجربتنا أن إجراء مزيد من التحسينات على الروبوت باستخدام النهج الحالي لا يعطي زيادة ملموسة في الجودة. لذلك ، بدأنا العمل على شبكة عصبية تحاكي تصرفات اللاعب.
هناك العديد من الأشياء التي دفعتنا إلى هذا القرار:
- نحن نعمل على تطوير لعبة قتال PvP جديدة - Shadow Fight: Arena. ميزتها هي الأبطال مع أساليب مختلفة للغاية مع قدرات مختلفة والميكانيكا. إن جعل روبوت واقعي في ظل هذه الظروف أصعب عدة مرات مما هو عليه في حالة SF3 ؛
- لدينا بالفعل تجربة إيجابية باستخدام الشبكات العصبية لحل مشاكل الرسوم المتحركة في منتجنا Cascadeur . هذا برنامج لإنشاء رسوم متحركة واقعية نستخدمها في جميع ألعابنا ؛
- نريد تجميع فريق من متخصصي ML المختصين من أجل زيادة خبراتنا في هذا المجال واستخدامها لتحسين Cascadeur وألعابنا.
يتطلب فريق ألعاب Banzai باحثًا في التعلم العميق. اقرأ المزيد عن الوظيفة الشاغرة هنا .