كيف تصمم لعبة روبوت ذكاء اصطناعي بقواعد واضحة وذاكرة وخيارات للاعب
لتصميم لعبة روبوت ذكاء اصطناعي قابلة للعب، حدد حلقة تكرارية صغيرة وقابلة للإعادة، وخزّن حالة اللعبة خارج المحادثة، وامنح كل إجراء يتخذه اللاعب نتيجة واضحة. دع الروبوت يفسر الطلبات ويصف الأحداث؛ ودع القواعد الصريحة تحدد التكاليف والتقدم والنهايات. هذا الدليل موجه لصناع الألعاب الذين يبنون لعبة نصية بشخصية ذكاء اصطناعي أو راوٍ. المهمة هي إنشاء جلسة واحدة قصيرة وقابلة للاختبار يفهم فيها اللاعبون خياراتهم، ويرون أن قراراتهم مهمة، ويصلون إلى نهاية صالحة. لعبة التوصيل الموضحة أدناه هي تصميم توضيحي، وليست منتجاً تم اختباره أو دراسة حالة منشورة.
ابدأ بحلقة أساسية يمكنك لعبها بدون ذكاء اصطناعي
اكتب الحلقة في جملة واحدة: اعرض الموقف ← اقبل الإجراء ← تحقق من القواعد ← حدّث الحالة ← اعرض النتيجة والخيارات التالية. يجب أن يكمل كل دور تلك الحلقة أو يوضح سبب عدم إمكانية المتابعة.
قبل كتابة موجه للشخصية، حدد الهدف، والإجراءات المتاحة، وتكاليف الإجراءات، وشروط النهاية. يجب أن تكون قادراً على تشغيل اللعبة باستخدام بطاقات الفهرسة أو جدول بيانات. يتيح ذلك فحص الآليات قبل أن يضيف الحوار المُولَّد التنوع.
فكر في لعبة صغيرة تسمى *Festival Parcel* (طرد المهرجان). لدى اللاعب خمس وحدات زمنية لتوصيل طرد. يمكنه اختيار طريق مباشر أو طريق الحديقة، ويمكنه اختيارياً جمع شريط تزييني قبل المغادرة. يلعب الروبوت دور ساعي المهرجان الذي يشرح الطرق ويعلق على التوصيل.
القواعد المقترحة موجزة ومحكمة عن قصد:
اعرض هذه القواعد قبل الخيار الأول. وضح أن إجراءات التوصيل تنهي الجلسة، لذا يجب على اللاعبين جمع الشريط مسبقاً. إن التوصيل الذي يستهلك الوحدة الزمنية الأخيرة يظل ناجحاً لأن التحقق من النجاح يأتي أولاً.
يحتوي هذا النموذج الأولي على بداية كاملة، ومساحة اتخاذ قرار، ونهاية. يجب ألا تُضاف شخصيات أو مواقع إضافية إلا إذا استحقّت مكانها بإضافة قرارات مفيدة إلى تلك الحلقة.
اجعل الحالة الصريحة هي المرجع المعتمد للنتائج
تعامل مع الحالة باعتبارها سجل اللعبة لما هو صحيح وواقعي. يمكن لنص المحادثة أن يشرح هذا السجل، لكن لا ينبغي له أن يغيره سراً.
يصف فصل الحالة لروبرت نيستروم في *Game Programming Patterns* (https://gameprogrammingpatterns.com/state.html) آلات الحالة المحدودة من خلال الحالات، والمدخلات، والانتقالات المسموح بها. ويوضح أيضاً كيف يمكن للعلامات المنطقية (Boolean flags) المدمجة بشكل فضفاض أن تنتج مجموعات غير صالحة. طبق هذا المبدأ على دورة حياة لعبتك: استخدم حالة جلسة واحدة، مثل نشطة (active)، أو تم التوصيل (delivered)، أو فائتة (missed)، مع انتقالات محددة.
بالنسبة للنموذج الأولي للتوصيل، يكفي تحديد مواصفات صغيرة للحالة:
استنتج بطاقة الحديقة البريدية من المسار المحدد بدلاً من تخزين قيمة ثانية قد تتعارض معها. وبالمثل، احسب الإجراءات المتاحة حالياً من الحالة والقواعد.
استخدم ترتيب معالجة ثابتاً: فسر الطلب، وتحقق من صحة إجرائه ومعلماته، واحسب النتيجة، واعتمد تغيير الحالة، ثم اسرد ذلك روائياً. زوّد الراوي بالنتيجة المعتمدة والإجراءات التالية المسموح بها. ولا ينبغي له ابتكار عملية حسابية ثانية.
على سبيل المثال، بعد جمع الشريط، تكون النتيجة المعتمدة هي: يتبقى أربع وحدات زمنية، وتم جمع الشريط، وكلا الطريقين متاحان من حيث التكلفة. يمكن للروبوت أن يصف لون الشريط، بشرط ألا يكون لهذا اللون أي تأثير آلي. ولا يمكنه إضافة تكلفة زمنية غير معلنة أو منح شريط ثانٍ.
يمكنك بناء نموذج أولي لهذه الشروط باستخدام أداة سردية موجودة. يشرح البرنامج التعليمي الرسمي للخيال التفاعلي من Inkle (https://www.inklestudios.com/ink/web-tutorial/) الخيارات المشروطة، وتتبع المحتوى الذي تمت زيارته سابقاً، والمتغيرات، والنهايات الصريحة. توفر هذه الميزات أساساً مفيداً لاختبار اللعبة المؤلفة قبل إضافة السرد بالذكاء الاصطناعي.
امنح اللاعبين خيارات يمكنهم فهمها والتأثير فيها
لهذا التصميم، احكم على حرية الاختيار والفاعلية (agency) من خلال ما إذا كان بإمكان اللاعب توقع فرق ذي معنى ثم ملاحظته في النتيجة. إن وجود عدة أزرار بصياغات مختلفة تؤدي إلى نتيجة متطابقة لا يفعل الكثير لاختبار ذلك.
في *Festival Parcel*، يدعم قرار المسار تفضيلات اللاعبين المختلفة:
هذه حسابات توضيحية من القواعد المذكورة. وهي توفر وسيلة مساعدة بسيطة لاتخاذ القرار: اختر التوصيل المباشر للإنهاء في وقت أبكر، أو اجمع الشريط للزينة، أو اسلك طريق الحديقة للحصول على البطاقة البريدية. الوقت المتبقي هو مجرد تفصيل ختامي هنا؛ فهو لا يمنح نقاطاً سراً.
إذا كانت اللعبة تكافئ لاحقاً نتيجة معينة، فأفصح عن آلية التسجيل تلك قبل اتخاذ القرار. وإلا، فلن يتمكن اللاعبون من تقييم المفاضلة التي قصدتها.
ادعم النص الحر إلى جانب الإجراءات المرئية. يمكن لعبارة "فلنسلك الطريق ذا المناظر الخلابة" أن تدل على التوصيل عبر الحديقة. أما عبارة "اجعلها مميزة" فهي غامضة: قد تعني جمع الشريط، أو سلك طريق الحديقة، أو كليهما. اطلب توضيحاً قصيراً دون استهلاك وقت.
بالنسبة للنموذج الأولي الأول، اقبل إجراء لعب واحداً لكل رسالة. إذا طلب اللاعب تسلسلاً من الإجراءات، فاعرض خطواته واطلب منه اختيار الإجراء الأول. يتجنب هذا التنفيذ الجزئي لخطة تبيّن لاحقاً أن خطواتها التالية غير متاحة.
اجعل الرد على الطلبات غير المدعومة مفيداً وغنياً بالمعلومات. إذا طلب اللاعب الطيران، فاشرح أن المسارات المتاحة هي المباشر وعبر الحديقة، مع تكاليفهما. يمكن للنص الحر توسيع التعبير بينما يحافظ نظام الإجراءات على مجموعة قدرات يمكن التنبؤ بها.
حدد ما يتذكره الروبوت وما يمكنه معرفته
قسّم الذاكرة إلى ثلاث طبقات، لكل منها غرض مختلف.
تخزن حالة الجلسة المعتمدة الموارد، والتقدم، والمسارات المحددة، والنهايات. وتستمر عبر عمليات الحفظ وإعادة التحميل ولا تتغير إلا من خلال إجراءات تم التحقق منها.
يسجل سجل أحداث الجلسة الإجراءات المعتمدة وعواقبها. قد ينص أحد المدخلات على أن الإجراء 2 قام بجمع الشريط وخفّض الوقت من خمسة إلى أربعة. يدعم هذا تصحيح الأخطاء وتقديم ملخصات دقيقة. احتفظ بمعرّفات للإجراءات حتى لا يؤدي طلب متكرر إلى تطبيق الحدث نفسه مرتين.
يحتوي السياق السردي على الحوار الأخير وملخص موجز يُستخدم للحفاظ على النبرة والاستمرارية. يمكن تقصيره دون حذف حالة اللعبة الفعلية.
يناقش دليل Anthropic للهندسة الفعالة للسياق (https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents) كلاً من تلخيص سجل المحادثة والاحتفاظ بملاحظات دائمة خارج نافذة السياق. كما يحذر من أن التلخيص الجائر قد يفقد تفاصيل مهمة. المغزى التصميمي هنا هو الاحتفاظ بالحقائق الآلية الدقيقة في تخزين منظم واستخدام الملخصات لاستمرارية المحادثة.
عيّن حدوداً للمعرفة بالإضافة إلى حدود التخزين. يجب أن تتلقى الشخصية فقط الحقائق المسموح لها بمعرفتها. إذا تضمن إصدار لاحق مساراً مخفياً، فابقِه بعيداً عن سياق تلك الشخصية حتى يتم استيفاء شرط اكتشافه. فالحالة المتاحة لمحرك اللعبة لا يلزم بالضرورة أن تكون متاحة بأكملها للراوي.
لهذه اللعبة الصغيرة، احتفظ بالتقدم داخل الجلسة المحفوظة وامسحه عند بدء جولة جديدة. تجنب استنتاج تفضيلات دائمة للاعب من خيار مسار واحد. وإذا أضفت تفضيلاً محفوظاً، مثل الأوصاف الأقصر، فاجعله صريحاً وقابلاً للتعديل.
اختبر الذاكرة بتسلسل ملموس: اجمع الشريط، ثم احفظ، ثم أعد التحميل، واسأل عن الحالة، وحدد التوصيل عبر الحديقة. يجب أن يظل الشريط مجموعاً، ويجب أن تتبقى أربع وحدات زمنية قبل التوصيل، ويجب أن يكون الوقت النهائي صفراً.
صمم استجابات منفصلة لفشل اللعبة وفشل النظام
الهدف الفائت هو جزء من اللعبة. أما طلب التوليد الفاشل فهو مشكلة تنفيذية. امنح كلاً منهما عواقب مختلفة.
بالنسبة لفشل اللعبة، اذكر اسم القاعدة التي أنهت الجولة. بعد ثلاث فترات انتظار، تتبقى وحدتان زمنيتان فقط، وبالتالي لا يمكن تحمل تكلفة أي من طريقي التوصيل. أنهِ اللعبة على الفور مع شرح واضح وخيار لإعادة التشغيل بدلاً من ترك اللاعب في جلسة نشطة لا يمكن الفوز بها.
بالنسبة لحالات الفشل التنفيذية، حدد سلوك الاسترداد قبل إضافة سرد متكلف:
لا تستبدل ملف حفظ غير قابل للقراءة بلعبة جديدة سراً؛ فهذا يخفي التقدم الضائع ويجعل الاستجابة التالية مضللة.
ابنِ رسالة نتيجة واضحة وبسيطة لكل إجراء: ما حدث، وما تغير، وما هو متاح بعد ذلك. يمكن أن يصاحب السرد التعبيري للروبوت هذه النتيجة. وفي أثناء مهلة الانتظار (timeout) أو الاستجابة المتناقضة، تظل الرسالة البسيطة تتيح للاعب المتابعة.
اختم النهايات بملخص دقيق. اذكر الشريط فقط إذا تم جمعه والبطاقة البريدية فقط لمسار الحديقة. يجب أن يحافظ النثر المُولَّد على الفروق التي قضى اللاعب الجلسة في اختيارها.
اختبر القواعد أولاً عبر اللعب، ثم اختبر تفسير الروبوت
اختبر اللعبة أولاً بنص ثابت. غطِّ كل إجراء، ونهاية، وحالة حدية. ثم أضف الروبوت وكرر تلك الاختبارات باستخدام صياغات متنوعة. يفصل هذا بين القاعدة المعطلة والطلب الذي أسيء فهمه.
ادعُ لاعبين ممثلين لإكمال عملية توصيل دون توجيه. اطلب منهم توضيح ما يتوقعونه قبل الاختيار وما يعتقدون أنه تغير بعد ذلك. يوصي دليل مجموعة Nielsen Norman لاختبار قابلية الاستخدام بالتفكير بصوت عالٍ (https://www.nngroup.com/articles/thinking-aloud-the-1-usability-tool/) بمشاركين ومهام ممثلة مع ترك المشاركين يتحدثون؛ كما يحذر من أن حث الميسر وتوجيهاته قد تؤثر على السلوك.
استخدم الملاحظة جنباً إلى جنب مع سجل الإجراءات. سجّل الإجراءات المحاوَلة، وطلبات التوضيح، والنتائج غير المتوقعة، وأي عدم تطابق بين السرد والحالة المعتمدة. اسأل عما إذا كان اللاعبون قد فهموا الخيارات بمعزل عما إذا كانوا قد استمتعوا بالاختيار من بينها.
قائمة تحقق موجزة لاختبار اللعب. أصلح أوجه القصور في القواعد والتعامل مع الحالة قبل توسيع العالم. إذا فهم اللاعبون الخيارات لكنهم وجدوها غير ممتعة، فعدّل المفاضلات. وإذا استمتعوا بالقرارات لكنهم لم يتمكنوا من التنبؤ بالتكاليف، فحسّن طريقة العرض. وسّع النموذج الأولي عندما تظل خياراته الحالية مفهومة عبر مختلف الصياغات، والجلسات المحفوظة، ومسارات الفشل.
