Огляд технології доповненої реальності на прикладі Pokémon Go
Сьогодні навряд чи знайдеться людина, яка не чула про гру Pokemon GO. Одні стали її фанатами, інші не шкодують критики. Так чи інакше, гра набирає популярності.
Сьогодні я хочу поговорити саме про те, як ця гра працює і як віртуальні герої з’являються в заданих точках на карті.
Технологія доповненої реальності — це реальність, доповнена віртуальними об’єктами за допомогою комп’ютера.
Доповнену реальність давно використовують у військовій промисловості — наприклад, у HUD-дисплеях бойових винищувачів, які інформують пілота про технічний стан літака та про цілі супротивника. Сьогодні такі дисплеї можна зустріти в автомобілях преміумкласу: вони виводять основну інформацію про стан машини просто на лобове скло. HUD-дисплеї знайшли застосування й у рекламі — агенції пропонують клієнтам інтерактивні вітрини, побудовані на цій технології.
На ринку мобільних застосунків уже були рішення, що використовували доповнену реальність для геолокації, але такого суспільного розголосу вони не викликали. Років десять тому компанія Layar розробила однойменний браузер доповненої реальності. Ідея була в тому, щоб «оживити» навколишні об’єкти. Наприклад, купуючи пачку чипсів, ви могли навести на неї смартфон і отримати додаткову інформацію (відео, анімовану картинку). Проте, попри креативність ідеї, браузер не прижився. Проблема не в самій ідеї, а у способах відтворення доповненої реальності. Річ у тім, що заради додаткової інформації про товар доводиться виконати чимало додаткових дій, але головна незручність — потреба тримати смартфон у руках, коли ви робите щось інше. Тобто варто розуміти: читаючи газету чи купуючи пачку чипсів, користувач віддає пріоритет не додатковій інформації у вигляді доповненої реальності, а самому продукту (купівлі чипсів або читанню газети). А от в іграх із доповненою реальністю користувач віддає пріоритет часу на ігровий процес зі смартфоном, тому доповнена реальність не спантеличує, а розширює межі ігрового світу.

Технологія доповненої реальності — це не просто інтеграція віртуального контенту в реальний світ. Це контейнер суміжних технологій, які супроводжують процес віртуалізації світу.
Щоб доповнити реальність, Pokemon GO використовує одразу кілька технологій. Перша — геолокація. У сучасних пристроях із визначенням розташування дає раду GPS-приймач: за даними супутників обчислюються координати на місцевості. Але самих лише координат замало — треба розуміти, на якій висоті над рівнем моря пристрій, а ще знати, де північ, під яким кутом пристрій зараз тримають і з якою швидкістю він рухається. Друге місце тут — за датчиками: гіроскопом, акселерометром, компасом, альтиметром.
Отже, якщо простежити ігровий процес Pokemon GO, можна зрозуміти, у який момент спрацьовує кожна з цих технологій. Під час запуску гра підключається до сервера, і саме тоді ваш пристрій вмикає GPS-приймач та намагається визначити координати. Після підключення гравець бачить свій аватар на карті міста. Координати вашого розташування передаються на центральний сервер, який за внутрішнім закритим алгоритмом визначає, у якій частині карти розмістити покемона. Найімовірніше, алгоритм оцінює щільність гравців на одиницю площі й генерує відповідну кількість контенту.
Коли ви знаходите покемона на карті й вирушаєте на його пошуки, гра передає телеметрію вашого пристрою на центральний сервер. Швидкість переміщення, напрям руху, висота над рівнем моря — усе це потрібно, щоб згенерувати контент у заданій точці. Коли гравець дістається місця призначення й починає активно видивлятися «звіра» на екрані смартфона, роззираючись навсібіч, сервер у цей момент обробляє телеметрію пристрою. Він отримує дані про геолокацію гравця, про те, у який бік спрямований пристрій і на якій він висоті. Далі в певній точці генерується контент. Напевно, виникає питання: навіщо тут висота? Тут усе просто: якщо обмежитися лише супутниковими даними, то під час генерації контенту гра не розуміє, на якій висоті має розміщуватися віртуальний об’єкт. Тож без альтиметра покемон може опинитися на висоті 20-поверхового будинку — і гравець його просто не побачить.
Продовжуючи тему доповненої реальності, згадаю технологію позиціонування віртуального контенту на основі розпізнавання зображень (маркерів). Коли ви наводите камеру смартфона на заздалегідь підготовлений маркер, програма класифікує його й накладає згори заздалегідь заготовлений контент. У Pokemon GO розробники такого механізму розміщення покемонів не реалізували. Покемон, якого ви бачите, не прив’язаний до реального об’єкта — він просто виводиться окремим шаром поверх видошукача камери, створюючи ілюзію присутності в просторі. Обійти покемона довкола не вийде: він завжди буде на певній віртуальній відстані від гравця й дивитиметься на нього. Втім, відсутність цього механізму компенсує ігрова механіка, за якої підходити до персонажа й не треба. Віртуальний улюбленець і має бути на відстані від гравця, щоб той міг спробувати спіймати його покеболом.
Підсумовуючи, можна впевнено сказати: сьогодні на ринку ігор із доповненою реальністю Pokemon GO посідає перше місце. Водночас багато інді-розробників взялися за власні проєкти на новій технології, тож найближчим часом ми побачимо нові ігрові рішення. Чи зможе Pokemon GO втримати лідерство — покаже час, а поки що мільйони користувачів у всьому світі далі збирають віртуальних персонажів у найнесподіваніших місцях своїх міст.

