كيفية نشر لعبة VR على Oculus بدون انهيار عصبي

نواصل مشاركة تجربتنا الأولى في تطوير لعبة VR Astro Collapse. في مقالات سابقة تحدثنا عن الفكرة الرئيسية من اللعبة و تصميم لعبة .



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



الإرشادات الفنية لألعاب VR ومقاييس الأداء الرئيسية



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



في المرة الأولى التي لم نأخذ فيها بعين الاعتبار جميع التوصيات من موقع Oculus على الويب ، لذلك حصلنا على النتيجة التالية:

صورة

تقرير مفصل بعد فحص Oculus الأول



فشلنا في اختبار الأداء ، واجهنا مشكلة في العودة المطلوبة إلى قائمة Oculus Home ولم يتم تثبيت اللعبة على إصدارات أقدم من Android.



لاجتياز اختبار الأداء ، عليك اتباع هذه الإرشادات:



  • يجب أن يكون FPS في اللعبة 60 على الأقل ؛
  • من 50 إلى 100 مكالمة للرسم لكل إطار (سحب المكالمات) ؛
  • 1-3 مللي ثانية لتنفيذ البرامج النصية ؛
  • من 50،000 إلى 100،000 مضلع لكل إطار.


دعنا نكتشف المفاهيم أولاً ، ثم سأوضح لك كيف تمكنا من حل مشكلات الأداء.



FPS أو إطارات في الثانية



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

بمساعدة FPS ، يمكنك فهم ما إذا كان كل شيء على ما يرام مع اللعبة.




رسم مؤشر المكالمات



رسم المكالمة - عدد الملمس التي يستدعيها محرك اللعبة إلى وحدة معالجة الرسومات لرسم العالم. لتقليل عدد المكالمات ، يحتاج المحرك إلى دمج القوام في مادة واحدة. هذه التقنية تسمى التجميع.

كلما ارتفع مؤشر Draw Call ، كلما استغرق رسم عالم اللعبة وقتًا أطول.


النصوص وسرعة تنفيذها



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

تجعل العديد من العمليات التي تستغرق وقتًا طويلاً في التحديث من الصعب تنفيذ الإجراءات على الكائنات.


المضلعات لكل إطار



المضلعات هي مثلثات تشكل نماذج ألعاب ثلاثية الأبعاد. وهي تتكون من القمم والطائرات. المضلعات لكل إطار هي نتاج عدد الكائنات في عالم اللعبة وهذه المثلثات.

كلما زاد هذا الرقم ، كلما طالت مدة معالجة محرك اللعبة لإطار واحد.


كيف نجحنا في حل مشكلات الأداء



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



تبسيط الكائنات ثلاثية الأبعاد وخفض المضلعات لكل إطار



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



صورة

مضلعات مكوك الفضاء من لعبة Astro Collapse



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


نقوم بدمج القوام في الأطالس وتحقيق مؤشر Draw Call الموصى به



في Astro Collapse ، تم إنشاء عالم اللعبة من الكويكبات والمكوكات والسفن الحربية والأرض والشمس. هناك الكثير من الأشياء في اللعبة - كان مؤشر Draw Call مرتفعًا ، لذلك أبطأ المحرك من تقديم الرسومات. لتقليلها ، تحتاج إلى دمج مواد مختلفة من الكائنات في أطلس واحد.

صورة

أطلس الكويكبات في لعبة Astro Collapse



لقد قمنا بعمل 4 أطالس كبيرة من القوام: الكويكب ، قمرة القيادة والمدافع ، واجهة المشاهدة ، وقائمة اللعبة. هذه الأشياء تتكون من العديد من المواد المماثلة. تبسط الأطالس عمل المحرك ، لأنه لم يعد بحاجة إلى جمع مواد مختلفة في كائن واحد - لقد فعلنا ذلك من أجله.

اجمع مواد الأشياء في أطلس - نسيج كبير واحد.


تقليل وقت تنفيذ البرنامج النصي



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



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



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

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


حماية ذاكرة الجهاز من القمامة وإنشاء تجمع كويكب



يحتوي Astro Collapse على الكثير من الكويكبات. تظهر باستمرار ، يجب تدميرها. فشل المنشئين القياسيين في البرنامج النصي Instantiate and Destroy بتنفيذ هذه العمليات. إنهم يخلقون القمامة في ذاكرة الجهاز ، مما يتسبب في تجميد اللعبة. لذلك فعلناها بشكل مختلف.



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



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

استخدم طريقة التجميع للكائنات من نفس النوع ، والتي غالبًا ما يتم إنشاؤها وتدميرها ، ولكن في اللعبة نفسها لا يوجد الكثير منها في نفس الوقت.


أخطاء طفيفة بعد الفحص الفني



بعد معالجة النماذج في اللعبة: قم بتعطيل الصقل



Antialiasing - المعالجة اللاحقة للصورة عن طريق تنعيم الحواف المتعرجة. تم تعيين Antialiasing افتراضيًا في Astro Collapse. لقد حملت اللعبة أكثر من طاقتها ، ولم يكن هناك أي تزييت ملحوظ في اللعبة - الدقة في خوذة Gear VR منخفضة. لذلك ، قمنا بإيقاف تشغيله. أثناء الاختبار ، لم يلاحظ اللاعبون أي تغييرات ، لكن الأداء أصبح أعلى.

لا ينتج الصقل صورًا مصقولة بدقة منخفضة على Gear VR.


انفجارات مذهلة من العفاريت



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



تدمير الكويكب في Astro Collapse



يمكن إجراء انفجارات مذهلة باستخدام العفاريت.


لا حاجة للظلال



أوقفنا الظلال لأن اللعبة تتحرك دائمًا - لا يمكنك رؤيتها. بالإضافة إلى ذلك ، لم يكن لدينا أشياء كبيرة نلقي عليها بظلالها.

قم بتعطيل الظلال لكائنات اللعبة الثانوية غير المهمة للاعبين.


مشكلة في العودة المطلوبة لقائمة Oculus الرئيسية



يجب أن يعيد زر العودة على الخوذة اللاعب إلى الصفحة الرئيسية Oculus ، وليس إلى قائمة اللعبة ، كما كان الحال في Astro Collapse. لإصلاح هذه المشكلة ، أخذت نصًا إضافيًا من برنامج Oculus الإضافي جاهزًا وطبقته في اللعبة.

استخدم البرنامج النصي OVRPlatformMenu.cs لزر القائمة مرة أخرى للعمل بشكل صحيح.


القضاء على الخلل في تثبيت اللعبة على إصدارات أقدم من Android





من السهل حل خلل في التثبيت. تحتاج إلى تحديد إصدار Android المدعوم الأقدم في إعداد المشروع.

لا تنس تحديد الحد الأدنى المطلوب من مستوى واجهة برمجة تطبيقات Android 4.1 في إعدادات اللعبة.


النتائج بعد نشر اللعبة



أصلحنا عيوبنا وأرسلنا اللعبة للمراجعة للمرة الثالثة. كان الجواب نعم - تم نشر اللعبة بعد أسبوع:

صورة

مبروك من ماريا من الدعم الفني Oculus برسالة حول تاريخ نشر اللعبة



بعد أسبوعين من النشر ، تم تنزيل Astro Collapse أكثر من 7000 مرة. بالنسبة لألعاب VR على منصة Gear VR ، هذه نتيجة ممتازة: فقد دخلت أفضل 50 لعبة مجانية واحتلت المرتبة 24 في القائمة.



نصائح لنشر لعبة على Oculus



هناك بعض القواعد التي يجب اتباعها لتجنب مشكلاتنا عند نشر لعبتك في متجر Oculus Store:

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




تحقق من نصائحنا لمساعدتك على التحقق من Oculus بشكل أسرع.



العب لعبة Astro Collapse ونقدر الرسومات. للقيام بذلك ، ستحتاج إلى نظارات Samsung Gear VR. تعمل مع الهواتف الذكية: Samsung Galaxy Note 4 و 5 و 7 و S6 / S6 Edge / S6 Edge + و S7 / S7 Edge و S8 / S8 +.



تطورات ناجحة!



All Articles