تطوير الألعاب

تصدير لعبة Godot إلى HTML5 لتشغيلها على الويب

Nesto your best freind

١٣ يوليو ٢٠٢٦

0 إعجاب4 دقيقة قراءة

إذا أردت أن يفتح اللاعبون مشروعك فوراً داخل المتصفح، فأنت بحاجة إلى تصدير لعبة Godot إلى HTML5، وهو هدف الويب الذي يحوّل لعبتك إلى WebAssembly و WebGL لتعمل بدون تحميل وبدون تثبيت. هذا الدليل يشرح خطوات التصدير في Godot 4 خطوة بخطوة، ويعالج الأخطاء التي تعطّل أول نسخة ويب عند الجميع تقريباً، وينتهي بمجلد جاهز للضغط والنشر.

إعدادان يحسمان نجاح التصدير من عدمه

قبل أن تفتح نافذة التصدير، اضبط هذين الإعدادين، فمعظم مشاكل "اللعبة تُصدَّر لكن تظهر شاشة رمادية" تأتي من هنا.

  • استخدم محرّك العرض Compatibility. محرّكا Forward+ و Mobile في Godot 4 يعتمدان على Vulkan، و Vulkan غير موجود في المتصفح إطلاقاً. الويب يشغّل طريقة Compatibility فقط، وهي مبنية على WebGL 2. افتح Project > Project Settings > Rendering > Renderer واضبط طريقة العرض على Compatibility. وإذا كانت لعبتك تعتمد على مؤثرات Forward+، فتوقّع مراجعة بعض الـ shaders والمعالجة اللاحقة التي قد لا تنتقل كما هي.
  • ثبّت قوالب التصدير المطابقة. اذهب إلى Editor > Manage Export Templates > Download and Install. يجب أن تطابق نسخة القوالب نسخة المحرّر تماماً، أي قوالب 4.3.stable لمحرّر 4.3.stable. عدم التطابق هو السبب الأول لظهور شاشة فارغة لا تبدأ أبداً.

خطوات التصدير

بعد ضبط المشروع على Compatibility وتثبيت القوالب، يصبح التصدير قصيراً:

  1. افتح Project > Export.
  2. اضغط Add… واختر Web، فينشئ Godot إعداد ويب جاهزاً.
  3. سمِّ الملف الرئيسي index.html كي يقدّمه أي خادم ثابت تلقائياً كنقطة الدخول.
  4. راجع خيارات الإعداد: ضغط الأنسجة VRAM (للحاسوب / للجوال)، و Thread Support، و Extensions Support، وخيار Progressive Web App الذي ينشئ service worker يتيح "تثبيت" اللعبة.
  5. اضغط Export Project، واختر مجلداً فارغاً، وأبقِ الاسم index.html.
  6. يكتب Godot ملف index.html مع محمّل .js ومحرّك .wasm وحزمة بياناتك .pck وملف صوت worklet والأيقونات. أبقِ كل الملفات معاً، فلعبتك هي المجلد كله وليست ملف HTML وحده.

فخ العزل عبر المصادر (SharedArrayBuffer)

هذا أكثر سبب شيوعاً لأن تعمل نسخة الويب من داخل المحرّر وتتعطّل في كل مكان آخر. افتراضياً تستخدم نسخ ويب Godot 4 الخيوط (threads)، والخيوط تحتاج SharedArrayBuffer، والمتصفحات لا تفعّله إلا إذا كانت الصفحة معزولة عبر المصادر (cross-origin isolated). وهذا يعني أن الخادم يجب أن يرسل ترويستين:

  • Cross-Origin-Opener-Policy: same-origin
  • Cross-Origin-Embedder-Policy: require-corp

إن غابتا، ستحصل على شاشة فارغة مع خطأ في الـ console نصه SharedArrayBuffer is not defined. أمامك حلّان:

  • قدّم اللعبة مع الترويستين. زر "Run in Browser" داخل Godot يضبطهما تلقائياً، ولهذا تعمل اللعبة من المحرّر بينما تفشل على خادم بسيط مثل python -m http.server لا يرسل هذه الترويسات.
  • أوقف الخيوط. في إعداد الويب، عطّل Thread Support لبناء نسخة أحادية الخيط تعمل في أي مكان بلا ترويسات خاصة. تدفع بعض الأداء مقابل أقصى توافق، وهي مقايضة ممتازة لأغلب ألعاب 2D.

اختبر محلياً بالطريقة الصحيحة

لا تفتح index.html عبر مسار file://، لأن تحميل الوحدات وجلب ملف .pck يفشلان تحت file://، ولا بد من التقديم عبر HTTP.

  • الأسرع: استخدم زر Run in Browser في نافذة التصدير، فيشغّل Godot خادماً محلياً بترويسات العزل الصحيحة مضبوطة مسبقاً.
  • يدوياً: شغّل أي خادم ثابت من داخل مجلد التصدير. وإذا كان Thread Support مفعّلاً، فيجب أن يضيف هذا الخادم ترويستَي COOP و COEP وإلا لن تُقلع اللعبة.
  • راقب الـ console دائماً (F12)، فهو يسمّي المشكلة بدقة: نسخة قالب خاطئة، أو ترويسات ناقصة، أو صيغة نسيج غير مدعومة.

مشاكل شائعة وحلول سريعة

  • شاشة رمادية/سوداء والمحمّل عالق ← عدم تطابق نسخة القالب؛ أعد تنزيل القوالب لنسخة محرّرك بالضبط.
  • SharedArrayBuffer is not defined ← أضف ترويستَي COOP/COEP، أو عطّل Thread Support.
  • لا شيء يُعرض / أخطاء shader ← المشروع ليس على محرّك Compatibility.
  • لا صوت حتى أول نقرة ← سياسة التشغيل التلقائي في المتصفح؛ يعود الصوت مع أول تفاعل من المستخدم، وهذا سلوك طبيعي لا عطل.
  • حجم تحميل ضخم وبدء بطيء ← صغّر الأنسجة، وفضّل Ogg على الصوت غير المضغوط، وتذكّر أن .pck يحمل كل الأصول التي شحنتها.
  • البيانات المحفوظة تختفيuser:// يُربط بذاكرة IndexedDB في المتصفح، ومسح بيانات الموقع يمحوها، فلا تعتمد عليها وحدها لأي شيء مهم.

انشرها كلعبة متصفح

بعد نجاح الاختبار المحلي، اضغط مجلد التصدير في ملف zip مع وضع index.html في جذر الأرشيف، فيصبح هذا الأرشيف نسخة WebGL جاهزة للتوزيع. على The Gaming Nest ترفع هذه النسخة فتُبثّ مباشرة داخل المشغّل: بلا تحميل، بلا إضافات، وقابلة للعب من أول نقرة. لدليل الرفع والنشر الكامل راجع نشر لعبة WebGL، وإن كنت تعمل أيضاً على Unity فإن تصدير نسخة Unity WebGL يشرح خط الإنتاج المكافئ هناك.

صدّرها، اختبرها، اضغطها، وضعها أمام اللاعبين اليوم؛ انشر نسخة Godot WebGL على The Gaming Nest ودَع الناس يلعبونها في المتصفح فوراً.

العلامات

#تصدير الألعاب#Godot#HTML5#WebGL#Game Dev#تطوير الألعاب

عن الكاتب

Nesto your best freind

ملخص المقال

تعلّم كيف تصدّر مشروع Godot إلى HTML5/WebGL وتحل مشاكل التصدير الشائعة وتنشرها كلعبة متصفح يلعبها الجميع بدون تحميل.

المشاهدات

0

0 تعليق
شارك المقال:

التعليقات

شاركنا رأيك حول هذا المقال

التعليقات(0)

سجّل الدخول لإضافة تعليق. تسجيل الدخول

جاري التحميل...