Історія створення першої гри на Unity — від ідеї до релізу



Добрий день! Я — інді-розробник (з недавнього часу), 2 роки тому, будучи пожежникам, прийшла в голову думка створити свою гру на Android. З досвіду було тільки створення карт під ігрові движки Gold Source і Source (на них побудовані старі добрі: Counter-Strike, Half-Life і багато іншого), взявши волю в кулак, вирішив що я обов'язково справлюся і зайнявся вивченням інтернет-пошуковика Google.

Сподіваюся, ця стаття допоможе тим, хто дуже хоче, але так і не зважився випробувати свої сили в розробці мобільних ігор. У статті наведу безліч посилань, які тим чи іншим чином допомогли мені розробити гру, при цьому не маючи ніякого досвіду і знань в даній сфері.

Підготовка
Будучи дуже далеким від IT-сфери, строго для себе зрозумів, що насамперед потрібно вивчити основи програмування, щоб надалі зрозуміти, чи зможу я хоч що-небудь, чи все-таки немає. Вирішив придбати книгу по програмуванню. Критерієм вибору було разжеванная теорія з великою кількістю прикладів її застосування. Так, перша книга, яка відкрила для мене C++ стала: «Об'єктно-орієнтоване програмування в C++, Р. Лафоре». Особисто мені в книзі сподобалося наявність важкою теорії, що пояснює багато незрозумілі раніше мені терміни, але, після помітив, що багато досвідчені люди були категорично проти цієї книги як стартової точки у вивченні програмування. Так чи інакше, вивчивши за місяць всю книгу, попутно виконуючи деякі завдання в кінці кожної глави, зловив себе на думці, що все досить добре виходить і пора рухатися далі.

Наступним пунктом був вибір движка на якому я зміг би з упевненістю почати розробку. Вибір припав безсумнівно на Unity, завдяки великій спільноті, високої популярності, достатку величезної кількості навчальних статей — на мою думку, це найкраще, що можна знайти на ринку, особливо для інді-розробника.

Довелося прикупити ще одну книгу по програмуванню: «Довідник C#, Д. Албахарі, Б. Албахарі» з причини того, що в Unity основною мовою C#. Благо, знання основ C++ допомогли з легкістю приборкати основи C# і сміливо почати вивчення безпосередньо Unity.

Для себе вирішив, що найкращим поштовхом для створення першої гри буде спроба зробити щось по аналогії вже готового проекту, а не намагатися виглядати тонну окремих уроків як зробити те, як зробити це. На моє щастя я натрапив на Survival Shooter tutorial від Unity, в якому покроково описано створення Top Down шутера. Це було якраз те, що я і хотів створити. Знайшовши переозвученные російською мовою уроки (на жаль зараз уроки видалені автором з невідомої мені причини), я почав робити крок за кроком свою першу гру.


Перша сцена, запущена на мобільному девайсі, радості тоді не було меж, зараз же цей скріншот викликає тільки розчулення.

Зібравши свій Survival Shooter з уроків на YouTube, постало питання щодо створення свого контенту, а саме постало питання моделювання. Відразу для себе вирішив — ніяких піратських 3d Studio Max, в наслідок чого відразу ж натрапив на Blender. Вивчав основи 3д-редактора за даним відео-курсу. Вибір припав саме на відео-курси, т. к. вони дозволили дуже швидко почати практикуватися, чого досить складно домогтися, починаючи з вивчення книги (але безсумнівно визнаю, книги — краще). Благо, був певний досвід створення карт для Counter-Strike, Half-Life, що дозволило з легкістю почати моделювати вже через пару днів.

Тепер, повністю озброївшись інструментами, я почав розробляти гру. По суті, перший час я тільки й робив, що надсилав запити «як зробити ту чи іншу річ у Unity», так, згодом почав обростати корисними знаннями.

Не хочу бути схожим на інших
Зомбі-шутер нині тьма тьмуща. Не хотілося бути якимось клоном. Постало питання, що ж можна зробити такого, чого немає в інших. Було прийнято рішення додати в гру можливість зупинки часу. Так, гравець міг зупинити час, перестріляти зомбі і як ні в чому не бувало продовжити своє пересування.



Проблемою було те, що все це я придумував на ходу і відразу ж брався за реалізацію, пропускаючи етап планування. Не допускайте моїх помилок, перед тим, як почати розробляти гру, заздалегідь продумайте все до найдрібніших деталей, не робіть гру на абум. Моєю проблемою була відсутність будь-якого плану, спеки, або ж якихось виділених етапів розробки. Все робилося «реалтайм», придумав, що хочу щось зробити і відразу ж намагався це реалізувати, наївно вважаючи, що я вже все врахував у своїх роздумах. Подібна методологія розробки, а вірніше — її повна відсутність, призвели до того, що гру доводилося багато разів переробляти, відкидати старі ідеї, додавати нові можливості до того, що не особливо то й адаптовано для поліпшення (схоже на Agileале ні, це було «відсутність досвіду»). Як результат — гра розроблялася майже півтора року.

Милиці, вони такі милиці
З причини повної відсутності навичок програмування, код вийшов ну дуже «костыльным». Зараз мені просто соромно, дивлячись на свою локалізацію тексту, яка робилася через оператор if -> else, або ж інші речі, на які без Facepalm не подивитися. Вносити які-бо зміни було дуже важко, оскільки в коді були присутні дуже багато залежностей, при яких зміна одного рядка могло призвести до поломки безлічі інших скриптів. Намагайтеся описувати скрипти таким способом, щоб було якомога менше залежностей між ними. Дуже корисним буде ознайомлення з цієї статтею на хабре, в якій описуються різні способи взаємодії скриптів в Unity.

Тестування
До питання тестування я підійшов не настільки належним рівнем. Гра релизилась без попереднього бета-тестування. Я не хочу сказати, що фінальний білд пішло купа багів, аж ніяк, проблема була зовсім в іншому — після релізу посипалося безліч коментарів про те, що гра банально складна. На YouTube вилилося безліч відеороликів, в яких люди просто не могли пройти перший рівень. Мені здавалося, що вони грають великим пальцями ніг, але тут була особисто моя вина. Тестуючи продукт протягом усього періоду розробки, я не помітив, що навчився проходити рівні мало не з закритими очима, в результаті чого постійно підкидав ускладнення, щоб гра не здавалася надто легкою. По суті, це дуже негативно вплинуло на перше враження про гру і як результат — її подальший провал. Обов'язково перед релізом проведіть бета-тестування. На даний момент в Google Play дуже просто зробити закрите або відкрите бета-тестування. Навіть банально перед релізом дайте людині пограти деякий час, щоб надалі уникнути проблем з играбельностью і складністю продукту. Для себе строго вирішив, що гра на початковому етапі повинна бути дуже легкою, щоб не відлякати гравців.

Монетизація
Обравши невірну монетизацію: безкоштовно урізана + повна платна я занапастив гру вважай на корені. Причиною вибору настільки застарілою зв'язки було відсутність досвіду, т. к. я банально не знав як вбудувати рекламу в продукт, як реалізувати внутрішньоігрові покупки і як результат, вирішив піти по шляху найменшого опору, яке не вимагало від мене якихось технічний знань. Для себе непохитно вирішив, що на даний момент це найгірше, з чого варто почати. Вважаю найкращим варіантом: безкоштовно з внутриигровыми покупками і вмотивованою рекламою, але тут знову-таки дуже важливий баланс між настирливої рекламою і неможливістю пройти рівні без вкладень.

Музика, звуки
Важливу роль відіграє звуковий супровід. Більшість звуків і музики для гри я купував на audiomicro.com, про що зараз трохи шкодую в силу дорожнечі. На даний момент я б рекомендував наступні ресурси:
diforb.com. Чудовий для озвучення ігрового меню. Вибравши необхідний сет, ви з легкістю зможете створити звуки натискання, перегортання і застосування різних опцій. Користуватися можна безкоштовно, все що від вас потрібно — вказати посилання на ресурс де-небудь в грі.
freesfx.co.uk. Хороший безкоштовний ресурс різних звуків. Завдяки зручному пошуку можна з легкістю знайти звуки пострілів, перезарядки і багато іншого. Як і з попереднім, можна користуватися безкоштовно, тільки не забудьте вказати посилання на ресурс в грі.
melodyloops.com. Дуже хороший ресурс музики. Платний, але порівняно з іншими, треки тут дуже дешеві. Я зміг придбати 25 композицій за 130$, отримавши ліцензію на необмежену кількість копій. Дуже зручний пошук, вибравши потрібний трек, ви можете відфільтрувати список схожих, що допоможе Вам дуже швидко знайти потрібні Вам композиції.

Розкрутка
Підібравшись до завершальної стадії розробки, постало питання в рекламу гри. Ніяких ресурсів на платну розкрутку у мене не було, тому вибір ліг суто на безкоштовні методи. Благо, інформації з цього приводу досить багато, наведу деякі посилання на статті з Хабра, які допомогли мені у вирішенні цього питання: раз, два. В основному я писав на різних форумах, присвячених ігор на андроїд, що в кінцевому результаті дало наступні цифри:

Безкоштовна версія гри за період червень 2016 — січень 2017
— За зовнішніми посиланнями: 1 353 переглядів / 478 установок
— Play Market: 9 674 переглядів / 1 457 установок
— Усього: 11 065 переглядів / 2 101 установок

Платна версії гри за період червень 2016 — січень 2017
— За зовнішніми посиланнями: 1 919 переглядів / 15 установок
— Play Market: 46 432 переглядів / 214 установок
— Усього: 48 457 переглядів / 246 установок

Як бачимо, платна версія гри має дуже велике кількість переглядів, це пов'язано з тим, що потрапити у новинки платних додатків набагато легше, ніж безкоштовних, достатньо 5-10 покупок і гра вже буде займати соті позиції, що дає приплив переглядів в Google Play. Була надія, що користувачі буду переходити зі сторінки платній версії гри на безкоштовну, щоб попередньо перевірити що з себе представляє гра, але, на жаль, як ми можемо бачити за статистикою, переглядів безкоштовної версії набагато менше, ніж платною.

Реліз
Реліз виявився плачевним, цілком граюча для мене гра, виявилася нереально складна для інших. Через ігнорування бета-тестування на реальних гравців, довелося дуже не солодко після релізу. Повністю була перероблена система управління. Спочатку гравець автоматично стріляв при наведенні погляду на ворога, що повністю вбивало відчуття стрільби. Гравці часом не розуміли, як тут стріляти?! Тому було прийнято рішення повністю переробити управління на новий лад. У новій версії автоматична стрільба була замінена на ручну, що значно прикрасив ігровий процес.



Як я вже говорив, ще одним каменем була складність. Довелося переробляти величезний шматок ігри, впроваджуючи легку, середню і важку рівні складності, щоб догодити якомога більшій кількості гравців.

В кінцевому підсумку — я упустив свій шанс більш-менш розкрутитися за перші 30 днів, коли гра перебувала в «Новинки». Люди просто купували і повертали платежі в силу неиграбельности і високого рівня складності. Тільки після безлічі апдейтів кількість повернень різко скоротилося, але було вже пізно, на 31-й день гра зникла з новинок і як результат — кількість переглядів, як і власне скачок каменем звалилося вниз. Але, найголовніше — я зміг отримати безцінний досвід, пройшовши від етапу ідеї та закінчивши цю справу суворим релізом, що безсумнівно радує. Тепер, маючи весь цей досвід, вже з більшою впевненістю займаюся розробкою гри, про результати якої планую написати вже після релізу. Спасибі і удачі Вам в ваших починаннях!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.