تطوير الألعاب باستخدام Astra: Circuit Shift
Updated 2026-09-05
أنتجت مهمة Codex مضبوطة لـ Astra نموذج Godot أصليًا من ثلاث غرف مع تصادمات عاملة وألغاز مرحلات وحالات فوز وخسارة وتقدم محفوظ. إليك المسار من الموجز إلى اللعبة المختبرة، بما في ذلك الإصلاح الذي غفلت عنه فحوص اللعب في البداية.
النتيجة: حلقة لعب كاملة من ثلاث غرف
Circuit Shift لعبة ألغاز صغيرة من منظور علوي بُنيت واختُبرت في Godot 4.5.1 على macOS. تقود الساعي CS-07 عبر ثلاث غرف لمحطة مرحلات، وتجمع ثلاث خلايا طاقة في كل غرفة، وتفتح بوابات مرقمة، وتتجنب الحراس المتحركين، وتصل إلى المخرج. أكمل التشغيل الأصلي الآلي النهائي الغرف الثلاث، واختبر الخسارة وإعادة التشغيل، وحفظ تقدم الحملة وأفضل الأزمنة. أعادت عملية منفصلة فتح ذلك الحفظ بنجاح.
الخلاصة المفيدة لمشروع لعبة بمساعدة الذكاء الاصطناعي هي الجمع بين موجز محدود وفحوص لعب يقودها المحرك وفحص بصري. جعل طلب حلقة صغيرة مكتملة من الممكن اختبار أكثر من الحركة: كان على المخرج أن يبقى مغلقًا قبل الجمع، وكان إكمال الغرفة يجب أن يفتح القطاع التالي، وكان على الإعدادات أن تبقى بعد إعادة التشغيل. يتيح لك المشروع القابل للتنزيل فحص هذه السلوكيات بنفسك.

جعل الموجز الأولي الإكمال ملموسًا
حددت المهمة لعبة أصلية باسم Circuit Shift وثلاثة مستويات قصيرة وفيزياء المحرك والمفاتيح والبوابات وخلايا قابلة للجمع وحالات الفوز والخسارة وإعادة التشغيل وقائمة بدء وإعدادات وتقدم محفوظ. كما طلبت لقطات شاشة حقيقية وتدفق لعب قصيرًا في المحرك الحقيقي وإعادة فتح حالة محفوظة. كان Godot 4.5.1 مثبتًا مسبقًا وأعيد استخدامه؛ وبدأ التطوير في مجلد لعبة جديد مع HOME مؤقت منفصل.
المقطع أدناه مقتطف من الموجز الأولي الفعلي، أضيفت فواصل الأسطر لسهولة القراءة وحُفظت صياغته الأصلية. يوجد initial-prompt.txt كاملًا داخل Source ZIP. وبالنسبة إلى موجزك، فإن الجزء الأكثر قابلية للنقل هو معايير الإكمال القابلة للملاحظة: حدّد ما يستطيع اللاعب فعله وما يجب أن يظل يعمل بعد إغلاق اللعبة.
Task: build an original polished small 2D Godot game called Circuit Shift.
Three short levels; controllable character, enginephysics/collisions,
switches and gates, collectible cells, exit, win/loss/restart,
start menu, smallsettings and savedprogress.من prompt إلى الملفات وملاحظات المحرك والغرف العاملة
أنشأ الوكيل بيانات الغرف وGDScript والقوائم والإعدادات والحفظ المحلي وواجهة اختبار اللعب، ثم شغّل المحرك مرارًا وفحص النتائج. تستخدم الحركة CharacterBody2D.move_and_slide؛ وتستخدم الجدران والبوابات StaticBody2D؛ وتستخدم الخلايا والمخاطر والمخارج محفزات Area2D. تربط عقود المحرك هذه الغرفة المرئية بالتصادم وتغييرات الحالة التي تستطيع واجهة الاختبار ملاحظتها.
يتضمن السجل 13 تشغيلًا لمحرك اللعبة عبر الاستيراد واللعب وفحوص الانحدار والالتقاط الأصلي وإعادة الفتح والتعبئة وفحص البكسل. شمل التسلسل فشلًا أوليًا في وجود المشهد قبل التنفيذ، ولعبًا بلا واجهة، ولقطات أصلية، وإصلاحًا بصريًا مركزًا، وفحوصًا نهائية للأثر. رُسمت رسوم اللعبة الخاصة إجرائيًا باستخدام كود Godot CanvasItem، وصُنّعت خمسة مؤثرات صوتية PCM محليًا. تألف العمل المرصود من تصحيحات أنشأها الوكيل وأوامر محلية وطلبات أذونات للتنفيذ الأصلي وفحص لقطات الشاشة؛ ولم تُلاحظ توجيهات بشرية إضافية للمهمة أو إصلاح كود بشري.

الخلل الحقيقي: جعل تركيز لوحة المفاتيح زرًا صعب القراءة
اجتاز التشغيل الأصلي الأول للعب تأكيداته، لكن فحص لقطة الشاشة كشف نصًا منخفض التباين على زر أساسي ذي تركيز. كان ذلك مهمًا لأن قائمة المحطة تدعم أيضًا التنقل بلوحة المفاتيح: نجاح إجراء البدء لم يضمن قابلية قراءة عنصر التحكم. ثم فشل فحص انحدار مركز بنسبة تباين تقارب 1.36:1.
ضبط الإصلاح صراحةً font_focus_color على اللون الأمامي الداكن للزر الأساسي. قاس الفحص التالي نسبة تقارب 10.57:1، واحتفظ التشغيل الأصلي النهائي بتأكيد التباين الناجح. تبقى المخرجات الخام الفاشلة والناجحة في دليل الأدلة. هذا سبب عملي للجمع بين فحوص اللعب وفحص حالات واجهة المستخدم المركزة والمحددة: قد تكون انتقالات الحالة صحيحة بينما تحتاج عناصر التحكم التي تعرضها إلى عمل إضافي.
| المرحلة | النتيجة المرصودة | سجل الدليل |
|---|---|---|
| انحدار مستهدف | تباين الزر المركّز 1.36:1؛ فشل | 05-focus-regression |
| إصلاح لون التركيز الصريح | تباين الزر المركّز 10.57:1؛ اجتاز | 06-focus-fixed |
| التشغيل الأصلي النهائي | اجتاز تأكيد التباين واللعب معًا | 09-native-final |
ما الذي اختبرته الفحوص الأصلية فعلًا؟
قاد تدفق اللعب النهائي إجراءات إدخال Godot العادية وإشارات Control الأصلية؛ وقدّم فحص تعيين واحد InputEventKey. تحرك الساعي عبر فيزياء المحرك. فحصت واجهة الاختبار تصادم الجدران وحجب البوابات المغلقة وفتح المرحلات وإغلاقها واشتراط جميع الخلايا للمخرج وانتصارات الغرف الثلاث وخسارة الخطر وإعادة التشغيل والإيقاف المؤقت والإعدادات ومحفزات توليد الصوت وتشغيله. لم تنقل اللاعب آليًا ولم تمنح الخلايا مباشرة ولم تعيّن حالة فوز.
الأعداد أدناه تأكيدات داخل هذه التدفقات، بما فيها نقاط الطريق واللقطات، وليست مهام معيارية مستقلة. خرجت التشغيلات الأصلية النهائية الثلاثة بنجاح مع stderr فارغ. حملة اللعب المصدرية هي الاختبار الأوسع؛ أما تشغيل PCK فيثبت تحميل الحزمة واستمرار الحالة المحفوظة وليس حملة كاملة ثانية عبر اللعبة المعبأة.
| التشغيل المسجل | الفحوص الناجحة | النتيجة المرصودة |
|---|---|---|
| 09-native-final | 62 | حملة أصلية كاملة من ثلاث غرف مع فحوص الفشل وإعادة التشغيل والإيقاف المؤقت والإعدادات ومحفزات الصوت |
| 10-native-reopen-compact | 6 | حمّلت عملية منفصلة التقدم والإعدادات ثم واصلت إلى القطاع الثالث |
| 12-native-pck | 6 | شُغّلت الحزمة خارج دليل المصدر وأعيد فتح الحفظ ودخلت القطاع الثالث |
اختبرت إعادة الفتح الاستمرارية والتخطيط المدمج
حمّلت عملية أصلية جديدة unlocked=3 وcompleted=true وثلاثة أزمنة قياسية موجبة وvolume=0.35 وreduced_motion=true. دخل Continue القطاع الثالث. يفصل ذلك الاستمرارية عن قيمة تبقى في الذاكرة فقط أثناء تشغيل اللعبة. تحفظ اللعبة التقدم عند إكمال الغرفة، لذا فإن نقطة الاستئناف المقصودة غرفة وليست آخر موضع للساعي.
وفر التشغيل المدمج فحص تخطيط ثانٍ أيضًا: بقيت الغرفة وHUD والمؤقت وعناصر التحكم مؤطرة بالكامل عند 720 x 540. لقطات سطح المكتب بحجم 1280 x 960. عبر التشغيلات المصدرية والحزم النهائية، اجتازت اثنتا عشرة لقطة أصلية أخذ عينات البكسل غير الفارغ، وفحصت المراجعة البصرية التأطير وقابلية القراءة. هذه لقطات viewport أصلية حقيقية؛ وتعرض الصورة الأصغر نافذة سطح مكتب مدمجة.

التوقيت والتهيئة: كيفية قراءة سجل التشغيل
كان وقت البدء المطلوب 5 سبتمبر 2026 عند 05:35:51 UTC؛ وسُجّل الإكمال عند 06:00:11.007 UTC. يساوي ذلك 1,460.007 ثانية، أي نحو 24 دقيقة و20 ثانية من وقت الجدار المنقضي. ويشمل التنفيذ وتشغيل الأدوات والاختبارات والإصلاحات والالتقاط والتعبئة مع توفر محرك قائم. ليس ذلك زمن استجابة النموذج ولا توقعًا لوقت تطوير لعبة أخرى. أدّى موجز مهمة أولي واحد إلى تكرارات تنفيذ وأدوات متعددة.
هذا تشغيل Codex مضبوطًا لـ Astra: سجّل المنسق spawn_agent.model=gpt-6-astra مع reasoning_effort=xhigh. يثبت ذلك التهيئة المطلوبة فقط. لم تُكشف هوية نموذج استجابة API أو استخدام الرموز أو التكلفة أو أعداد استدعاءات النموذج وAPI، وتبقى null في run-summary.json؛ ولم يُرصد طلب مباشر من APIsRouter أو فوترة. كما وجد فحص الكتالوج العام في 5 سبتمبر عدم وجود Astra في APIsRouter. لا تثبت وثائق النموذج الرسمية وهذه التهيئة المحلية الوصول إلى البوابة.
نزّل Circuit Shift وشغّله في Godot
نزّل Source ZIP لفحص التنفيذ والموجز الكامل وعناصر التحكم وواجهة الاختبار والأدلة المحفوظة. فك ضغطه واستورد game/project.godot في Godot 4.5.1 وشغّل المشروع. تحرك باستخدام WASD أو مفاتيح الأسهم، وشغّل مرحلًا قريبًا باستخدام E أو Space، وأعد التشغيل باستخدام R، وأوقف مؤقتًا باستخدام Escape. اجمع كل خلية لتفعيل المخرج؛ وينهي ملامسة الحارس المحاولة.
للنسخة المعبأة، نزّل circuit-shift.pck وشغّلها ببيئة Godot متوافقة باستخدام الأمر أدناه. تتطلب PCK وجود Godot وليست ملفًا تنفيذيًا مستقلًا. جرى التحقق من سلامة ZIP وتساوي الملفات المؤرشفة المهمة وتساوي المصدر مع التشغيل الأصلي النهائي وتساوي SHA-256 للأصول المنسوخة. شُغّلت PCK من دليل مؤقت خارج مشروع المصدر. روابط تنزيل الأثرين وrun-summary.json وبيان SHA-256 مدرجة أدناه.
godot --main-pack circuit-shift.pckما الذي أصبح النموذج الأولي مستعدًا له بعد ذلك؟
الخطوة التالية المفيدة هي اختبار لعب بشري لحلقة الغرف الثلاث: هل يفهم لاعب جديد ترقيم المرحلات، ويلحظ سبب إغلاق المخرج، ويستعيد وضعه بعد الخسارة؟ لم تُجمع في هذه الحالة تجربة لعب بشرية أو اختبار استماع أو بيانات استخدام حقيقية. يثبت الإكمال الآلي ومخازن الصوت المولّدة المسارات الوظيفية، لكنها لا تثبت المتعة أو توازن الصعوبة أو جودة الصوت أو الاحتفاظ أو قابلية الاستخدام العامة.
تبقى Windows والمتصفح وSteam واللمس ولوحة الألعاب غير مختبرة؛ وكانت قوالب تصدير المتصفح غير متاحة محليًا. استمرت التشغيلات المسرعة بلا واجهة في إصدار تشخيصات شهادات macOS وتحذيرات إيقاف موارد الصوت، مع أن السجلات الأصلية النهائية كان لها stderr فارغ. قبل اختيار هدف الإصدار، عالج مشكلات التشغيل ذات الصلة وشغّل فحوص الإدخال والحفظ والتعبئة والأداء الخاصة بذلك الهدف. النتيجة العملية هنا نموذج أولي أصلي قابل للفحص وسير عمل تحقق قابل للتكرار يمكن أن يوجه جولة التطوير التالية.
الأسئلة الشائعة
ما نوع اللعبة التي أنتجتها المهمة؟
Circuit Shift نموذج Godot أصلي من ثلاث غرف ومنظور علوي. تجمع كل غرفة بين خلايا قابلة للجمع ومفاتيح مرحلات مرقمة وبوابات مادية ومخاطر متحركة ومخرج. وتتضمن قائمة محطة وفوزًا وخسارة وإعادة تشغيل وإيقافًا مؤقتًا وإعدادات وتقدمًا محفوظًا.
كيف ألعب PCK التي نزّلتها؟
استخدم بيئة Godot متوافقة؛ استخدمت الحالة Godot 4.5.1. من المجلد الذي يحتوي circuit-shift.pck شغّل godot --main-pack circuit-shift.pck. ولتفحص اللعبة أو تعدلها، فك ضغط Source ZIP وافتح game/project.godot.
ما عناصر التحكم التي ينبغي استخدامها؟
تحرك باستخدام WASD أو مفاتيح الأسهم. اضغط E أو Space قرب مرحّل، وR لإعادة تشغيل الغرفة، وEscape للإيقاف المؤقت أو الاستئناف. تدعم القائمة الماوس وTab وEnter. يجب جمع كل خلية قبل أن يتفعّل المخرج.
أي تقدم يبقى بعد إعادة التشغيل؟
يحفظ إكمال الغرفة القطاعات المفتوحة وإكمال الحملة وأفضل الأزمنة. تستمر إعدادات الصوت والحركة المخفضة أيضًا. تحققت عملية منفصلة من هذه القيم المحفوظة وواصلت إلى القطاع الثالث؛ ولا تحفظ اللعبة كل حركة داخل الغرفة.
من أين جاءت الرسوم والمؤثرات الصوتية؟
أُنشئت المرئيات الخاصة باللعبة إجرائيًا في كود رسم Godot CanvasItem. تُصنّع خمسة مؤثرات صوتية PCM محليًا أثناء التشغيل. توفر Godot خطها المدمج عبر المحرك المثبت منفصلًا.
ما الذي ينبغي إعادة استخدامه من هذا سير العمل؟
ابدأ بحلقة صغيرة مكتملة ومعايير قبول قابلة للملاحظة. قُد إدخال المحرك الحقيقي عبر الجمع والبوابات والفوز والخسارة وإعادة التشغيل؛ وافحص لقطات الشاشة بحثًا عن العيوب البصرية؛ وأعد فتح الحالة المحفوظة في عملية أخرى؛ ثم اختبر الأثر خارج دليل مصدره. احتفظ بالإخفاقات حتى يكون لكل إصلاح سبب قابل للتتبع.