لعبة AirAttack! - لدينا أول تجربة تطوير VR

نواصل سلسلة من المنشورات حول أفضل التطبيقات المحمولة لخريجي "IT SAMSUNG SCHOOLS".

اليوم هي الكلمة للمطورين الشباب من نوفوسيبيرسك ، الفائزين في مسابقة تطبيقات الواقع الافتراضي "SCHOOL VR 360" في عام 2018 ، عندما كانوا طلاب السنة الأولى. انتهت هذه المسابقة بمشروع خاص لخريجي "IT SAMSUNG SCHOOLS" ، حيث قاموا بتدريس تطوير Unity3d لنظارات الواقع الافتراضي Samsung Gear VR. جميع اللاعبين على دراية بهذا النوع من برج الدفاع - تحتاج إلى الدفاع عن الأرض من مهاجمة الأعداء بمساعدة بناء البرج. قرر الرجال استخدام هذه الميكانيكا وجعل لعبة الواقع الافتراضي الخاصة بها مبنية عليها ، ولكن على الجانب الآخر من المتراس: هنا أنت طيار ، وهدفك هو مساعدة انفصال الأرض عن طريق إطلاق النار مع الأبراج التي تعوق الطريق. صُنعت اللعبة من طراز LowPoly ذو الطراز العتيق - النماذج ثلاثية الأبعاد مع عدد صغير من المضلعات ، كما هو الحال في ألعاب الكمبيوتر القديمة. تحت القص ، وصف لعملية التطوير والفيديو ولقطات اللعبة ، رابط للمصدر.

لقطة شاشة للعبة
ما حدث في نهاية المطاف

إضافي


باختصار حول شروط مشروع Samsung "SCHOOL VR 360" ، الذي تم في إطاره تطوير لعبة AirAttack. لذلك ، تم تقديم خريجي SAMSUNG IT SCHOOLS:

  1. خذ برنامجًا للدراسة الذاتية خلال 4 أشهر ، تم إصدار تراخيص للتدريب في شهر نوفمبر من خلال 5 دورات عبر الإنترنت حول تطوير الواقع الافتراضي
  2. تشكيل فريق وتطوير المشروع الخاص بك في 3 أشهر. وكانت المشاورات الفردية من الايجابيات في تطوير VR لشركة "الواقع الرائع" للمساعدة
  3. في شهر مايو ، قدم المشروع إلى خبراء Samsung ، "حقيقة رائعة" وأعضاء آخرين في لجنة التحكيم.

عن الفكرة


كيريل بروكوفييف ، قائد الفريق:
قررنا أن نأخذ شكل الممرات ، والتي ستكون مألوفة للجميع ، ولكن في نفس الوقت بدا الأمر مثيرًا للاهتمام في الواقع الافتراضي وسيفتح من زاوية مختلفة تمامًا. الرماة الممرات في متاجر التطبيقات VR أكثر من كافية. قررنا عبور الممر الجوي مع Tower Defense: فقط أولئك الذين لا يقضون وقتًا في قطار الأنفاق لم يلعبوا ألعابًا حيث تحمي الأبراج من غزو الطائرات.

هل تساءلت يومًا عن من يلعب ضدك عند ترقية الأبراج؟

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

عن التجربة السابقة والأخطاء


فلاديمير سبيرلينج ، المطور:
لقطة شاشة للعبة عندما قابلت VR للمرة الأولى قبل عام 2016 ، وهو العام الذي تخرجت فيه من IT SAMSUNG SCHOOLS ، كان فريقي الأول يتألف من شخصين فقط. قررنا إنشاء ممر سباق ، أطلق عليه اسم Speed ​​Riders. تم تقسيم المسؤوليات على النحو التالي: كان على المرء أن يكون مسؤولاً عن رمز البرنامج ، والهندسة المعمارية وتكييف تطبيق VR ، والثاني عن مفهوم وتصميم وسلامة الفكرة. ربما كان هذا النهج ناجحًا في تنفيذ التطبيق في وقت قصير ومع فريق من ذوي المؤهلات العليا ، لكن في ذلك الوقت لم نكن نعرف ميزات تصميم تطبيقات VR ونرتكب الكثير من الأخطاء.

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

عرض للعبة للجميع في المسابقة السنوية لمشاريع Samsung
عرض للعبة للجميع في المسابقة السنوية لمشاريع Samsung

بالإضافة إلى ذلك ، أدى الافتقار إلى التصور والأتمتة الإضافية لإنشاء مستويات إلى حدوث مشاكل: كان على مبرمجين مبتدئين القيام بمستويات من 3 إلى 4 مراحل. لم يكن لدينا عمل مشترك في بوابة - يخزن Unity3D المشاهد بأكملها ، ومن المستحيل الجمع بينها في وقت لاحق: كان علينا الانتظار حتى ينتهي أحدنا من العمل ، ثم يقوم الآخر بتوصيل تفاصيله ... وهكذا. في وقت لاحق ، عند تطوير AirAttack! ، عندما كان لدينا العديد من المشاهد ، تم حل هذه المشكلة جزئيًا من خلال حقيقة أن كل واحد منا يعمل مع مشاهد مختلفة.

العمل في اللعبة


فلاديمير سبيرلينج ، المطور:
بعد مرور عام ، قررت مرة أخرى المشاركة في VR 360 School و Cyril وانضممت. بعد قضاء عدة ساعات مع ورقة وفناجين من الشاي ، قسمنا المشروع بأكمله إلى مراحل ووضعنا مواعيد نهائية:

  1. إنشاء القائمة الرئيسية
  2. المستوى 1 التنفيذ
  3. الاختبار والتصحيح الأولي للأخطاء الحرجة
  4. تحسين الواقع الافتراضي ، استكشاف الأخطاء وإصلاحها ، وظائف البناء (لقد دفعنا دورًا مهمًا للغاية في التفاصيل ، لأن هدفنا هو صنع وتحسين ، وليس "التمسك" كثيرًا وبسوء) والتحسينات المعمارية ممكنة
  5. مضيفا مستويات جديدة
  6. نشر التطبيق على متجر Oculus
  7. إضافة متعددة اللاعبين
  8. إضافة مواد قابلة للتنزيل (في شكل مستويات ، ترقيات ، سفن جديدة ، إلخ.)

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

مخطط التنمية

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

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

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

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

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

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

النسخة النهائية من قائمة واجهة المستخدم




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

أثناء العمل على مشروع AirAttack! لقد قضينا وقتًا طويلًا في UED (تصميم تجربة المستخدم ، أو UX). بالإضافة إلى عناصر واجهة المستخدم - القائمة الرئيسية ، وقائمة الخروج من المستوى ، وواجهة السفينة للسفينة ، وحتى أبراج واجهة المستخدم (سلاسل الحياة) - ترافق العمليات المختلفة تأثيرات صوتية ومرئية (على سبيل المثال ، جزيئات النار أو الظل من زجاج الطائرة). تتكون اللعبة بأكملها من طرز Low-Poly التي لا تزيد من الإنتاجية فحسب ، بل تخلق أيضًا جوًا.

يؤدي


حازت اللعبة على لقب "أفضل تطبيق للألعاب" في مسابقة "VR 360 School" في عام 2018. نتيجة جهودنا في الفيديو أدناه.



مصادر اللعبة: bitbucket.org/Vova_SH/air-attack

المؤلف:

كيريل بروكوفييف
كيريل بروكوفييف
مصمم اللعبة
قائد الفريق
prokyhouse@yandex.ru
سويفت ، جافا ، C # المطور ، مصمم
بطولة الأمن السيبراني
الفائز بالجولة الإقليمية لمسابقة مشاريع "IT SAMSUNG SCHOOL" في عام 2017
الفائز في مسابقة "VR 360 School" 2018

فلاديمير سبيرلنج
فلاديمير سبيرلنج
مطور الوحدة
vladimir-shperling@yandex.ru
Kotlin ، جافا ، C # المطور
المركز الأول لنهاية مسابقة المشروع "IT SAMSUNG SCHOOL" في عام 2016
الفائز في مسابقة "VR 360 School" 2018

Source: https://habr.com/ru/post/ar461099/


All Articles