Powering Play: محرك ألعاب الجوال المخصص من DeHub
بقلم DeHub Team — 2022-01-05
في الربع الأول من 2022 بنينا محرك ألعاب مخصص مُحسّن للأجهزة المحمولة.
"كتبنا محركنا الخاص" عادةً ما تكون إشارة تحذيرية. Unity و Unreal موجودان، هما قطع برمجية استثنائية، ومعظم الفرق التي ترفضهما تحل مشكلة اخترعوها. لذا عبء الشرح يقع علينا.
القيد الفعلي
لا تعمل ألعابنا كتثبيتات مستقلة. وهي تعمل داخل تطبيق DeHub، وهو React Native، وتحمل بالفعل خط أنابيب فيديو وخلاصة وكومة محفظة — على الهواتف التي يبلغ عمرها عدة سنوات في جزء كبير من جمهورنا.
هذا المزيج هو المشكلة. إن تضمين محرك للأغراض العامة في تطبيق مثل هذا يعني شحن وقت تشغيل كبير إلى جانب كل شيء موجود بالفعل، ودفع تكلفة بدء التشغيل في كل مرة يقوم فيها شخص ما بالنقر على لعبة، ومحاربتها من أجل سياق الرسومات الذي يريده مشغل الفيديو الخاص بنا أيضًا.
للقرعة التي تقوم بتحميلها وتشغيلها بمفردها، لا يهم ذلك. لألعاب خمسة يجب أن تفتح من نقر داخل تطبيق اجتماعي في أقل من ثانية، كل ذلك يحدث.
ما قمنا بتحسينه
تم بناء المحرك حول قائمة قصيرة من الخصائص، لا شيء منها مثير للإعجاب بمفرده:
- بداية شبه فورية. تتنافس لعبة في رواق مع التمرير. إذا استغرق التحميل خمس ثوانٍ، فإنه يفقد الخلاصة بشكل دائم.
- بصمة صغيرة لكل عنوان. يجب أن تضيف إضافة لعبة لعبة، وليس وقت تشغيل آخر.
- الوصول الأصلي إلى المحفظة وطبقة الحساب بدون جسر بين عالمين يعتقد كل منهما أنه يمتلك الحلقة الرئيسية.
- سلوك يمكن التنبؤ به على الأجهزة القديمة. كان التحفيز المتسق للإطار على جهاز Android متوسط المدى يبلغ من العمر أربع سنوات أكثر أهمية بالنسبة لنا مما يمكن أن يفعله المحرك على الرائد.
تلك الأخيرة هي القطعة التي لا يراها أحد. تحتاج عناوين الممرات إلى قراءة هوية وكتابة درجة تهبط على السلسلة . إن القيام بذلك عبر حدود المحرك هو مصدر دائم للاحتكاك.
كم تكلف
كل شيء يمنحك إياه محرك عام مجانًا، لم يكن لدينا. لا يوجد محرر ناضج، ولا خط أنابيب للأصول، ولا نظام بيئي للمكونات الإضافية لجهة خارجية، ولا مجموعة كبيرة من المطورين الذين يعرفون الأدوات بالفعل.
هذا عبء حقيقي ومستمر، وهو السبب في أن هذا ليس نصيحة عامة. أخذناه لأن البديل كان أسوأ لحالتنا الخاصة، وليس لأن بناء محرك أمر ذكي.
سواء كان ذلك صحيحًا
معظمها نعم، مع استثناء واحد.
شحنت صالة الألعاب خمسة ألقاب في ربع سنة وفتحت الألعاب بسرعة كافية للتنافس مع البث، وهي النتيجة التي كان التمرين بأكمله من أجلها. هبطت الألقاب اللاحقة دون إعادة الهندسة المعمارية. على الأجهزة القديمة — حيث يوجد الكثير من جمهورنا بالفعل — تصرفت.
التحذير هو الموهبة. يتعلم كل مطور يعمل في ألعابنا نظامًا غير موجود في أي مكان آخر، وقد أدى ذلك إلى إبطاء التوظيف بطريقة قللنا من شأنها في عام 2022. إذا كنا نختار مرة أخرى بنفس القيود، فربما نجري نفس المكالمة، وسنضع ميزانية لهذه التكلفة بصدق بدلاً من اكتشافها.
الاختبار الذي سنطبقه
السؤال ليس "هل يمكننا بناء فريقنا الخاص ؟" — يمكن للفريق المختص بناء أي شيء تقريبًا وهذا هو السبب في أن السؤال عديم الفائدة.
هو: هل يمكنك تسمية العقار المحدد الذي تحتاجه والذي لا يمكن للخيار الجاهز أن يمنحك إياه، في جملة واحدة، دون استخدام كلمتي المرونة أو التحكم ؟
كان علينا أن نفتح اللعبة من خلال نقرة داخل تطبيق React Native الاجتماعي، في أقل من ثانية، على جهاز Android متوسط المدى يبلغ من العمر أربع سنوات، بينما كان خط أنابيب الفيديو مقيمًا بالفعل. هذا قيد حقيقي مع عدد حقيقي فيه.
إذا كان الجواب أكثر غموضًا من ذلك، فإن الاستنتاج الصادق هو أنك تريد بناء محرك، وهو شيء مختلف عن الحاجة إلى واحد — وأكثر تكلفة بكثير مما يبدو من العنوان الأول.
افتح DeHub