О ресурсе sec.praetorians.ws – результаты и планы на будущее…

Добрый день.

Давно не было статей в блоговом формате, посвященные игре Praetorians.

Сегодняшний пост полностью посвящен ресурсу http://sec.praetorians.ws/ - русскоязычныму ресурсу для обмена треками между игроками Praetorians.

Статья будет выстроена в следующем порядке: история создания, сложности при разработке, описание возможностей сайта и планы на будущее…

История и предпосылки

В 2008-2009 в России стал доступен «нормальный» интернет широким массам. Неудивительно, что многие поклонники игры стали пробовать свои силы не только против компьютера, но и в сети интернет. Треки, обычно, выкладывали на какие-нибудь фаилообменники. Скачать, конечно можно, но есть очень сильно раздражающие моменты: обилие рекламы, несколько действий, прежде чем скачаешь (капчи, пять раз перейти по ссылкам и пр.), да и трек удаляли через 30-45 дней после размещения…

В то время стал известен ресурс  для обмена треками одного немецкого поклонника игры (и программиста ко всему прочему, кстати, весьма не плохому) RakonDark’a - http://praetorians.abacvs.org/ (в настоящее время не работает). Ресурс был отличным, единственное, что ему не хватало – поиска. Искать только по нику игрока в 50 000 базе треков – нереально! В целом, его тогда хватало всем – и нашим, и бургам.

В 2012 (если не ошибаюсь) – ресурс http://praetorians.abacvs.org/ прекратил свое существование без всяких объявлений и выдачи треков всем желающим (а их там было не мало, даже с участием русскоязычных игроков. Кстати, мной в последствии многие были скопированы на sec.praetorians.ws).

В то время и начались серьезные разговоры о начале разработки русскоязычного ресурса по обмену треками (http://praetorians.ws/treki/#comment-14425).

В мое 2013 была выпущена первая версия трекообменника, в июне 2013 – вторая V2. V2 стала принципиально новым ресурсом: с базой данных MySQL (ранее база представляла текстовые файлы), с быстрым и удобным поиском и пр. Более подробно здесь.

 

Сложности

1) Пожалуй, главной сложностью было даже не разобраться в php на начальном уровне (для людей никогда особенно не занимавшихся программированием), а в том, чтобы разобрать детально структуру самого трека – файла с расширением «.sec».  И если бы не RakonDark – боюсь, мы бы еще долго расшифровывали… Он выложил свой упрощенный вариант трекообменника для всех желающих: http://praetorians.ws/fajly-dlya-raboty-s-trekami-s-sajta-sourceforge-net/. Там и была ключевая функция чтения файла sec, благодаря которой мы смогли получить начальную структура трека, узнать основные адреса нужных цифр. Более детальный разбор – см. в этой теме на 19 листах.

Функция чтения. Необходима для того, чтобы прочитать трек – получить цифры, кто сколько убил и потерял, сколько было построено юнитов, время игры и пр. 

2) Вторым по сложности моментом, я бы назвал ограничение на загрузку повторных треков. Например, у RakonDarka это очень просто реализовано – берется хеш файла, и если его нет в базе – то файл может быть загружен, т.е. нельзя грузить только одинаковые файлы! Например, если играло 8 человек на карте, и каждый посчитает это трек интересным и закачает на сервер – то будет 8 копий игры… А смысл?

Нами был внедрен алгоритм, который в большинстве случаев (~97-98%) правильно определяет  одинаковые бои, сохраненные разными людьми. За все время было 2 боя, которые трекообменником были ошибочно помечены, как загруженные.

3) Внедрение статистики.

Наш ресурс не только позволяет просто обмениваться треками, но и ведет статистику. В этом моменте было самое сложно в том, чтобы сделать статистику нераздельной от поиска: т.е. чтобы в любой момент можно было любые найденные треки проанализировать.

Возможности ресурса

1) Поиск

Пожалуй, это основное, чем придется пользоваться любому пользователю, решившим найти тот или иной трек.

Поиск можно вести по множеству параметров:

- версии игры (1.02, 1.05),

- ников;

-дате игры;

- выбрать турнирные игры;

- выбрать карты (их более 100);

- тип и даты;

- по количеству машин;

- по количеству загрузок и пр.

 

 

 

 

 

 

 

 

 

 

 

2) Карты

Этот раздел не основный и используется, в основном, при поиске треков на какой-нибудь конкретной карте. В первоначальной версии треко-обменника в этом разделе отображались карты, только распознанные и добавленные в базу. Сейчас же отображаются все: и не распознанные и распознанные. (К слову, не распознанных осталось всего лишь 3, и думаю, что мы их уже никогда не распознаем, т.к. карто-строители их попросту удалили)

 

3) Статистика

В этой вкладке отображаются лучшие игроки последнего месяца. Кстати, статистика обновляется в реальном времени: т.е. после того, как кто-то загрузит один из боев – статистика тут же меняется.

 

 

4) Турниры

Вкладка со всеми турнирными играми, которые только удалось найти и сохранить. Кстати, процент сохраненных игр весьма высок и превышает 90%.

 

5) Экспертиза

Эта вкладка создана специально для боев, которые оценят эксперты. Сколько всего экспертов и кто они – не знает никто. Просто при входе на сайт, у некоторых есть права для оценки боев, у некоторых нет. Комментарии к бою эксперты оставляют анонимно, нигде не фигурирует их ник или ID или еще что-то…

 

6) Кнопки

Вспомогательный раздел сайта. Т.к. в самой игре нет возможности поменять управление, то воспользовавшись данным разделом вы легко сможете настроить управление на свой лад. Конечно, можно это сделать и в «ручном» режиме у себя на компьютере, только кому охота лишний раз возиться с конвертером…?

 

Планы

Перечислю некоторые задумки…

1) Автоматизировать турнирные результаты: создать автоматически анализируемые таблицы. Т.е. загрузили бой – он автоматически пометился как турнирный, результаты были добавлены в таблицу, произведен подсчет очков и пр. Пока ест ьнекоторые сложности: все равно часть работы нужно будет делать вручную, а в задумках полностью на автомате….

2) Создать раздел автоматического аналитического анализа треков по наработкам от SK1F’a. Пока работает в тестовом варианте для узкого круга тестеров…По задумкам, скрипт будет выдавать, как нужно действовать против того или иного игрока. Т.е. анализировать его предыдущие игры, искать треки где он проиграл, искать в них слабые стороны и на основе них давать рекомендации.

 

Ну и последнее. Для всех любителей онлайн-игр: есть сайт games-two.su на котором можно найти сотни игр для двоих, довольно не плохая коллекция. Это, конечно, не в 8-ром играть против «бургов», но тоже весьма интересно…

 

Другие материалы:

Добавить комментарий