Города 2.0 — теперь на карте!
02.07.2009 технологии мои проекты
В кэше гугла осталась моя статья, переношу её к себе, пока информация не исчезла окончательно. Хабр в топку, перехожу в режим чтения :)
Старая добрая игра в города на новый лад выглядит примерно так:
Люди делятся на две категории: одни сидят на трубах, а другим нужны деньги одним не терпится посмотреть, как это выглядит, а другим не терпится узнать, как это устроено. Первые могут сразу кликать по картинке выше и вливаться в игру, остальным я всё расскажу ниже.
Как это устроено?
Игра представляет собой типичный или атипичный мэшап, собранный с помощью нескольких чудесных инструментов:
- Геокодер от Яндекса
Хорош тем, что исправляет ошибки, поэтому игра как бы угадывает желание игроков. Можно написать Акапулька вместо Акапулько или Масква вместо Москвы. Также снимается проблема неоднозначности названий типа Ростов-на-Дону (или Ростов на Дону?). Хорошая штука, в общем. - Static API Яндекс.карт
Тут всё понятно: именно в соответствии с этим API выводится сама карта на сайте и рисуются на ней линии с метками. - WEB 2.0 трубы Yahoo Pipes
Часть логики повешена именно на трубы, так как это просто и удобно. Труба делает запрос к геокодеру, и отправляет архивный пост в Twitter. - Фотографии из Panoramio
В полной версии игры ссылки с городов ведут именно на фотки вокруг координат, которые были определены геолокатором. Работает всё чётко, пока сбоев не было. UPD: теперь ссылки ведут на maps.google.com с включением фоток из Panoramio и описаний Wikipedia. - Twitter API для архива и подсчета ходов
Работает не слишком стабильно, к сожалению. Видимо, Twitter не справляется с нагрузками. UPD: удалил нафиг Twitter из цепочки, он не выдержал тысячу запросов в сутки. - Калькулятор дистанций
Оказывается, для рассчета расстояний между точками на планете придумано довольно много формул. Для игры используется формула, учитывающая эллипсоидность нашего шарика. - + Немного смекалки и кода на PHP.
Что дальше?
На самом деле это лишь начало, приятный итог двухдневной работы. Игра в скором времени переедет на новый домен, и тогда же появится множество новых возможностей:
- Командные игры в классическом варианте и с километражом.
- Игра с духом сайта.
- Рейтинги рекордов (max и min).
- Регистрация (по желанию, для накопления очков).
- Более подробная и актуальная информация о каждом городе на страницах сайта.
- В буржуйской версии наряду с Panoramio будет использоваться Yahoo PlaceMaker и другие API.
- Множество интересной статистической информации и даже видео из нескольких тысяч последних ходов.
Естественно, для реализации всего вышеперечисленного проект будет переписан с нуля для оптимизации производительности и для исключения проблем с лимитами сервисов.
Почему Хабр?
Что здесь было в оригинальной статье, можете найти в кэше гугла. Я получил трафик и много интересных комментариев (тоже читайте в кэше, пока не поздно). Всем спасибо.
Комментарии
Комментирование этой статьи закрыто.
Список Ruby compatible хостинг площадок тоже из кулуаров инета вытащить бы ;)
Kudryavsky, как маленький, ей богу. Юзай Google.
Клёвый мешап, на хабре не смог проплюсовать ибо «мышь серая», то есть нулевая карма :) Поставлю плюсик здесь!
тормоз, все-таки в одном месте это собрать – удобнее будет ;) Очень полезная и интересная инфа.
Секции «Когда?» не хватает :)
Нужно чтобы в городах оканчивающиеся на буквы Ы/Ъ/Ь, заменялись автоматически на предпоследнюю букву.
Можно вопрос?) В Городах, больше 20000км не набрать?
Fewal, есть несколько городов на «Ы».
Remizz, а как?
И на букву «Й» тоже есть, например «Йемен», хотя это уже государство
Хм, тогда даже и неинтересно что один чувак постоянно в рекордах висит))
Кстати, программка не принимает города из двух слов без дефиса, типа Нижний Новгород.
Remizz, принимает. Может быть не все, но это больше от геокодера зависит.
kudryavsky, успел вытащить про Ruby-хостинг из кэша bing.
Она и на Новгород просто ругается
krundetz.
Потому что нет такого города Новгород. Он официально зовётся Великий Новгород.
Чой-то непонятная игра какая-то.
Пытался на «Улан-Удэ» ввести «Эль-Калафате», это в Аргентине. Это почти 19732 км. Не вводится никак. Случайно нажал на «Отправить» когда там была буква «Э». Нашелся город «Э» где-то в Европе. Что за бред?!
Почему бред? Значит есть город Э в Европе.
Почему не дает выбрать город если есть несколько городов с этим наименованием? Хотел Крайстчерч в Новой Зеландии, мне выбрало само Крайстчерч в Великобритании. Нечестно.
Да, это неправильно, согласен. В следующей версии можно будет выбирать.
Читал, что было продано несколько копий этой игры.
Купить можно?
Стоимость?
Уже нельзя.
понял :)
после городов Алматы, Караганды и т.п. заставляет вводить город на букву Ы, а таких не существует насколько я знаю
Стыд и срам! Профессор, а ничего не знает ;)