#lynch@tproger
Каждый из нас, скорее всего, по несколько сотен раз пользовался всемирно известной Википедией. Но наверняка хоть раз в своей жизни, вы использовали ресурс не для пополнения своих знаний, а в качестве соревновательной площадки: кто быстрее и за меньшее количество кликов перейдет от статьи ООП, например, до Ботнетов?
Вдохновившись идеей создать удобную реализацию такой игры, мы с соседом бросились за ноутбуки. Но первые две реализаци: открывать Вики во фрейме и посылать кросс-доменные запросы — не увенчались успехом. После этого наш пыл немного приутих, и вернулись мы к этому только две недели назад.
Набросав за ночь прототип игры, мы получили ошеломительные результаты — в первые дни о нас написали пост в «подслушано» нашего вуза, после чего метрика на сайте приятно удивила и расположила к дальнейшей работе над проектом! Назвать игру решили WikiWalker.
Теперь вся серверная часть и парсинг Википедии написаны на PHP. Контент мы получаем с помощью API Википедии в формате JSON, чтобы не тащить весь HTML. Таким образом, нам существенно удалось сократить время загрузки страницы. А чтобы играть стало еще интереснее, мы убрали такие разделы, как «Примечания», «Ссылки», «Литература» и «См. также», с которых легко можно было попасть на общие темы и быстро пройти до конечной статьи.
Базу данных маршрутов генерируем отдельным скриптом на питоне, который делает своеобразный поиск в глубину. Начальный список стартовых страниц мы составляем вручную по категориям. Скрипт также проводит первоначальный отбор неудачных и неинтересных путей. На данный момент у нас в базе около 4 тысяч различных маршрутов — от легких, в пару кликов, до сложных.
В планах еще достаточно много работы. Одно из нововведений, которое появится в скором времени — мультиплеер.
Следить за обновлениями и интересными маршрутами можно у нас в группе WikiWalker.
Ссылка на игру: wikiwalker.ru
А у читателей ТП хочется спросить, какие еще функции вы хотели бы увидеть в этой игре?