DrumHero: كيف صنعت اللعبة الأولى في حياتي

في هذا العام ، يبلغ عمر البرنامج الاجتماعي والتعليمي لطلاب المدارس الثانوية في IT SCHOOL SAMSUNG 5 سنوات (اقرأ عن IT SCHOOL هنا ) ، وفي هذه المناسبة قمنا بدعوة خريجينا للتحدث عن أنفسهم وتجربة إنشاء تطبيقاتهم المحمولة. نحن نعتقد أنه مع رغبة كبيرة ، يمكن للجميع تحقيق النجاح!

مرحبا بالجميع!

اسمي Shamil Magomedov ، أنا خريج مدرسة SAMSUNG IT 2017 ، حاليًا أنا طالب في MIEM NRU HSE. أود اليوم أن أتحدث عن كيف تحولت من "الفضل المشروط" في SAMSUNG IT-SCHOOL إلى التصفيات النهائية لمسابقة All-Russian على تطوير الأجهزة المحمولة بفضل لعبة DrumHero .

صورة

قبل التاريخ


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

لحسن الحظ ، كان لدي كل ما هو مطلوب للتطوير الناجح لمهارات التطوير: رغبة غير محدودة للمضي قدماً وليس التوقف.

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

صورة

مع معلم - V.V. Ilyin

ابحث عن فكرة


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

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

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

صورة

أحببت دائمًا لعبة Guitar Hero

تنفيذ منطق اللعبة


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

  1. إنشاء فئات من الملاحظات والأزرار والشرائط التي ستتحرك عليها الملاحظات.
  2. لقد وضعت اللوحة على شاشة التطبيق بالكامل وعليها بالفعل رسم موقع كائنات الفئات التي تم إنشاؤها.
  3. نفذت الإطلاق المتزامن لملف mp3 للأغنية والملاحظات الواردة من قاعدة بيانات مجموعة من الملاحظات وفويلا! المسودات الأولى للعبة موجودة بالفعل على هاتفي الذكي :)


صورة

الإصدار الأول من اللعبة

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

  • رقم السطر من 1 إلى 4 والذي يجب أن تذهب الملاحظة عليه
  • الوقت الذي يجب أن تظهر فيه على الشاشة.

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



عملية ملء قاعدة البيانات مع الملاحظات

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

يكمن جمال هذا التنسيق في أن كل أداة فيه هي بالفعل مسار منفصل توجد عليه "ملاحظات" معينة. وبالتالي ، يمكنك بسهولة معالجة جميع الملاحظات في دورة وإضافتها تلقائيًا إلى قاعدة البيانات حسب المسار والوقت. هذه خاصية مهمة للغاية ، لأنه بفضله تمكنت من حل مشكلة ألعاب هذا النوع: عدم القدرة على إضافة أغنيتي الخاصة. صحيح أن تنسيق MIDI يحتوي على ناقص كبير - الصوت (نتذكر جميعًا الألحان في الألعاب الرجعية ، أليس كذلك؟).

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

تصميم


هذا هو المكان الذي بدأ فيه تجسيد "رؤيتي" للعبة. بادئ ذي بدء ، بدأت في اختيار برنامج للرسم. لم يكن لدي أي خبرة في تصميم الرسوم ، لذلك كنت بحاجة إلى تعلم بسيط (في Photoshop - بواسطة) ، لكن في الوقت نفسه برنامج مرن ومريح (الرسام ، أنا آسف). وقع الاختيار على Inkscape - وهي أداة جيدة لتحرير الصور المتجهة ، وبشكل أساسي تنسيق svg.

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



الإصدار الأول من التصميم (شاشتان ، بدون رسوم متحركة ، الاسم القديم)



الإصدار الثاني من التصميم (4 شاشات ، تنبض الشاشة الأولية بسلاسة بألوان مختلفة ، وتدرجات في كل مكان)

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



النسخة النهائية من التصميم

منشور


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

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

استنتاج


DrumHero هو أول مشروع رئيسي حيث تعلمت البرنامج. لم يحضرني فقط إلى نهائي All-Russian لمسابقة مشروع SAMSUNG SCHOOLS IT ، ولكنه منحني أيضًا تجربة رائعة في تصميم الرسومات ، في GameDev ، بالتزامن مع خدمة Play Market وأكثر من ذلك بكثير.



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

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

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


All Articles