Jump to content
Korean Random
shizzard

Сервис подбора взвода: алгоритмы и идеи

  

44 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

Вы кроме заголовка, и то, по диагонали, что-нибудь читали?

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

  • Downvote 4

Share this post


Link to post

Short link
Share on other sites

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

 

У WG нет (и, исходя из их позиции "процент побед - мера всего", не будет):

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

Share this post


Link to post

Short link
Share on other sites

, c ним бесполезно что либо обсуждать, глянь на него - тут. Еще пару таких раз и уйдет в бан. 

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

У WG нет (и, исходя из их позиции "процент побед - мера всего", не будет):

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

 

хм, видать ты обнову новую не видел, где в командном бою как раз и подбирают противников по рейтингу.

 

У WG нет (и, исходя из их позиции "процент побед - мера всего", не будет):

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

 

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

  • Downvote 2

Share this post


Link to post

Short link
Share on other sites

, c ним бесполезно что либо обсуждать, глянь на него - тут. Еще пару таких раз и уйдет в бан.

[off topic]

'Трудно быть Богом:'

ad628f9dfa27a8482a58f160bf609698.jpg
[/off topic]

Share this post


Link to post

Short link
Share on other sites

так ни кто и не взялся за мод?

могу помочь с базой заявок на взвод.

Share this post


Link to post

Short link
Share on other sites

так ни кто и не взялся за мод?

могу помочь с базой заявок на взвод.

Работа идет. Не вижу смысла отчитываться о работе в этой теме.

О какой базе заявок идет речь?

Share this post


Link to post

Short link
Share on other sites

Работа идет. Не вижу смысла отчитываться о работе в этой теме.

О какой базе заявок идет речь?

Мне интересно почитать, как там дела идет :)

Может коротко расскажешь, что да как?

Share this post


Link to post

Short link
Share on other sites

 Не вижу смысла отчитываться о работе в этой теме.

А где следить за новостями? Дайте ссылочку

Edited by leecher88

Share this post


Link to post

Short link
Share on other sites

А где следить за новостями? Дайте ссылочку

Ну мы нигде дневника разработчиков не ведем, если вы об этом. Смысла не вижу как раз потому, что вы первые тут отписались за полгода.

 

Мне интересно почитать, как там дела идет :)

Может коротко расскажешь, что да как?

Для начала стоит сразу пояснить, что этот проект - just for fun. 

 

С самого начала над проектом Squadder.net работал я один. Время - свободное от работы. Пару месяцев назад к проекту присоединился еще один человек, который на этом фоне изучает программирование с моей помощью. В настоящий момент я занимаюсь переездом в Минск, поэтому времени еще меньше стало. Так что не стоит ожидать каких-то быстрых результатов в ближайшее время.

Если кому интересна техническая часть:

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

Сам сервис поделен на несколько независимых приложений.

Hydra: сервис для работы с WG PAPI. Предоставляет для остальных приложений "умную" очередь для отправки запросов к API. Умеет приоритеты запросов, умеет работать в лимитами от WG (N запросов в M секунд). Возможно, этот сервис выйдет отдельным приложением - нужно только подумать об интерфейсе.

Charon: сервис, бесконечно сливающий данные игроков. Умеет выделять "мертвые" идентификаторы (несуществующие аккаунты, аккаунты с небольшим количеством боев), разбивает игроков на сто шардов по их рейтингу. В каждом шарде примерно одинаковое количество игроков. Записывает данные в riak.

Styx-N: серверы кластера riak.

Sisyphus: сервис, кластеризующий игроков (также в бесконечном цикле) в каждом из сотни шардов. Алгоритм кластеризации - k-means по евклидовой метрике. Задача - получить 100к кластеров игроков, примерно по 2000 игроков в каждом кластере.

Hades: сервис, который работает с кластерами, а также предоставляет веб-интерфейс для пользователей системы. При запросе поиска загружает в память кластер, к которому принадлежит пользователь, и с помощью рекомендательных алгоритмов выделяет подходящих во взвод игроков.

Все общение между приложениями осуществляется с использованием механизмов erlang.

Сейчас готовы сервисы Hydra (полностью) и Charon (частично). Изначально данные игроков предполагалось хранить в MySQL, но из-за неудобной работы с этой базой и определенных сложностей с шардингом мы переезжаем в riak. Для полноценной работы Charon осталось лишь дописать механизмы шардинга и решардинга данных.

Все сервисы работают на 5-долларовых инстансах digitalocean.

Если есть какие-то вопросы - велкам. Если есть люди, которые умеют в erlang - велкам. Если вы умеете в программирование, но не умеете в erlang - http://learnyousomeerlang.com и велкам.

Edited by shizzard
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Ну мы нигде дневника разработчиков не ведем, если вы об этом. Смысла не вижу как раз потому, что вы первые тут отписались за полгода.

Смысл есть)) так тема не съедет отслеживаемых и будет маячить в новых на форуме, и интересующиеся подтянутся) Из новостей интересны этапы разработки и тестирование, конечно))

Share this post


Link to post

Short link
Share on other sites

Смысл есть)) так тема не съедет отслеживаемых и будет маячить в новых на форуме, и интересующиеся подтянутся) Из новостей интересны этапы разработки и тестирование, конечно))

Этапы разработки?

Ну разрабатывается это все локально, конечно. Стейджинг работает на digitalocean.

Короткие итерации, таски висят на гитхабе в приватных репозиториях. Например для Charon список задач сейчас выглядит так: http://i.imgur.com/BBwNJCP.png

Я не знаю, что тут еще можно по этапам разработки сказать. Есть задача, я ее пилю. Скоро товарищ еще подтянется, будем пилить вместе :)

По тестированию все сложнее. Юнит-тесты пишутся, но функциональное и интеграционное тестирование еще не оформлено. Маловато вменяемых CI сервисов для эрланга, к сожалению, а Travis CI стоит каких-то безумных денег для pet project. Ну и потом, тестирование работы сервиса в целом - это довольно сложная задача. Как я могу узнать, что человек А действительно подходит человеку Б? Но, конечно, определенные думки есть. Работать с тестированием, оптимизацией и затачиванием алгоритмов будем когда все будет уже более-менее готово.

Share this post


Link to post

Short link
Share on other sites

@shizzard, а не думали сделать это опенсорсом и интегрировать с XVM? Сервис был бы взрывным, если бы был доступен как как фича прямо в XVM, а не в браузере =)

Edited by Krab Age

Share this post


Link to post

Short link
Share on other sites

@shizzard, а не думали сделать это опенсорсом и интегрировать с XVM? Сервис был бы взрывным, если бы был доступен как как фича прямо в XVM, а не в браузере =)

Опенсорс будет. Если не целиком, то частями точно. Просто целиком открывать код сервиса я не вижу смысла - разве что в познавательных целях. Поднять такой сервис на коленке не выйдет, нужны довольно специфичные скиллы. 

Вот Hydra может быть полезна товарищам, которые пользуются PAPI, только я никак не могу вменяемый интерфейс придумать (сейчас обращение к Hydra идет через механизмы эрлангового кластера). Если сделать интерфейс в виде http-endpoint, то это будет очень удобно - делаешь запрос как обычно, только api.wargaming.net или что там у ВГ меняешь на урл Hydra. Проблема в том, что большое количество висящих http-коннектов - это не есть гут. Надо что-то асинхронное и простое. Если есть идеи - буду рад выслушать.

Интеграция в xvm? Опять же не вижу смысла никакого. Совершенно разные задачи решают эти сервисы. Это все равно, что прицел включить в xvm или какую-нибудь озвучку. Ну и вообще, интеграция в клиента может быть возможна когда ВГ даст вменяемый клиентский API, чтобы из мода можно было вызвать окна чата или получить статус игрока - онлайн или нет. До этого момента интеграция будет крайне неполной и никому ненужной.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...