Как написать аналог Pokemon Go?

Знаю, вопрос звучит слегка наивно и по-нубовски, но, как бы то ни было, такова постановка задачи.

Поручили мне разработать аналог Pokemon Go. Аналог, разумеется, урезанный, никаких интерактивных боев, просто в некотором месте разместить объекты, чтобы пользователь, смотря через камеру на это место, их видел, а по клику на объект он исчезал и шла запись в базу.

Коммерческой разработкой под Android не занимался.
По основному роду деятельности пишу под веб: ASP.NET WebForms/MVC. Опыт в десктопном программировании небольшой, но есть.

Сама Java после C# меня особо не пугает.

Серверную часть вижу как SqlServer + WebApi.
Организовать получение объекта и запись в базу схваченного объекта предполагаю через WebApi.

В Android покопался, набросать какую-нибудь форму, отправить http запросы - это все меня не смущает.

Собственно, вопросы:

- Как хранить координаты объекта в базе? Дело в том, что требуется еще объект на некоторой высоте размещать. Т е широты и долготы недостаточно. Что брать в качестве параметра высоты, на которой объект находится над землей (например, в окне дома)? Высоту над уровнем моря?

- Как организовать админку, чтобы эти объекты в нужных местах размещать? Получается, нужно чтобы по клику на видимую область в камере определялась широта-долгота и писалась в базу. Или можно все-таки не ходить лично специально по местам, а расставить покемонов на основе координат?

- Интересует именно специфика Android и Api работы с камерой.
Вот этот вопрос вообще темный лес, даже не знаю, как к нему подойти. Как в PG определяется при наведении камеры, что в этом месте должен быть покемон? Отправляется запрос на внешний сервер, что в области обзора камеры находится некоторый участок, диапазон широты-долготы, по которому он ищется в базе?

- Ну и каких-нибудь полезных ссылок киньте, плз, по API работы с камерой и ее взаимодействия с GEO позиционированием.
  • Вопрос задан
  • 1011 просмотров
Пригласить эксперта
Ответы на вопрос 2
DMGarikk
@DMGarikk
Lead Software Developer
Вы задаёте вопрос по реализации п.2 классического примера с совой :)

1) Высота - да над уровнем моря, почитайте описание протокола GPS (NMEA 0183), вы же всёравно будете от него отталкиваться
2) Я вот не могу серьёзно ответить раз вы так ставите вопрос....да сейчас 21 век и чтобы записать координату в базу не нужно ходить ногами с навигатором, а можно прям руками через ваш любимый менеджер БД записать три цифры в базу и вуаля это будет отражение реального объекта на сетке координат. Яндекскарты, OSM и Googlemaps вам в руки чтобы не наугад тыкать...

дальше я уже вообще не могу ничего сказать проще реализовать задачу за вас :)
Ответ написан
riky
@riky
Laravel
в PG насколько я знаю много хаков связанных с позиционированием. например в помещении спутники почти не видны. во вторых местоположение GPS может скакать на десятки и сотни метров даже когда юзер стоит, тем более что телефоны и качество датчиков у всех отличается. поэтому в чистом виде по координатам GPS это будет не юзабельно.
PG по-моему активно используют датчики ускорения для определения перемещения на небольших расстояниях.
в общем гемороя там хватит, в лоб задача вряд ли решится, по крайней мере с таким же более менее приемлимым качеством.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы