DrumHero: چگونه اولین بازی زندگی ام را ساختم

امسال برنامه اجتماعی و آموزشی IT School SAMSUNG 5 ساله می شود (در مورد مدرسه IT بخوانید اینجا) و به همین مناسبت از فارغ التحصیلان خود دعوت کردیم تا در مورد خود و تجربه خود در ایجاد اپلیکیشن های موبایلی صحبت کنند. ما معتقدیم که با آرزوی زیاد، همه می توانند به موفقیت برسند!

اولین مهمان در این بخش، شمیل ماگومدوف، فارغ التحصیل سال 2017 از مدرسه فناوری اطلاعات سامسونگ، که اکنون دانشجوی MIEM NRU HSE است، بود. شمیل، با وجود مشغله زیاد، از وقتی که برای نوشتن این مقاله صرف کردید بسیار سپاسگزارم!

خوش آمدید!
امروز می خواهم در مورد اینکه چگونه به لطف این بازی از "پذیرش مشروط" در SAMSUNG IT School به فینالیست مسابقه توسعه تلفن همراه همه روسی شدم صحبت کنم. DrumHero.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

ماقبل تاریخ

وقتی کلاس دهم بودم وارد مدرسه فناوری اطلاعات شدم. از همان روزهای اول تمرین از بقیه بچه ها عقب افتادم و این حتی قبل از شروع دوره هم قابل پیش بینی بود (این را از نمرات وحشتناک پایین کنکورم گواه می گرفت). این همه اصول برنامه نویسی، ساختار پلتفرم اندروید و زبان جاوا، چگونه همه آن را بفهمیم؟

خوشبختانه، من همه آنچه را که برای تسلط موفقیت آمیز بر مهارت های توسعه نیاز داشتم، داشتم: میل بی حد و حصر برای حرکت به جلو و توقف نکردن.

وقت زیادی را به تکالیف اختصاص دادم، دائماً دیر وقت بعد از کلاس با معلم ولادیمیر ولادیمیرویچ ایلین ماندم (من با او بسیار خوش شانس بودم)، شروع به تطبیق با سرعت سریع یادگیری کردم و به پروژه فارغ التحصیلی خود فکر کردم.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

با معلم - V.V. Ilyin

جستجوی ایده

بسیاری از مردم فکر می کنند که هنگام ایجاد یک پروژه، چه یک استارتاپ باشد و چه چیزی کوچک برای به دست آوردن تجربه، همه مشکلات در توسعه نهفته است: نوشتن یک دسته کد، یادگیری کتابخانه های جدید، آزمایش مداوم - وحشتناک! باور کنید این اصلا درست نیست. دقیقاً همینطور استدلال کردم تا اینکه خودم با نیاز به انتخاب و اجرای یک ایده مواجه شدم؛ یکی از سخت ترین مراحل بود.

دشوارترین چیز در انتخاب یک ایده در مرحله اولیه یادگیری، تعیین پیچیدگی پیاده سازی است: برای مدت طولانی نمی توانستم برنامه ای را ارائه دهم که بتوانم انجام دهم و در عین حال دوست داشته باشم.

بیشتر از همه می خواستم یک بازی موزیکال بنویسم، اما شک و تردید در مورد توانایی هایم واقعاً مانع شد. به نظر می رسید که نمی توان کار را تمام کرد و به همین دلیل بیش از یک بار انتخاب خود را تغییر دادم: بیلیارد سیار، بولینگ، رانر و غیره. در نهایت، من یک درس از این یاد گرفتم: مشکلات همیشه بوجود می آیند، صرف نظر از ایده برنامه، و بنابراین مهمترین چیز این است که آنچه را که دوست دارید انتخاب کنید و تا آخر بروید.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

من همیشه بازی Guitar Hero را دوست داشتم

پیاده سازی منطق بازی

ایده اصلی پشت برنامه هایی مانند Guitar Hero این است که روی صفحه نمایش با ضرب آهنگ موسیقی ضربه بزنید.
اول از همه، من شروع به پیاده سازی منطق بازی کردم:

  1. کلاس‌هایی از یادداشت‌ها، دکمه‌ها و نوارهایی ایجاد کرد که در امتداد نت‌ها حرکت خواهند کرد.
  2. من بوم را روی کل صفحه برنامه قرار دادم و روی آن قبلاً مکان اشیاء کلاس های ایجاد شده را توضیح دادم.
  3. اجرای همزمان یک فایل mp3 از یک آهنگ و مجموعه ای از نت های به دست آمده از پایگاه داده و voila! اولین پیش نویس های بازی در حال حاضر در گوشی هوشمند من هستند :)

DrumHero: چگونه اولین بازی زندگی ام را ساختم

Pervaya versiya igrы

بله، به نظر "چشمگیر" است، اما تقریباً برای آزمایش بازی کافی بود! آخرین مرحله ضروری لیست نت های آهنگ بود و من مجبور شدم زمان زیادی را برای اجرای آن صرف کنم.
اصل بسیار ساده است: با استفاده از مقادیر جدول پایگاه داده، برنامه اشیاء کلاس "Note" را ایجاد می کند و یادداشت های حاصل را به آرایه اضافه می کند. جدول از دو ستون تشکیل شده است:

  • شماره خط از 1 تا 4 که نت روی آن باید برود و
  • زمانی که باید روی صفحه نمایش داده شود.

چرا وقت زیادی صرف کردم اگر همه چیز اینقدر ساده است؟ برای پر کردن این پایگاه داده!
متأسفانه، در آن زمان نمی‌توانستم بفهمم که چگونه فرآیند دریافت نت به فرمت مورد نیاز خود را از یک فایل mp3 آهنگ به طور خودکار انجام دهم و بنابراین مجبور شدم به صورت دستی این ستون‌ها را با گوش پر کنم.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

فرآیند پر کردن پایگاه داده با یادداشت ها

این روش به من این امکان را داد که توسعه و آزمایش بازی را زود شروع کنم، اما واضح بود که باید چیز متفاوتی ارائه دهم. در اینجا معلم من، ایلین ولادیمیر ولادیمیرویچ، بسیار به من کمک کرد، که در مورد وجود فرمت MIDI صحبت کرد، ساختار آن را توضیح داد و به من کمک کرد تا کتابخانه ای را که برای کار با فایل های MIDI پیدا کرده بودم، پیدا کنم.

زیبایی این فرمت این است که در آن هر ساز قبلاً یک آهنگ جداگانه است که "نت های" خاصی در آن قرار دارد. به این ترتیب می‌توانید به راحتی تمام یادداشت‌ها را لوپ کنید و بسته به مسیر و زمان، آنها را به‌طور خودکار به پایگاه داده اضافه کنید. این یک ویژگی بسیار مهم است، زیرا به لطف آن بود که من توانستم مشکل بازی های این سبک را حل کنم: ناتوانی در اضافه کردن آهنگ های خودم. درست است، فرمت MIDI یک نقطه ضعف بزرگ دارد - صدا (همه ما ملودی ها را در بازی های یکپارچهسازی با سیستمعامل به یاد می آوریم، درست است؟).

با بهبود تدریجی گیم پلی، برنامه را به حالت کاملاً کارآمد رساندم، بسیاری از "ویژگی ها" را اضافه کردم: توانایی اضافه کردن آهنگ خود از حافظه دستگاه یا از کاتالوگ ابری، انتخاب سطح دشواری، حالت مبتدی و موارد دیگر.
و بالاخره به "گیلاس روی کیک" رسیدم...

طرح

اینجاست که تجسم "دیدگاه" من از بازی آغاز شد. اول از همه شروع به انتخاب یک برنامه نقاشی کردم. من هیچ تجربه ای در طراحی گرافیک نداشتم، بنابراین به برنامه ای نیاز داشتم که یادگیری آن آسان باشد (به هر حال فتوشاپ)، اما همچنین انعطاف پذیر و راحت باشد (Paint، متاسفم). انتخاب بر روی Inkscape افتاد - ابزار خوبی برای ویرایش تصاویر برداری، عمدتا در فرمت svg.

پس از آشنایی بیشتر با این برنامه، شروع به ترسیم هر عنصر بازی و ذخیره آن در وضوح های مختلف، مناسب برای اندازه های مختلف صفحه نمایش دستگاه کردم. همچنین تلاش هایی برای اجرای انیمیشن انفجار نت ها صورت گرفت و با وجود نامناسب بودن طرح حاصل، من راضی بودم. البته، به موازات نهایی کردن پروژه، من به کار بر روی طراحی ادامه دادم و رنگ‌های جدید را اضافه کردم (شیب‌ها عشق "در نگاه اول" هستند).

DrumHero: چگونه اولین بازی زندگی ام را ساختم

نسخه اول طرح (دو صفحه، بدون انیمیشن، نام قدیمی)

DrumHero: چگونه اولین بازی زندگی ام را ساختم

نسخه دوم طرح (4 صفحه، صفحه اولیه به آرامی با رنگ های مختلف، شیب در همه جا می تپد)

من از پروژه نهایی خود دفاع کردم و وقتی فهمیدم مرحله مقدماتی را پشت سر گذاشته ام و به فینال مسابقه برنامه کاربردی مدرسه IT دعوت شده ام بسیار خوشحال شدم. حدود یک ماه تا مسابقه باقی مانده بود و به طور جدی به فکر استخدام یک فرد حرفه ای تری در زمینه طراحی افتادم. جستجو بیهوده نبود: همانطور که معلوم شد، دوست نزدیک برادرم یک طراح عالی است! او بلافاصله موافقت کرد که به من کمک کند و طراحی فعلی بازی اعتبار اوست.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

طرح نهایی

انتشارات

پس از اتمام کار بر روی نسخه انتشار، بلافاصله شروع به آماده سازی برنامه برای انتشار در بازار Google Play کردم. روش استاندارد: به دست آوردن یک حساب توسعه دهنده، ایجاد یک صفحه برنامه و غیره. اما این بخش در مورد آن نیست.

شگفت آورترین نکته در این داستان آمار دانلود است. در ابتدا تعداد دانلودهای DrumHero در برخی از کشورهای اروپایی، ایالات متحده آمریکا و کشورهای مستقل مشترک المنافع به تدریج و تقریباً یکسان افزایش یافت، اما یک ماه گذشت و تعداد دانلودها به 100 دانلود رسید! یک واقعیت جالب این است که بیشتر دانلودها از اندونزی انجام شده است.

نتیجه

DrumHero اولین پروژه جدی من است که در آن برنامه نویسی را یاد گرفتم. او نه تنها من را به فینال تمام روسی مسابقه پروژه SAMSUNG IT SCHOOL آورد، بلکه تجربه زیادی در طراحی گرافیک، GameDev، تعامل با سرویس Play Market و موارد دیگر به من داد.

DrumHero: چگونه اولین بازی زندگی ام را ساختم

البته الان کاستی های زیادی در بازی می بینم هرچند امروز تعداد دانلودها تقریبا به 200 رسیده است.برنامه های من انتشار نسخه جدید است، ایده هایی برای افزایش پایداری، بهبود گیم پلی و افزایش تعداد دانلودها وجود دارد.

راهنما:
SAMSUNG IT SCHOOL یک برنامه آموزشی رایگان تمام وقت برای دانش آموزان دبیرستانی است که در 25 شهر روسیه فعالیت می کند.
پروژه فارغ التحصیلی دانشجویان یک اپلیکیشن موبایلی است. این می تواند یک بازی، یک برنامه اجتماعی، یک برنامه ریز، هر چیزی که آنها می خواهند باشد.
شما می توانید برای آموزش از سپتامبر 2019 در کاربران آنلاین حاضر در سایت " برنامه ها.


منبع: www.habr.com

اضافه کردن نظر