Радар для покемонов

Помогите, покемоны


Если вы ни разу не слышали об игре Pokemon Go, можно считать, что вам повезло. Новости о покемонах мелькают в новостных лентах, толпы людей бродят в ночи по кладбищам и воюют за сферы влияния. Только в Москве по данным МТС в Pokemon Go играет 180 000 человек, притом что в России официального запуска еще не было.


Мы в DaData.ru решили посмотреть, чем можем помочь любителям покемонов.


Pokemon Go — игра на основе дополненной реальности, способ размять ноги и весело провести время. Игрок ходит по улицам, телефон вибрирует — и на вывод камеры проецируется покемон. Очень примитивная реализация дополненной реальности, но весело. В покемона нужно кинуть покебол и поймать, и это не всегда просто — сильные покемоны не ловятся, прыгают и всячески сопротивляются.


Пикачу под прицелом


Покемоны появляются случайно в разных местах. Чтобы собрать их много и разных, приходится много ходить. Покемонов больше 150 видов, их можно тренировать, они различаются силой и редкостью. Слабые и популярные покемоны встречаются на каждом шагу, но шанс случайно встретить хотя бы одного редкого покемона стремится к нулю. Все игроки разделены на три фракции. Смысл игры — захватывать тренировочные залы (gyms), получать опыт и внутриигровое золото, повышать уровень, выращивать более крутых покемонов.


Игра еще далека от идеала. Периодически отваливаются сервера, приложение зависает. Но самое печальное, что поиск покемонов абсолютно случаен. В игре есть две иконки, которые должны облегчить поиск — «лапки» и «листики». «Лапки» показывают, какие покемоны находятся рядом с игроком, в радиусе 50–300 метров. А вот «листики», которые должны показывать точное местонахождение выбранного покемона, срабатывают далеко не всегда. В результате бесцельно блуждать можно очень долго, потому что покемоны появляются на 10–15 минут, а после исчезают.


Нашлись умельцы, которые разобрали API и сделали карту со всеми покемонами. Если хочется не просто погулять, а еще и найти крутого покемона — она сильно облегчает жизнь. Собственно, карта делает то, что должны были делать криво работающие «листики». А еще она показывает все покестопы (места, где можно бесплатно получить опыт и полезные вещи) и тренировочные залы (gyms). С картой удобно планировать маршрут и знать, какая фракция какой зал контролирует. Также можно посмотреть, на какие покестопы повесили «приманку» (lure) — игровой предмет, который в течение 30 минут притягивает крутых покемонов — и оказаться рядом, чтобы ловить их.
Все покемоны мира


У карты несколько проблем:


  • Приходится поднимать локальный сервер. Либо использовать публичный вариант, но на нем нет покемонов с окраин, а результат выглядит как «Страшный Суд» Босха.


  • Есть проблемы со вводом адресов. Гугл в целом неплохо справляется с российскими адресами, но иногда неприятно ошибается.


  • Постоянно смотреть в карту неудобно, потому что хочется понять общее направление движения. Но если не местный и адрес определился неверно, сразу и не поймешь — можно долго идти не туда и пропустить кучу покестопов и залов.

В итоге мы решили улучшить карту в преддверии выпуска игры в России. Попробовали учесть все проблемы с определением адресов и удобством использования.


Получился Покемон-радар:


Покемон-радар


  • Автоматически определяет местонахождение (браузерная геолокация).


  • Дает возможность вручную ввести адрес. Как правило, человек знает, где находится, или хотя бы может посмотреть номер соседнего дома.


  • Ввод адресов с автокомплитом (через Подсказки) — адаптирован для мобильников и десктопа, выдача релевантна городу пользователя.


  • Показывает покемонов в пешей доступности вокруг заданной точки. Если пользователь двигает экран — показывает покемонов для текущего участка экрана.


  • Показывает не все покестопы (их слишком много, замусоривают карту), а только приманки.


  • Яндекс.Карты вместо гугловых (Google Maps отличный продукт, но в России Яндекс работает немного лучше).

Мы сделали сервис исключительно для развлечения — с ним ловить покемонов интереснее. Надеемся, вам тоже пригодится.


Исходный код выложили на гитхаб.

Комментарии (10)

  • 27 июля 2016 в 15:45

    +1

    Было бы неплохо, если бы вы положили исходники на гитхаб)
    • 27 июля 2016 в 16:03

      0

      Поддерживаю. Было бы хорошо если бы разработчики выложили исходники.
    • 27 июля 2016 в 16:26

      0

      Пожалуйста: https://github.com/hflabs/pokemon

  • 27 июля 2016 в 15:55 (комментарий был изменён)

    0

    Сервера покемонов прилегли, к сожалению: http://downdetector.com/status/pokemon-go
    Очень вовремя : –)
  • 27 июля 2016 в 15:55

    0

    У меня не работает. Выдает ошибку:
    Не получилось загрузить ಠ_ಠ
  • 27 июля 2016 в 16:03

    0

    Есть более удобная штука на Android, без использования сервера https://github.com/omkarmoghe/Pokemap
    • 27 июля 2016 в 16:05

      0

      Без использования сервера никак: –) Она тянет покемонов с серверов Niantic (разработчик покемонов) — как и все остальные.
      • 27 июля 2016 в 16:16

        0

        Само собой с сервером Niantic, но для поднятия упомянутых сервисов нужны свои сервера, тут же просто приложение, которое делает тоже самое, но в собственном телефоне. Удобно, когда колесишь по городу на влеосипеде, не нужно браузер рефрешить каждый раз, достаточно в Split Screen открыть второе приложение с радаром, у которой авторефреш
        • 27 июля 2016 в 16:26

          +1

          Точно так же работает наш радар: ничего поднимать не надо, открыл браузер и вуаля. Авторефреш есть.
  • 27 июля 2016 в 16:29

    0

    Уже относительно давно есть ресурс https://pokevision.com/
    Но pokemonMap все же лучше.

© Habrahabr.ru