Скільки коштує розробка програми Pokémon GO

How much does it cost to develop an app like Pokémon GO

Влітку 2016 року застосунок Pokémon GO був мало не популярнішим за Олімпіаду в Ріо. Грі про, здавалося б, забутих монстрів із нашого дитинства вдалося захопити серця дорослих і дітей і за перші 24 години після запуску вирватися в топи App Store і Google Play. Сьогодні ми поговоримо про її основні складові та про те, скільки коштує розробити застосунок, схожий на Pokémon GO.

Використовуйте наш калькулятор вартості додатків, щоб розрахувати вартість розробки

Що таке Pokémon GO

Pokémon GO ("Покемон ГО" або "Покемон Гоу") - це гра, що використовує прив'язку до об'єктів реального світу та карти, тобто ті чи інші ігрові об'єкти доступні гравцям тільки в певних місцях реального світу, наприклад у парку або біля водойми. Крім того, додаток Pokémon GO обробляє зображення з камери смартфона і накладає на нього додаткові елементи, створюючи так звану доповнену реальність.

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

Starting playing Pokemon GO

Правила Pokémon GO прості:

  1. Ви запускаєте застосунок, реєструєтеся і можете взаємодіяти з ним, якщо він розгорнутий і екран вашого девайса увімкнений.
  2. Основна форма взаємодії - збір покемонів шляхом кидання в них покебола (як правило, зловити покемона з першого разу не виходить).
  3. Оскільки покемони не сидять на місці, а періодично з'являються в різних локаціях, користувачам доводиться активно переміщатися районом або навіть цілим містом, щоб ловити їх.
  4. При цьому ви маєте поповнювати запас важливих ресурсів на покестопах і можете битися з іншими гравцями в тренажерних залах, які також є об'єктами реального світу.
  5. Пройдена відстань і кількість спійманих покемонів впливають на підняття вашого рівня в грі.

Bulbasaur in Pokemon GO

А тепер поговоримо про те, як розробити додаток на кшталт Pokémon GO.

Розробка програми на кшталт Pokémon GO

Перш ніж розпочинати розробку, визначимо, що потрібно, щоб розробити гру, таку як Pokémon GO:

  1. Геймдизайн
  2. Рушій для розробки ігор
  3. Дизайн додатка
  4. Картографічний сервіс і засоби геолокації
  5. Логіка розподілу об'єктів на карті та бойова логіка
  6. Засоби взаємодії з гіроскопом і акселерометром
  7. Сервер для реалізації взаємодії між користувачами та зберігання їхніх ігрових даних
  8. Нотифікації про події
  9. Внутрішньоігрові покупки
  10. Графіка та звук

Крім того, врахуйте такі причини успіху Pokémon GO:

  • Відомий бренд Pokémon, у якого вже були свої фанати.
  • Досвід у сфері ігор, які використовують доповнену реальність (Ingress). Розробка аналога Pokémon GO потребуватиме багато ресурсів через відсутність відкритого доступу до даних, напрацьованих Ingress.
  • Правильний вибір часу запуску - літо в північній півкулі, коли люди якраз проводять більше часу поза домом.
  • Гра вимагає постійної уваги до себе, що сприяє формуванню звички. Це необхідно врахувати, щоб розробити успішний аналог Pokémon GO.
  • Добре опрацьований вірусний механізм: якщо з'явився покемон, потрібно одразу ж його ловити; оскільки застосунок працює тільки з увімкненим екраном, люди постійно помічають інших гравців і втягуються самі.

А тепер розберемося, як створити додаток на кшталт Pokémon GO.

1. Геймдизайн

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

2. Рушій для розробки ігор

Що таке рушій гри і навіщо він потрібен? Рушій гри - це спеціальна програма, яка з'єднує докупи всі ресурси гри (програмний код, графіку, звуки) і дає змогу ними керувати. Без рушія можуть обійтися тільки дуже прості ігри (а Pokémon GO до них не належить), до того ж рушій спрощує випуск гри на кілька мобільних платформ. Для розробки Pokémon GO використовувався рушій Unity.

Unity game engine

3. Дизайн додатка

Робота над зовнішнім виглядом починається зі створення прототипу з усіма екранами застосунку. Прототип не є готовим додатком, він лише показує, які розділи, меню та інші елементи будуть доступні користувачам. Прототипування виконується в спеціалізованих інструментах, наприклад InVision, Proto.io, Pixate, Flinto.

App prototyping

4. Картографічний сервіс і засоби геолокації

Оскільки до того, як стати окремою компанією, Niantic була внутрішнім стартапом Google, імовірно, для неї діють певні спеціальні умови використання карт Google Maps, тож розробити клон Pokémon GO буде не так-то просто. У загальному випадку для створення застосунку на кшталт Pokémon GO знадобиться:

  1. Підключити Google API до проєкту і заплатити за ліцензію (вартість залежатиме від планованого навантаження). Також є можливість використовувати безкоштовні карти Open Street Maps, але тоді про фотографії локацій доведеться забути.
  2. Написати функції для роботи з GPS пристроїв (геолокація). Це потрібно для того, щоб визначати місце розташування пристрою користувача і показувати йому потрібні об'єкти.

Pokestops in Pokemon GO

5. Логіка розподілу об'єктів на карті та бойова логіка

Як створити застосунок на кшталт Pokémon GO, який не прогорить? Зробіть акцент на природності - саме для її досягнення вам знадобиться добре опрацьована логіка розподілу об'єктів на карті. У ній необхідно передбачити:

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

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

How to catch a Pokemon

6. Засоби взаємодії з гіроскопом і акселерометром

Щоб визначати положення пристрою в просторі та швидкість руху людини (зокрема, їде вона в автомобілі чи пересувається пішки), використовуються дані з вбудованих у смартфон датчиків:

  • Гіроскопа - визначає орієнтацію пристрою в просторі.
  • Акселерометра - визначає швидкість, з якою прискорюється смартфон.
  • GPS - визначає розташування користувача щодо сітки глобального позиціонування.

Розробляючи застосунок "Дороги України" для моніторингу стану дорожнього покриття, ми впритул працювали з даними, що надходять із цих датчиків, обробляли та верифікували їх, і зможемо успішно застосувати свій досвід, щоб створити Pokémon GO-аналог.

Receiving data from device sensors

7. Сервер для реалізації взаємодії між користувачами та зберігання їхніх ігрових даних

Оскільки в грі користувачі перебувають в одному ігровому світі, на одній карті та підкоряються загальним правилам - цей світ має десь генеруватися, постійно розвиватися та взаємодіяти з ними. Таким місцем є наш сервер, і всі застосунки взаємодіють один з одним через нього.

Також щоб після перепрошивки або зміни пристрою користувачам не потрібно було починати гру наново, потрібно зберігати їхні дані у себе на сервері. Без зберігання даних на сервері розробити Pokémon GO-аналог не вийде, тому будьте готові створити сильний і надійний бекенд гри.

Також слід врахувати, що ваш сервери та бази даних повинні витримувати високі навантаження, щоб користувачам не доводилося довго чекати можливості зіграти:

Pokemon GO server overload

8. Нотифікації про події

Realtime-події дають змогу негайно отримувати сповіщення про те, що відбувається в грі. Оскільки в Pokémon GO потрібно грати з увімкненим екраном, користувач одразу ж бачить нотифікації та підказки, наприклад такі:

Pokemon GO notifications

Realtime-події реалізують за допомогою Socket-з'єднання, що дає змогу миттєво в двосторонньому режимі обмінюватися даними з гравцем, коли він онлайн. У разі, якщо користувач перебуває офлайн, сервер може надсилати push-повідомлення через сторонні сервіси, які надходять із невеликою затримкою.

9. Внутрішньоігрові покупки

Існує кілька моделей заробітку для мобільного стартапу, і Pokémon GO використовує модель із внутрішньоігровими покупками (in-app purchases). Купувати можна предмети на кшталт покеболів (Poké Balls), приманку (Lure Module), інкубатор (Egg Incubator) та інші. Є як дешевші варіанти (20 покеболів за 100 монет), так і дорожчі (6 приманок за 680 монет). Це важливо, оскільки як допомагає новачкам легше зробити свою першу покупку, так і заохочує бувалих гравців робити покупки побільше.

Покупку внутрішньоігрового контенту краще реалізовувати за допомогою нативного сервісу під кожну платформу окремо. Користувачі схильні більше довіряти таким сервісам. Наприклад, якщо ви розробляєте застосунок під Android, найзручніше скористатися Google Play In-app Billing. Скориставшись цим сервісом, ви без зусиль надалі зможете наповнювати застосунок контентом, що продається, з консолі розробника, не оновлюючи його зайвий раз.

Pokemon GO shop

10. Графіка та звук

Сучасні ігри встановлюють надзвичайно високі вимоги до якості графіки. З огляду на те, що в Pokémon GO використовується тривимірна графіка, за її розробку доведеться віддати чималу частину бюджету. Також краще, щоб підготовка моделей велася паралельно з написанням коду. Як варіант, можна купити моделі в Unity Asset Store, але це вкрай небажано, оскільки позбавляє вашу гру індивідуальності і не допоможе вам зробити Pokémon GO-аналог досить яскравим і незабутнім.

Pokemon GO game models

Що стосується звуку, то тут можна підібрати готові рішення за невисоку плату на Audio Jungle, Music Loops або The Music Case.

Вартість розробки гри на кшталт Pokémon GO

Тепер, коли ви знаєте, які елементи є важливою складовою додатка на кшталт Pokémon GO, давайте подивимося, скільки коштує розробка клону Pokémon GO:

  • Розробка клієнтського застосунку та геймдизайн - $60-100K
  • UI/UX — $6,5K
  • Бекенд — $80K
  • Витрати на сервери — $150K
  • Тестування — $50K
  • Моделі з анімацією — $100K
  • Звуки — $15-20K
  • Менеджмент — $20K

Таким чином, вартість розробки застосунку Pokémon GO складе приблизно $450-600K. Зрозуміло, це приблизна цифра і точна вартість мобільного застосунку буде розраховуватися з необхідного функціоналу.

Потрібен MVP, розробка під iOS, Android або прототип застосунку? Ознайомтеся з нашим портфоліо and зробіть замовлення сьогодні!