تصحيح الألعاب المولّدة بالذكاء الاصطناعي
Updated 2026-09-05
اعثر على أول حد يفشل، وقدّم للوكيل عرضًا قابلًا لإعادة الإنتاج، وأعد اختبار إجراء اللاعب نفسه. ابدأ بالمحرك والبناء اللذين تشغلهما فعلًا.
صنّف الفشل قبل طلب إصلاح
حدد أقدم خطوة فاشلة: اكتشاف المشروع أو الاستيراد أو التحليل أو التجميع أو بدء المشهد أو إدخال اللاعب أو حالة اللعب أو التصدير أو التشغيل على الهدف. قد تكون الأعراض اللاحقة عواقب للفشل الأول. احتفظ بإصدار المحرك ومراجعة المشروع والهدف وإعادة الإنتاج الدقيقة معًا.
مثلًا، لا يستطيع مشهد لا يبدأ أبدًا أن يخبرك إن كان زر إعادة التشغيل يعمل. ولا يستطيع متصفح لا يجلب حزمة اللعبة اختبار المتحكم. وجّه الخطأ إلى الحد الصحيح قبل تغيير الكود؛ فهذا يمنع حلقة الإصلاح من تراكم تصحيحات غير مرتبطة بينما تظل المتطلبات الأولية معطلة.
| العرض | افحص أولًا | نتيجة إعادة الاختبار |
|---|---|---|
| لا يمكن فتح المشروع | المسار والإصدار والتبعيات | تحميل المشروع متوقع |
| مشهد فارغ | أخطاء البدء والمشهد والكاميرا والظهور | ظهور المحتوى المتوقع |
| لا أثر للإدخال | التركيز وتعيين الإجراء والحالة والمعالجات | الإجراء يغير حالة اللعبة |
| فشل التصدير | الإعداد المسبق أو متطلبات الهدف | إنشاء الأثر |
| يفشل البناء على الهدف فقط | الموارد المعبأة وسجلات المنصة | يكمل الهدف الحلقة نفسها |
التقط أول خطأ محرك ذي معنى
في Godot، استخدم لوحة المصحح ومخرج التشغيل ذي الصلة. وفي Unity، افحص أخطاء التجميع والتشغيل منفصلة وانتظر استعداد المحرر قبل تفسير نتائج اللعب. احتفظ بالمكدس أو الموضع الذي يحدد البرنامج النصي الفاشل والعملية التي أطلقت الخطأ.
أرسل للوكيل مقتطفًا مركزًا مع سياق المشهد أو الكائن ذي الصلة. تجنب سجلًا ضخمًا غير مميز يحجب أول خطأ، لكن احتفظ بالسجل الكامل محليًا للمراجعة اللاحقة. نقّح بيانات الاعتماد والبيانات الشخصية. يوضح التقرير المفيد ما فعله اللاعب وما كان يجب أن يحدث وما أبلغ عنه المحرك فعليًا.
قلّل إعادة الإنتاج دون تغيير المتطلب
ابدأ من حالة مشروع قابلة للاستعادة واعزل أصغر مشهد أو إجراء لا يزال يعرض العيب. أبقِ المتحكم الحقيقي أو قاعدة التصادم أو حد الحفظ المشترك في المشكلة. قد يؤدي حذف النظام الفاشل كله إلى تشغيل نظيف مع فقدان السلوك الذي احتجت إلى إصلاحه.
الموجز أدناه قالب تشخيص أصلي. املأه بتفاصيل مرصودة بدل مطالبة النموذج بافتراض سبب. اشترط تفسيرًا مقترحًا واحدًا وتغييرًا محدودًا. بعد اكتمال الاختبار، أعد ضم رحلة اللاعب الكاملة حتى لا يخفي الإصلاح المحلي انتقال مشهد مكسورًا.
Project revision: <record actual revision>
Engine and target: <record actual environment>
Steps: launch -> start round -> perform the failing action
Expected state: <specific result>
Observed state: <specific result>
First engine error: <relevant error and location>
Inspect the referenced scene and script before editing.
Propose one cause, make a scoped fix, then repeat these steps.
Preserve the required behavior and report any remaining failure.تحقق من الشاشة الفارغة على طبقات
حدد أولًا ما إذا كان المحرك بدأ وما إذا كان المشهد المقصود قد حُمل. ثم افحص اختيار الكاميرا وأبعاد viewport وظهور الكائنات ومواضعها وأي طبقة تغطي المشهد. استخدم حالة المحرك ولقطة حقيقية معًا؛ فقد لا تكشف الصورة وحدها أن المشهد متوقف أو خارج الكاميرا أو فارغ.
أدخل إجراءً وراقب تغير الحالة حتى عندما لا يظهر شيء. إذا تغير الموضع ولم تتغير الصورة، ركز على العرض أو مراجع المشهد. وإذا لم يتغير أي منهما، فحقق في البدء والإدخال قبل تعديل الفن. اربط كل فرضية بملاحظة حتى لا يعيد الوكيل كتابة النظامين بلا ضرورة.
تتبع الإدخال عبر انتقال اللعب
اتبع الإجراء من التركيز والتعيين إلى معالجه ثم إلى الحالة التي يفترض أن يغيرها. افحص حالة الإيقاف المؤقت واعتراض واجهة المستخدم قبل لوم حساب الحركة. قد يكون فشل إعادة التشغيل نتيجة معالج مفقود أو مرجع مشهد قديم أو حالة لم تُصفّر.
بعد الإصلاح، اختبر الإجراء من أكثر من حالة ذات صلة: التشغيل الأول وبعد الفوز وبعد الخسارة عند الاقتضاء. افحص المعالجات المكررة أو الكائنات القديمة التي لا تظهر إلا بعد جولات متكررة. يستطيع تدفق صغير مكتمل تحديد عيوب دورة الحياة هذه بفاعلية أكبر من اختبار الزر منعزلًا مرارًا.
افصل تحميل المتصفح عن منطق اللعبة
في تصدير Godot للويب، افحص لوحة الشبكة ووحدة التحكم في المتصفح قبل تعديل كود اللعب. أكد تحميل HTML وJavaScript وWebAssembly وحزمة اللعبة من الموقع المقصود. قارن إعدادات الاستضافة بوثائق التصدير الرسمية للويب، بما في ذلك متطلبات تهيئة الخيط المختارة.
حافظ على اتساق أسماء الملفات المصاحبة المصدّرة واختبر الأثر لا خليطًا من ملفات قديمة وجديدة. إذا ظهر المشروع الخطأ، افحص cache الخاص بـ service worker في متصفح الاختبار. ثم اختبر الإدخال وتحقق من المحتوى المتحرك. اللوحة غير الفارغة فحص عرض أولي وليست دليلًا على عمل حلقة اللعبة.
افحص إخفاقات التصدير الخاصة بالهدف
عندما يعمل المحرر ويفشل البناء الموزع، قارن اختيار مشهد البدء والموارد المضمنة والتهيئة وسجلات الهدف. احتفظ بتجزئة الأثر الدقيقة حتى لا يبطل تصدير لاحق سجل إعادة الإنتاج. اختبر من حالة بدء نظيفة قبل الاعتماد على الحفظات الحالية أو caches المحرر.
لا تغير الآلية الأساسية لحل ملف حزمة مفقود. أصلح حد التعبئة وأعد تشغيل مسار القبول نفسه في بناء الهدف. استخدم نظام التشغيل الفعلي لآثار سطح المكتب والمتصفح والاستضافة المقصودين لآثار الويب. لا يثبت التصدير المتقاطع وحده سلوك الهدف.
أغلق الإصلاح بنتيجة قبل وبعد
احتفظ بإعادة الإنتاج الفاشلة والـ diff المحدود والإجراء المتكرر الذي ينتج الحالة المتوقعة الآن. أضف فحص انحدار عند الحد الذي سبب العيب ثم أعد تشغيل حلقة اللعبة المحيطة. سجّل أي تصحيحات يدوية والطلبات التي استهلكتها الإصلاحات غير الناجحة.
الأمثلة هنا إجراءات تشخيص وليست حالة فشل وإصلاح منشورة. استخدمها لإنشاء تقرير ملموس من مشروعك. عندما يستمر العرض نفسه بعد مقترحات متكررة، أوقف الحلقة التلقائية واجمع الملاحظة المفقودة بدل التصعيد إلى إعادة كتابة واسعة بلا دليل جديد.
الأسئلة الشائعة
يقول الوكيل إن اللعبة أصلحت لكن الشاشة فارغة. ماذا أفعل؟
أعد إنتاج العرض وافحص أخطاء البدء والمشهد النشط والكاميرا واستجابة الإدخال. رسالة الإكمال ليست ملاحظة تشغيلية.
هل أعيد توليد المشروع كله؟
اعزل أول حد فاشل واحفظ الحالة العاملة أولًا. غالبًا تكون إعادة إنتاج مركزة أسهل للمراجعة من بديل يغير أنظمة كثيرة.
لماذا يعرض المتصفح لعبة أقدم؟
افحص هوية الأثر والملفات المقدمة وcache الخاص بـ service worker في متصفح الاختبار. تحقق من تحميل التصدير الحالي فعلًا.
هل تثبت فحوص البرامج النصية الناجحة قابلية اللعب؟
تغطي الفحوص التي نُفذت. تحتاج توصيلات المشهد والإدخال والعرض وانتقالات الحالة والاستمرارية إلى دليل تشغيل.
ماذا يجب أن يتضمن تقرير خطأ مفيد؟
هوية المشروع والمحرك والهدف والخطوات والحالتين المتوقعة والمرصودة وأول خطأ ذي صلة وأصغر مشهد أو ملفات لازمة لإعادة الإنتاج.