Если вы ни разу не слышали об игре Pokemon Go, можно считать, что вам повезло. Новости о покемонах мелькают в новостных лентах, толпы людей бродят в ночи по кладбищам и воюют за сферы влияния. Только в Москве по данным МТС в Pokemon Go играет 180 000 человек, притом что в России официального запуска еще не было.
Мы в DaData.ru решили посмотреть, чем можем помочь любителям покемонов.
Pokemon Go — игра на основе дополненной реальности, способ размять ноги и весело провести время. Игрок ходит по улицам, телефон вибрирует — и на вывод камеры проецируется покемон. Очень примитивная реализация дополненной реальности, но весело. В покемона нужно кинуть покебол и поймать, и это не всегда просто — сильные покемоны не ловятся, прыгают и всячески сопротивляются.
Покемоны появляются случайно в разных местах. Чтобы собрать их много и разных, приходится много ходить. Покемонов больше 150 видов, их можно тренировать, они различаются силой и редкостью. Слабые и популярные покемоны встречаются на каждом шагу, но шанс случайно встретить хотя бы одного редкого покемона стремится к нулю. Все игроки разделены на три фракции. Смысл игры — захватывать тренировочные залы (gyms), получать опыт и внутриигровое золото, повышать уровень, выращивать более крутых покемонов.
Игра еще далека от идеала. Периодически отваливаются сервера, приложение зависает. Но самое печальное, что поиск покемонов абсолютно случаен. В игре есть две иконки, которые должны облегчить поиск — «лапки» и «листики». «Лапки» показывают, какие покемоны находятся рядом с игроком, в радиусе 50–300 метров. А вот «листики», которые должны показывать точное местонахождение выбранного покемона, срабатывают далеко не всегда. В результате бесцельно блуждать можно очень долго, потому что покемоны появляются на 10–15 минут, а после исчезают.
Нашлись умельцы, которые разобрали API и сделали карту со всеми покемонами. Если хочется не просто погулять, а еще и найти крутого покемона — она сильно облегчает жизнь. Собственно, карта делает то, что должны были делать криво работающие «листики». А еще она показывает все покестопы (места, где можно бесплатно получить опыт и полезные вещи) и тренировочные залы (gyms). С картой удобно планировать маршрут и знать, какая фракция какой зал контролирует. Также можно посмотреть, на какие покестопы повесили «приманку» (lure) — игровой предмет, который в течение 30 минут притягивает крутых покемонов — и оказаться рядом, чтобы ловить их.
У карты несколько проблем:
-
Приходится поднимать локальный сервер. Либо использовать публичный вариант, но на нем нет покемонов с окраин, а результат выглядит как «Страшный Суд» Босха.
-
Есть проблемы со вводом адресов. Гугл в целом неплохо справляется с российскими адресами, но иногда неприятно ошибается.
- Постоянно смотреть в карту неудобно, потому что хочется понять общее направление движения. Но если не местный и адрес определился неверно, сразу и не поймешь — можно долго идти не туда и пропустить кучу покестопов и залов.
В итоге мы решили улучшить карту в преддверии выпуска игры в России. Попробовали учесть все проблемы с определением адресов и удобством использования.
Получился Покемон-радар:
-
Автоматически определяет местонахождение (браузерная геолокация).
-
Дает возможность вручную ввести адрес. Как правило, человек знает, где находится, или хотя бы может посмотреть номер соседнего дома.
-
Ввод адресов с автокомплитом (через Подсказки) — адаптирован для мобильников и десктопа, выдача релевантна городу пользователя.
-
Показывает покемонов в пешей доступности вокруг заданной точки. Если пользователь двигает экран — показывает покемонов для текущего участка экрана.
-
Показывает не все покестопы (их слишком много, замусоривают карту), а только приманки.
- Яндекс.Карты вместо гугловых (Google Maps отличный продукт, но в России Яндекс работает немного лучше).
Мы сделали сервис исключительно для развлечения — с ним ловить покемонов интереснее. Надеемся, вам тоже пригодится.
Исходный код выложили на гитхаб.
Автор: HumanFactorLabs