Як я зробив гру про відеомеми, яку боявся показувати App Store
Привіт! Мене звати Зореслав, я Unity-розробник і вже багато років займаюся геймдевом. Починав я ще з флеш-ігор для веб, а пізніше перейшов до мобільних інді-проєктів на Adobe AIR. Саме тоді я вперше спробував повний цикл розробки власних ігор — від ідеї та програмування до релізу й підтримки.
З часом цей досвід поступово привів мене до створення Memesick — гри про відеомеми, яку я самостійно розвиваю вже декілька років.
Ідея гри
Я великий фанат мемів, тому одного разу мені прийшла в голову думка: а що, якщо об’єднати класичну вікторину та відеомеми? Хотілося зробити не просто «сухе» відгадування, а щось більш живе й фанове. У Memesick після відповіді (правильної чи ні) завжди програється саме відео — і часто це найвеселіша частина всього процесу. До того ж під час завантаження рівнів у грі постійно програються випадкові «музичні» меми, щоб навіть очікування не було нудним.
Коли ця ідея вперше з’явилася в мене в голові, я дуже загорівся нею, хоча на той момент уже працював над іншим проєктом.
Також я дуже переживав через перший реліз гри. Особливо через App Store — Apple завжди були досить прискіпливими до контенту. А в мемах, як відомо, матюків вистачає. Мені здавалося, що гру можуть просто не заапрувити через відео, яке в ній використовується. Але все пройшло напрочуд гладко — достатньо було правильно заповнити age rating та поставити вікові обмеження.
Як усе це взагалі працювало
Після появи ідеї виникло інше питання: як технічно реалізувати сотні відеомемів у мобільній грі? На той момент я ще не знав про Addressables чи подібні інструменти, тому перша реалізація була доволі... експериментальною.
Перша версія — YouTube
Спочатку всі відео підтягувалися напряму з YouTube. Я використовував бібліотеку UnityYoutubePlayer з GitHub і окремий Heroku-сервер, який виступав проміжною ланкою між грою та YouTube: допомагав отримувати відео в форматі, з яким уже міг працювати Unity VideoPlayer. Без цього вся система просто не працювала б.

Але дуже швидко з’ясувалося, що старіші телефони не надто люблять такий підхід — відео могли довго вантажитися, підвисати або працювати нестабільно.
Тоді я змінив підхід: відео все ще бралися з YouTube, але тепер вони спочатку фоново кешувалися на пристрої, а вже потім програвалися локально. Причому гра автоматично підвантажувала наступні відео «із запасом». Це значно покращило ситуацію навіть на слабших пристроях.
Але проблема залежності від YouTube нікуди не зникла. Пам’ятаю, як одного разу я певний час не заходив у проєкт, а потім побачив негативні відгуки в App Store — гра просто перестала працювати, відразу і всюди. Виявилося, на стороні сервісу щось змінилося, і бібліотека потребувала оновлення.
Якщо чесно, мене весь час не покидала думка, що рано чи пізно гра може просто зникнути зі сторів. Усе-таки контент підтягався не з мого сервера, а зі сторонньої платформи, яка не дуже любить подібні сценарії використання. Але, на диво, у такому режимі гра пропрацювала майже два роки.
До речі, згодом YouTube взагалі видалив мій канал з усіма відео, пояснивши це тим, що частина контенту порушує політики сервісу. Іронічно, що всі ці відео були приватними й не були доступні користувачам без прямого посилання. Після цього стало остаточно зрозуміло, що залежати від сторонньої платформи для основного контенту гри — не найкраща ідея.
Addressables — те, що було потрібно від самого початку
Потім я дізнався про Unity Addressables — систему, яка дозволяє гнучко завантажувати й оновлювати контент у грі, — і зрозумів, що це саме те, чого Memesick бракувало від самого початку. Я швидко зробив тестовий варіант із декількома відео, перевірив роботу на мобільних пристроях і майже одразу переніс усю гру на Addressables.
Після цього:
- відео перестали залежати від YouTube
- відпала проблема в сторонній бібліотеці
- усе стало працювати стабільніше
- оновлення контенту стало значно простішим
І саме так гра працює й зараз. Наразі в Memesick зібрано понад 2000 відео з найвідомішими мемами. Час від часу я відбираю нові ролики та додаю нові розділи з рівнями — зазвичай по 100 відео в кожному. Оскільки я займаюся проєктом самостійно й у вільний від основної роботи час, оновлення виходять не так часто, як хотілося б, але гра продовжує поступово розвиватися.
Дизайн гри змінювався декілька разів
За час розробки Memesick дизайн гри повністю змінювався три рази. Перші версії гри були значно більш «крикливими» — з яскравими кольорами, товстими рамками та великою кількістю декоративних елементів. Тоді мені хотілося зробити гру максимально веселою й візуально активною.


Але з часом гра ставала більшою: з’явилася карта рівнів, режим тренування, профіль користувача, дуелі, внутрішня економіка — і UI теж природно еволюціонував разом із самою грою. З появою нових механік змінювалася й подача гри — від майже «flash-style» інтерфейсу до більш сучасного мобільного UI.
Поступово я почав значно більше уваги приділяти не лише самим механікам, а й загальному відчуттю гри — візуальному стилю, анімаціям, переходам та UI. Варто зазначити, що над візуальним стилем і дизайном інтерфейсу також працювали дизайнери: першу версію гри оформлював один дизайнер, а всі наступні — інший. Зі свого боку я займався інтеграцією, анімаціями та окремими візуальними елементами.


Перша монетизація була дивною
Спочатку в грі взагалі не було класичного магазину. Натомість я зробив систему «заплати, скільки хочеш». Гравець міг сам обрати суму від $1 до $10, провести покупку — і після цього в грі назавжди вимикалася реклама. Цю ідею я підглянув у мобільній грі Okay? (надзвичайно красиво зроблена гра), і мені дуже сподобався такий підхід.
Але на практиці це працювало, м’яко кажучи, не дуже ефективно.
Тому згодом гра перейшла до більш класичної F2P-моделі:
- внутрішня валюта
- магазин
- сердечка
- бусти
- відкриття рівнів
- відключення реклами

Коли гра раптом потрапила в топ App Store
Якось я вирішив прорекламувати гру в одному великому Instagram-пабліку з мемами. І саме після цього стався дуже несподіваний для мене момент — Memesick опинилася на
Якщо чесно, тоді було трохи сюрреалістично бачити свою маленьку інді-гру поруч із великими мобільними хітами, такими як Roblox чи PUBG MOBILE. Я навіть зробив скріншот, щоб зафіксувати цей момент на пам’ять. Сподіваюся, колись вдасться це повторити.

Найбільша фіча гри — онлайн-дуелі
Минулого року мені прийшла в голову ще одна ідея: а що, як додати в гру справжній мультиплеєр?
Спочатку це виглядало доволі складною задачею, тому що раніше я ніколи не робив мультиплеєрні ігри. До того ж я не до кінця розумів, як саме це має виглядати в контексті мемної вікторини.
Але поступово все почало складатися:
- з’явилася внутрішня валюта
- профілі користувачів
- синхронізація даних між пристроями
- рейтинги
- система дуелей
У результаті я реалізував peer-to-peer мультиплеєр через Unity Netcode + Relay + Lobby. І, чесно кажучи, фінальний результат вийшов навіть кращим, ніж я собі уявляв на початку. Було прикольно вперше зіграти в гру з самим собою на різних пристроях.


Дві гри в одній
У Memesick зараз доступні як українські, так і англомовні меми. Тому за бажанням у грі можна навіть трохи підтягнути англійську.
У планах колись була також іспанська версія, але тут уже точно потрібна людина «зсередини», яка добре знає локальний мемний контекст. Я хоч і трохи розмовляю іспанською, але з іспанських мемів знаю хіба того дядька, який дуже заразно сміється, розповідаючи історію про загублені в океані сковорідки.
Фактично це ніби дві окремі гри всередині однієї:
- окремий прогрес
- окрема статистика
- різні набори мемів
- різні таблиці лідерів

Раніше була також російська локалізація, але після 2022 року я повністю прибрав її з проєкту.
Що далі
Зараз я продовжую розвивати гру:
- додаю нові меми
- працюю над мультиплеєром
- експериментую з новими механіками
- покращую UI та технічну частину
Іноді смішно згадувати, що все починалося з маленької ідеї: «а що, як зробити вікторину про меми?»
Якщо комусь цікаво подивитися, як це все виглядає вживу, або перевірити свій рівень мемознавця — гру можна знайти тут.

10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівЦікаво, цей Addressables дійсно не має обмежень по трафіку і т.д.? Я би 100% зробив cdn як параметр, який вичитується на старті, тоді буде можливість за необхідності миттєво перейти на інше.
Так, обмеження є. Коли гра потрапила в топ App Store і ще якийсь час після цього, Unity CCD якраз вийшов за межі безкоштовного ліміту по трафіку. Але по вартості це тоді було не критично, тому я залишився на цьому рішенні.
Ідея з CDN як параметром правильна. У випадку з Addressables це трохи складніше через remote catalog / internal ids, але як fallback або можливість швидко переїхати на інший хостинг — справді хороша думка.
Топ!
🥳 🙌
Зорік — ти крутий
Батя, я стараюсь! 😄
Бачив життя за рекламу, рекламну паузу просто так, але все разом — вперше
Ну, життя за рекламу це ж за бажанням — можна просто почекати і життя відновляться (всього 5 хвилин на одне життя).
Цікаво було прочитати, дякую за розповідь. Чи правильно я зрозумів, що коли перейшли на addressable ви захостили свій сервер з відео, щоб було звідки через addressable тягнути відео?
Дякую! Радий, що вийшло цікаво.
По суті так. Просто це не власний сервер у класичному сенсі, а Unity CCD — remote hosting/CDN від Unity. Після переходу на Addressables відео стали remote content’ом і гра підвантажує їх звідти за потреби.