بدء تطوير الألعاب في Unity

يوضح هذا الدليل دورة تطوير الألعاب النموذجية. بعد قراءة هذا الدليل، قد تجد أنه من المفيد استخدامه أيضًا كمرجع.

عندما تعمل باستخدام Unity، تتكون دورة حياة التطوير من ثلاث مراحل:

  • التخطيط والتصميم
  • التطوير والاختبار
  • النشر والصيانة

التخطيط والتصميم

في مرحلة التخطيط والتصميم، يمكنك تحديد كيفية إنشاء لعبتك. عليك تحديد كيفية مواجهة تحديات التطوير للأجهزة المحمولة، وتحديد الأدوات والعمليات التي يجب استخدامها في التطوير.

الحصول على إدخالات من جميع أعضاء الفريق

اعمل مع فرق الفنون والهندسة والتصميم والصوت والإنتاج لتحديد مهام التنفيذ وتسجيلها. مثلاً:

  • قد تنشئ الفِرق الفنية زخرفة مواد العرض وميزانيات متداخلة للشخصيات والبيئات.
  • قد تحدد الهندسة نقاط فحص الذاكرة والأداء لتحديد الملفات الشخصية لكل منصة.
  • قد يخطط التصميم لآليات اللعبة التي تمكن التجربة.
  • يمكن أن يراجع خبراء الصوت متطلبات استمرار الصوت بين الأصوات المكانية من واجهة المستخدم والثنائية الأبعاد والثلاثية الأبعاد.
  • قد يوضح الإنتاج متطلبات الإطلاق ويبقي الفريق على المسار الصحيح.

التصميم للهاتف المحمول

ينطوي تطوير التطبيقات للأنظمة الأساسية للجوال على اعتبارات محددة، مثل:

  • نِسَب العرض إلى الارتفاع المتغيّرة للشاشة
  • استهلاك الطاقة
  • تقييد الحرارة والمعالج
  • الإدخال باللمس
  • التطوير باستخدام عدّة منصات
  • واجهات برمجة التطبيقات الرسومية (Vulkan أو OpenGL ES)

للحصول على تفاصيل حول الاعتبارات الخاصة بالتصميم المتوافق مع الأجهزة الجوّالة، يُرجى الاطّلاع على مقالة تطوير Android في Unity من Unity وأكاديمية Google Play.

التطوير والاختبار

في مرحلة التطوير والاختبار، تقوم بتصميم لعبتك وإجراء الاختبارات والتحضير لمرحلة ما قبل الإطلاق. تجري بعض الاختبارات الداخلية المحدودة على Google Play لتجهيزك لتلبية متطلبات الإطلاق. يجب تحسين استراتيجية النشر وتنظيم الأصول في Unity استنادًا إلى نظامَي عرض المواد في Play ومعالجة عمليات Unity.

تصف الأقسام التالية أدوات Unity وتقنياتها المصممة لمساعدتك في التطوير لنظام Android.

العرض

العرض هو عملية رسم مواد العرض الثلاثية الأبعاد والثنائية الأبعاد من مشهد Unity على الشاشة. بينما يعالج محرك Unity العرض، فمن المهم وضع بعض العوامل في الاعتبار لنظام Android الأساسي.

الزخارف

حدد ما إذا كنت بحاجة إلى أكبر أحجام الزخارف بناءً على الأجهزة المستهدفة. عند تصنيف تخصيص الذاكرة، راجِع التوفيرات المحتملة الناتجة عن تغيير حجم الزخرفة المستهدف.

وقت عرض اللقطة

لمنع ارتفاع درجة الحرارة على أجهزة Android، عليك استهداف قيم وقت عرض اللقطة تقل عن 21 ملي ثانية في المتوسط. في بعض الأحيان، يمكن أن تتجاوز مدة عرض اللقطة 21 مللي ثانية، كما هو الحال أثناء التحميل أو التجارب السينمائية القصيرة، ولكن يجب ألا تتجاوز مدة عرض الإطارات 21 مللي ثانية لتجربة اللعبة الأساسية.

على الأنظمة الأساسية للأجهزة الجوّالة، تتحكّم VSync من عدد اللقطات في الثانية إذا لم يتم الوصول إلى الحدّ الأدنى المستهدَف. على سبيل المثال، إذا كان لديك تحديث شاشة بتردد 60 هرتز، يتم خفض معدل عرض اللعب إلى 30 إطارًا في الثانية، وإذا لم يتم الوصول إلى 30 إطارًا، سيتم تقييد اللعبة إلى 15.

يتوفر العديد من أجهزة Android بمعدّلات تحديث شاشة تتراوح بين 60 و120 هرتز. عليك التفكير في فوائد استخدام أوقات عرض أصغر بكثير (تكون 10 ملي ثانية للتحديث بتردد 60 هرتز، و5 مللي ثانية للتحديث 120 هرتز) بدون المخاطرة بالتقييد الحراري واستهلاك البطارية للحصول على معدلات عرض أعلى.

لضبط عدد اللقطات في الثانية في لعبتك في Unity، استخدِم Application.targetFrameRate.

تساعدك مكتبة معدل سرعة الإطارات في Android على العرض بسلاسة عندما يستغرق التطبيق وقتًا أطول لعرض الإطار التالي أكثر مما يتطلبه معدّل تحديث الشاشة. بالنسبة إلى إصدارات Unity 2021 والإصدارات الأحدث، يؤدي تفعيل معدّل سرعة عرض الإطارات في Android إلى ضبط معدّل إعادة تحميل الشاشة على أفضل مطابقة لعدد اللقطات المستهدَف في الثانية. ويضمن ذلك أن اللعبة لا تهدر طاقة البطارية في تحديثات الشاشة غير الضرورية.

لتفعيل المكتبة، انتقِل إلى إعدادات المشروع > مشغّل التطبيقات، ضمن إعدادات Android، ضَع علامة في مربّع الاختيار تحسين معدّل سرعة عرض الإطارات.

مربع حوار يعرض إعدادات المشروع > إعدادات اللاعبين > وتيرة تحسين مستوى الشهرة
الشكل 1. تتوفر ميزة "سرعة عرض الإطارات" ضمن إعدادات المشغّل في Unity 2019.2 والإصدارات الأحدث.

واجهة برمجة تطبيقات Vulkan

Vulkan هي واجهة برمجة تطبيقات للرسومات الثلاثية الأبعاد عالية الأداء وتعمل من عدّة منصات، وتتميز بتكاليف منخفضة مقارنةً بـ OpenGL ES. يمكن أن تستخدم Unity Vulkan بطريقتين مختلفتين.

واجهة برمجة التطبيقات Auto Graphics

يمكنك استخدام Auto Graphics API مع Vulkan، ولكن يمكن أن يكون لهذا التطبيق سلوكيات مختلفة استنادًا إلى إصدار Unity الذي تم تثبيته. يمكنك تحديد ذلك من خلال الانتقال إلى إعدادات المشروع > المشغّل > العرض.

ضع الاعتبارات التالية في الاعتبار عند اختيار إصدار Unity الذي تريد استخدامه:

  • لا يتوافق الإصدار Unity 2021.1 والإصدارات السابقة مع Vulkan مع Auto Graphics API. تحاول Unity استخدام OpenGL ES 3.2. إذا كان الجهاز لا يتوافق مع OpenGL ES 3.2، يعود Unity إلى OpenGL ES 3.1 أو 3.0 أو 2.0 بهذا الترتيب.
  • تستخدم إصدارات Unity 2021.2 والإصدارات الأحدث Vulkan أولاً. وإذا كان الجهاز لا يتوافق مع Vulkan، يعود إصدار Unity إلى OpenGL ES 3.2 أو 3.1 أو 3.0 أو 2.0.
إعدادات المشروع > إعدادات المشغّل > العرض > واجهة برمجة التطبيقات Auto Graphics API
الشكل 2. الإعداد التلقائي لواجهة برمجة التطبيقات Auto Graphics API

واجهات برمجة التطبيقات للرسومات اليدوية

بدلاً من ذلك، يمكنك تفعيل Vulkan يدويًا عن طريق إيقاف Auto Graphics API. إذا كنت تستخدم Unity 2021.1 أو إصدارًا سابقًا، هذه هي الطريقة الوحيدة لاستخدام Vulkan.

إذا تم ترتيب Vulkan أعلى في هذه القائمة من OpenGL ES، تحاول Unity أولاً استخدام Vulkan. إذا كان الجهاز لا يتوافق مع Vulkan، يعمل Unity مع OpenGL ES. راجِع بدء استخدام Vulkan للحصول على معلومات تفصيلية عن Vulkan على Android، مثل كيفية استخدام واجهات برمجة التطبيقات الحديثة للرسومات وتحسين أداء لعبتك.

إعدادات المشروع > إعدادات المشغّل > العرض > واجهات برمجة التطبيقات للرسومات
الشكل 3. الإعداد اليدوي لواجهات برمجة تطبيقات الرسومات عند إيقاف واجهة برمجة التطبيقات Auto Graphics API Vulkan هو الخيار الأول. وقد تم استخدام OpenGL ES 3.0 في إصدار Unity من جديد.

رسم المكالمات

يرتبط كل شيء معروض على الشاشة بمكالمة رسم واحدة أو أكثر. على الأنظمة الأساسية للأجهزة الجوّالة، يجب تحسين وتقليل عدد طلبات الرسم التي ترسلها إلى وحدة معالجة الرسومات (GPU).

فكر في رسم المكالمات على أنه مشابه للسيارات المصطفة عند إشارة المرور. بعد أن يتحول الضوء إلى اللون الأخضر، يمكن أن يمر عدد معين من السيارات قبل أن يتغير الضوء. عندما يتحول الضوء إلى اللون الأصفر، تكون قد وصلت إلى الوقت المثالي لعرض الإطار (21 مللي ثانية)، وعندما يتحول الضوء إلى اللون الأحمر، يتم الوصول إلى الحد الزمني المثالي لعرض الإطار (33 مللي ثانية). أي عنصر سابق يؤثر في إطار العرض التالي، وبالتالي يكون عدد اللقطات الناتج في الثانية أقل من 30 لقطة في الثانية.

للحصول على معلومات حول طريقة تحسين أداء نداءات الرسم في لعبتك، راجِع مقالة التجميع من فريق دعم Unity.

تظليل

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

زخرفة

التنسيق الموصى به لضغط الزخرفة مع زخارف RGB وRGBA على Android هو ASTC. في Unity، الحد الأدنى لخيار ضغط الهيئة الذي يجب استخدامه على Android هو ETC2. يمكنك استخدام ETC2 كنسخة احتياطية من ASTC ضمن إعدادات إصدار Unity.

يمكنك العثور على قائمة كاملة بالتنسيقات المتوافقة حسب النظام الأساسي في مستندات Unity على يدوي: تنسيقات الزخرفة المقترَحة والتلقائية والمتوافقة، حسب النظام الأساسي.

واجهة المستخدم ونِسب العرض إلى الارتفاع

يمكنك استخدام أداة محاكي الجهاز في Unity لمعاينة درجات دقة واتجاهات ونِسب العرض إلى الارتفاع المختلفة في الجهاز مباشرةً في Unity Editor. يمكنك التبديل بين عرض اللعبة وعرض محاكي الجهاز.

يُرجى الاطّلاع على معاينة للأداة على الرابط محاكاة لعبتك باستخدام جهاز محاكاة الأجهزة في Unity.

الشكل 4. جهاز محاكاة الجهاز يشغِّل Trivial Kart.

يمكنك العثور على رمز المصدر Trivial Kart في مستودع عينات الألعاب على جيت هب.

يمكنك التحقق سريعًا من تخطيط وصحة عناصر لوحة واجهة المستخدم في عرض محاكي الجهاز من خلال تحديد خيارات الجهاز في القائمة المنسدلة:

إعدادات المشروع > إعدادات المشغّل > تحسين سرعة عرض الإطارات
الشكل 5. يتيح جهاز محاكاة الجهاز إمكانية تغيير الأجهزة داخل المحرر، حتى تتمكن من تحديد مشاكل التصميم مبكرًا.
إعدادات المشروع > إعدادات اللاعبين > وتيرة انتشار شهرة محسَّنة
الشكل 6. ضَع علامة في المربّع تفعيل حزم الإصدار التجريبي قبل تنزيل حزمة محاكي الجهاز.

لمزيد من أساليب تحسين واجهة المستخدم في Unity، راجع البرنامج التعليمي التالي من Unity: تحسين واجهة مستخدم Unity.

فيزياء

تم دمج محرك Nvidia PhysX مع Unity. يمكن أن تكون الإعدادات الافتراضية مكلفة على الأجهزة الجوّالة، لذا يُرجى وضع الاعتبارات التالية في الاعتبار:

  • ننصحك بتحديد عدد اللقطات المستهدَف في الثانية وضبط الخطوة الزمنية الثابتة وفقًا لذلك. يتم ضبط القيمة التلقائية على 0.02 ملي ثانية أو 50 هرتز. يمكنك زيادته إلى 0.03 أو أعلى لهدف يبلغ 30 لقطة في الثانية.
  • يمكنك تبسيط التصادمات المتداخلة وتقليل مصفوفة تصادم الطبقات لتحديد التفاعلات بين كائنات اللعبة من أنواع طبقات معيّنة.

للحصول على معلومات حول إعدادات الفيزياء والتحسينات للألعاب على الأجهزة الجوّالة، يُرجى الاطّلاع على الكتاب الإلكتروني لتحسين ألعابك على الأجهزة الجوّالة من Unity.

الملف الشخصي

غالبًا ما يتجاهل مطورو التطبيقات المواصفات أو يتجاهلونها حتى يصل التطبيق إلى نقطة عطل حرجة. إنها لفكرة جيدة أن تقوم بجدولة وقت مخصص لملفات التعريف في عمليتك، واستخدام أفضل الممارسات التالية:

  • حدد النقاط الرئيسية أثناء التطوير عندما يمكنك تخصيص وقت تحديد الملفات الشخصية، بدلاً من تخصيصها عشوائيًا.
  • احفظ لقطات الملف الشخصي لاستخدامها مع أداة تحليل الملفات الشخصية Unity.
  • صمِّم لعبتك على الأجهزة المستهدَفة للحصول على صورة دقيقة عن مستوى أداء لعبتك في المرحلة الحالية من التطوير.
  • حدِّد أقسامًا مختلفة من لعبتك.
  • تحديد طريقة لعب اللاعبين (لا تنظر إلى لعبتك إلا إذا كانت في حالة الخمول أو عند شاشة الإيقاف المؤقت.)
  • وملف التعريف في الوضع المستمر بعد تشغيل اللعبة لفترة من الوقت للمساعدة في العثور على مشاكل التقييد التي قد تواجهها عندما تكون الأجهزة الجوّالة ساخنة.

يمكنك استخدام أدوات التحليل التالية بشكل منفصل أو معًا.

  • Unity Profiler هي أداة متكاملة لتحليل الأداء والتي يمكن تشغيلها مع التعليمات البرمجية في Unity Editor والاتصال بجهاز Android المستقل الخاص بك الذي يعمل بإصدارات وضع التطوير.

  • أداة فحص وحدة معالجة الرسومات Android باستخدام أداة فحص وحدة معالجة الرسومات من Android (AGI) يمكنك إجراء تصحيح الأخطاء على مستوى الإطار. يحلل AGI أيضًا خدمات النظام، بما في ذلك وحدة معالجة الرسومات، ووحدة المعالجة المركزية (CPU)، والذاكرة، والبطارية، وطاولات وحدة معالجة الرسومات.

للحصول على تفاصيل حول تحديد مواصفات لعبتك في Unity، يمكنك مشاهدة الفيديو التالي: مقدمة حول إنشاء الملفات التعريفية في Unity أو قراءة الدليل الشامل حول إنشاء الملفات التعريفية لألعاب Unity، من Unity.

إدارة الذاكرة

تشارك عمليات Android الذاكرة المتاحة على الجهاز المستهدف. يجب استخدام ذاكرة الملف الشخصي عندما يحتوي جهاز الاختبار المستهدف على موارد ذاكرة فارغة وفيرة. نفِّذ اختبارات للذاكرة في مرحلة متسقة في لعبتك لتتمكن من مقارنة الجلسات ومؤشرات استخدام الذاكرة بشكل مناسب.

عند العمل على نصوص برمجية مكتوبة بلغة C#، كن حذرًا عند استخدام السلاسل ومقارنات السلاسل وتوزيع الكائنات ذات الصلة بالسلاسل (مثل ملفات JSON لإعدادات الألعاب). تؤدي هذه الأدوات إلى إنشاء عمليات توزيع متكررة للذاكرة ويمكن أن تساهم في حدوث التجزئة.

ننصحك باستخدام فئة StringBuilder للتسلسلات الكبيرة من معالجة السلاسل، بدلاً من تسلسل سلاسل السلاسل في مكانها (مثل "this" + "is" + "a" + "bad" + "idea" مقابل استدعاء الدوالّ StringBuilder.Concat()).

لمزيد من المعلومات عن السلاسل، اطّلِع على السلاسل والنصوص في مستندات Unity.

قيِّم الموارد النصية لمواد العرض النصية وJSON بناءً على النوع التفضيلي ScriptableObject. يتعامل ScriptableObjects بكفاءة مع تخزين البيانات في مشهد مختلف ويسمح بإجراء تعديلات على الوقت من المحرر إلى Play.

للنقاش حول استخدام بدائل لمقبض JSON التلقائي لتحسين الأجهزة الجوّالة، يمكنك الاطّلاع على المقالة التحسين المخفي في ألعاب الشبكات على Hutch.

يمكنك استخدام Memory Advice API لتحديد طريقة استخدام الذاكرة في وقت التشغيل. تعرض واجهة برمجة التطبيقات مؤشر ضوء توقف للاستخدام المرتفع والعادي والمنخفض للذاكرة. يمكنك الاشتراك في المؤشر للحصول على التحديثات أو استطلاع رأيه مباشرةً لمعرفة الحالة الحالية. عند ظهور إشارة حمراء، فكّر في تقليل مساحة تخزين عناصر اللعبة أو ذاكرة التخزين المؤقت. أدرج هذا السياق في قياس الألعاب عن بُعد أثناء العمليات المباشرة، وراجع مقاييس الأداء بعد الإطلاق.

للتعرّف أكثر على كيفية تنظيم الذاكرة على أجهزة Android وكيفية استخدام Unity، شاهِد فيديو التعرّف على استخدام الذاكرة على نظام التشغيل Android (من مؤتمر Google I/O لعام 2018). يستعرض الفيديو أنواع مشاكل الذاكرة والحالات التي يتم فيها تطبيق مُسببات ضعف الذاكرة.

جمع القمامة

تؤدي عملية تجميع البيانات المهملة في بيئة الذاكرة المُدارة إلى تنظيف أجزاء الذاكرة غير المستخدمة التي يمكن إعادة تدويرها في أحد التطبيقات. اتّبِع أفضل ممارسات جمع البيانات غير المرغوب فيها لتجنُّب التوزيعات غير الضرورية لموارد الذاكرة.

على سبيل المثال، يمكنك إنشاء مجموعة عناصر في لعبة بدلاً من استخدام تخصيصات عند الطلب (GameObject.Instantiate). وفي المسابح الكبيرة، ننصحك بتخصيص إطارات متعدّدة لها للحدّ من خطر عدم استجابة اللعبة على أجهزة Android للمبتدئين.

بالنظر إلى مقتطف الرمز التالي الكوروتيني البسيط الذي يتم استدعاؤه من بداية السلوك الأحادي:

// Option 1: Bad for memory management - causes allocation each iteration
IEnumerator UpdateEnemyTarget() {
  while (enabled) {
    yield return new WaitForSeconds(1.0f);
    // Some intermittent function check
  }
}

// Option 2: Better for memory management - allocation of yield instruction once, reused each iteration
private YieldInstruction waitForSecond = new WaitForSeconds(1.0f);
IEnumerator BetterUpdateEnemyTarget() {
  while (enabled) {
    yield return waitForSecond;
    // Some other intermittent function
  }
}

يمكنك تعديل ملف نموذج MonoBehaviour لإزالة دالتَي Start() وUpdate() التلقائيتَين كي لا تترك دوالّ فارغة أثناء التطوير بدون قصد.

للحصول على نظرة عامة حول ترتيب تنفيذ أحداث MonoBehaviour، يُرجى الاطّلاع على القسم ترتيب تنفيذ دوال الفعالية في مستندات Unity. لمعرفة المزيد حول إدارة الذاكرة، راجع الدورة إدارة الذاكرة في Unity.

للحصول على نصائح حول تحسين أداء الألعاب على الأجهزة الجوّالة، يُرجى الاطّلاع على المقالة تحسين أداء الألعاب على الأجهزة الجوّالة: نصائح حول إنشاء الملفات الشخصية والذاكرة وبنية الرموز من أفضل مهندسي Unity.

التجميع الجاهز

يحدث الارتفاع في وقت عرض لقطات وحدة المعالجة المركزية بشكل كامل تقريبًا بسبب مثيل Prefab أثناء اللعب. ننصحك باستخدام مسابح الكائنات مسبقًا للدفاع عن القذائف وإطلاق الأعداء، والتأثيرات المرئية قبل بدء اللعب، وذلك لتقليل الارتفاعات المتصاعدة في وحدة المعالجة المركزية (CPU) عند بدء التشغيل أو القضاء عليها. يمكنك نشر تحسينات إضافية على عدة "إطارات إعداد" أثناء التحميل أو تسلسلات المقدمة في المشهد.

يمكنك العثور على العديد من مواد عرض التجميع التابعة لجهات خارجية في Unity Asset Store المرتبطة بإدارة تجميع عناصر الألعاب. ويمكنك أيضًا إنشاء شريحتك الخاصة. راجِع مقدمة عن تجميع العناصر في Unity Learn.

عرض مواد العرض

هناك حدود لحجم تطبيقك عند نشره لأول مرة على Google Play. استنادًا إلى حجم لعبتك وطبيعتها، قد تحتاج إلى بعض موارد اللعبة أو جميعها (نماذج الشخصيات والبيئات وعناصر واجهة المستخدم وما إلى ذلك) حتى يحصل اللاعبون على التجربة التي تريدها.

يمكنك استخدام خدمة عرض المواد في Play (PAD) لإدارة الأصول التي تتطلبها لعبتك وقت التثبيت أو المتابعة السريعة أو عند الطلب. تم دمج حزم مواد عرض Unity لدعم PAD، ويمكنك استخدام الأداة لتحديد العناصر التي سيتمّ إرسالها.

المواد القابلة للمعالجة

لم يعد إعداد الموارد الديناميكية - مثل العناصر الأولية والزخارف وملفات الصوت - في وقت التشغيل عملية معقدة في حالة إعداد نظام تسمية العناوين القابلة للتعديل ومراجعتها. تفصِل مواد العرض القابلة للمعالجة طريقة ترتيب المحتوى الخاص بك عن طريقة إنشاء المحتوى وتحميله. يحلّ نظام Titleables محلّ مجلدات Resources وحِزم مواد العرض لتبسيط طريقة الإشارة إلى الأصول وتحميلها في وقت التشغيل.

على سبيل المثال، يمكنك الاطّلاع على مشروع تجريبي باستخدام حزمة Titleables على GitHub. للحصول على تفاصيل حول تطوير العناوين القابلة للعناوين، راجِع نظام مواد العرض القابلة للمعالجة على مدونة Unity.

مع تخطيط مواد العرض القابلة للمعالجة، هناك مزايا وعيوب لتجميع عدد قليل جدًا أو كبير جدًا من مواد العرض في حِزم مشتركة. لمعرفة المزيد من المعلومات حول إدارة المحتوى باستخدام "العناوين"، يُرجى الاطّلاع على تبسيط إدارة المحتوى باستخدام "العناوين".

يمكنك إعداد عرض تجريبي مستقل وتجربة أوضاع الوصول للشعور بالراحة عند استخدام نظام Titleables. يمكنك أيضًا الاطّلاع على مشروع البرامج المفتوحة المصدر BuildLayout Explorer لـ Unity 2019.3 والإصدارات الأحدث، وفحص تقرير buildlayout.txt الذي تم إنشاؤه من خلال Addressables.

تم تجميع أصول Chop Chop، وهو مشروع Unity مفتوح، باستخدام نظام معالجة العناوين لجميع عمليات التحميل والتفريغ. راجع تجميع المحتوى باستخدام مواد عرض قابلة للمعالجة | فتح دليل تطوير المشاريع للحصول على جولة تفصيلية حول بنية حزم العناوين وطريقة إعدادها.

في مشروع قطع القطع، تم تحميل المشهد الوحيد تلقائيًا وهو مشهد الإعداد، والذي تم إعداده لاستخدام AssetReferences بدلاً من الروابط المباشرة إلى مواد العرض في المشروع (المشاهد، والصور التمهيدية، وما إلى ذلك).

يتوفّر رمز المصدر لمشروع Unity Open: Chep Chop على GitHub. على الرغم من أن المشروع لم يعد قيد التطوير، إلا أن git repo والوثائق لا يزالان متاحين.

المكوّنات الإضافية التابعة لجهات خارجية

إذا كنت تستخدم مكوّنات إضافية تابعة لجهات خارجية، مثل تلك المتوفرة في Unity Asset Store، احرص على مراجعة المجلدات وإزالة مواد العرض غير الضرورية من مجلدات Resources (الموارد). خلال عملية الإنشاء، تجمع Unity جميع مواد العرض المضمّنة في مجلدات الموارد وتحزمها في حزمة واحدة يمكن الوصول إليها في وقت التشغيل. يمكن أن يؤدي هذا إلى إضافة الانتفاخ إلى الحزمة النهائية، وغالبًا لا يكون مطلوبًا.

لتحديد موقع جميع مجلدات الموارد بسرعة، ابحث عن الموارد في لوحة المشروع. يمكنك بعد ذلك اختيار كل عنصر لتحديد ما إذا كان ضروريًا للعبتك.

الشكل 7. قد تكون هناك مجلدات Resources متعدّدة في المجلدات التي تم تنزيلها من Unity Asset Store. ونظِّفها لتجنُّب إضافتها إلى حزمة التطبيق.

النشر والصيانة

عندما تكون مستعدًا لإطلاق لعبتك على الأجهزة الجوّالة، اختَر من تريد إطلاق اللعبة عليه، وكيفية إجراء اختبار ألفا أو استخدام تجريبي، وكيفية مراقبة مستوى الأداء وتتبُّعه بعد الإطلاق.

تحليل الملاحظات من إصدار محدود

يمكنك إطلاق اللعبة لجمهور محدود ومستهدَف وإجراء اختبار تجريبي على نطاق أوسع، أو تفعيل لعبتك لتصبح متاحة لجميع الأسواق في جميع الأسواق. من خلال إصدار محدود، يمكنك تحسين أداء تطبيقك استنادًا إلى شريحة جمهور مباشرة ومجموعة أكبر من الأجهزة.

على سبيل المثال، يمكنك استخدام Android Performance Tuner for Unity وإحصاءات Google لبرنامج Unity للحصول على إحصاءات حول أداء تطبيقاتك ومؤشرات اللاعبين، التي يمكن لفريق التطوير من خلالها ضبط التحديثات ودفعها. يمكنك أيضًا استخدام بياناتك التحليلية للتخطيط لأجزاء أخرى أو ألعاب ذات صلة من نوع مماثل.

اختبار ألفا وتجريبي

بعد إعداد ملفك الشخصي لتطبيقك في Google Play Console، يمكنك تجهيز إصدارات تجريبية أولية وتجريبية متاحة للجميع وتوزيعها على جمهور محدود لمراجعة الإطلاق التجريبي. ومن خلال طرح التطبيق لجمهور محدود، يمكنك حل أي مشاكل نهائية من خلال مجموعة أكبر من الأجهزة وجمع الملاحظات الأولية التي يمكنك الاستجابة لها قبل الإطلاق في إصدار عالمي.

يتم توزيع إصدارات Unity الخاصة بك من خلال تنسيق "مجموعة حزمات تطبيق Android". للحصول على معلومات، يُرجى الاطّلاع على دليل الدليل: التسليم إلى Google Play من Unity الذي يصف أيضًا التغييرات من ملفات APK إلى تنسيق AAB.

المراقبة والتتبع

خلال مرحلة البث المباشر والتوزيع، يمكنك استخدام مؤشرات Android الحيوية للمساعدة في تتبع مشاكل الأداء على الأجهزة التي ربما لم تتمكّن من الوصول إليها أثناء عملية التطوير والاختبار. لمعرفة التفاصيل، يُرجى مشاهدة مشاهدة الميزات الجديدة في الألعاب في "مستوى الوصول إلى الجمهور" والأجهزة و"مؤشرات Android الحيوية".

غالبًا ما يكون لدى فِرق التطوير الأكبر خطوط أنابيب فريدة ومخصّصة لقياس الألعاب عن بُعد، والتي توفّر مقاييس ذات صلة بأداء الجهاز. ننصحك بالاستفادة من Android Performance Tuner (APT) والمكوِّن الإضافي Unity الإضافي في طلبات الاتصال بشأن مقاييس عدد اللقطات في الثانية والدقة الرسومية ومدة التحميل ومغادرة التحميل. اتّبِع الدليل المفصّل في القسم دمج أداة Android Performance Tuner مع لعبة Unity.

لا تتوقف مراحل اللعبة بعد النشر. فمراقبة الأداء والملاحظات وصيانتها والاستجابة لها أمر بالغ الأهمية بالنسبة إلى المستخدمين الذين يشعرون بالرضا، والمراجعات الإيجابية، والاستخدام النهائي للعبتك في جميع الأسواق.