Дневник разработчиков CSTL #1. Матчмейкинг-платформа для тренировки и проведения турниров
Напоминаем, что в дневниках разработчиков мы рассказываем о состоянии разработки, своих обещаниях и технических трудностях, с которыми мы столкнулись. Эта часть дневников посвящена разработке нашего основного продукта — системы матчмейкинга для праков, турниров и игры в одиночку или с друзьями.
Разработка системы началась почти год назад уже весьма давно — тогда она носила название eBotEX. И в основе ее лёг, как
мы уже рассказывали в прошлой части дневников, eBot от судьи ESL, который мы решили основательно доработать и написать
свой интерфейс. Вялотекущей разработкой мы сделали к весне уже более или менее рабочий прототип, который планировалось
обкатать на Тюменском этапе Кубка России 2018, но, увы, не сложилось. Правда прошлые сырые прототипы мы всё-таки использовали,
сейчас расскажем, как они применялись и где, естественно и проблемы не утаим.
Первые шаги
Дебют eBotEX состоялся еще весной 2017 года — это были финалы Cases4Real Cup May 2017, который было решено захостить нами, однако его можно было видеть и перед ним — на локальном рофлотурике Metrostroi Cup May, проведенном нами.
Тогда система была довольно нестабильна, но все-таки отработала весьма «гладко» для нас на данном этапе разработки. После этих самых «тестов» мы не побоялись использовать наработки на Cyberia 1x1 Tyumen CS:GO Cup. Естественно, мы использовали лишь ограниченный функционал, да и после мероприятий поспешно ушли в двухмесячный инактив для продолжения разработки. Вернулись мы лишь в конце октября 2017-го с мини-турниром CSTL Tyumen 2017, в рамках которого полноценно проявились первые проблемы.
Теперь о проблемах и боли
Во-первых, мы столкнулись с оверселлом на хостингах (грубо говоря, ситуация, когда хостинг продает больше ресурсов, чем имеет на самом деле), а постоянные запросы к серверу от нашего ПО лишь усугубляли ситуацию.
Во-вторых, мы столкнулись с серьезными ошибками работы системы. Например, если пинг от сервера до системы был около 120мс и выше (а система стояла на сервере в Нидерландах), то некоторые события засчитывались несколько раз или не засчитывались вовсе. Например, в паре игр один раунд засчитывался дважды.
Кстати, на том же ивенте впервые появился и худ, но об этом мы расскажем в следующий раз.
Во время этого турнира уже согласовывался следующий — Tyumen Cyber Forum 2017, до старта которого нам удалось лишь чуть уменьшить влияние пинга на матчи, и, к счастью, более эта проблема не всплывала, однако это был первый, и довольно громкий звонок потенциальных проблем.
После этого мероприятия было небольшое затишье — мы решили доделать турнирный вариант системы и… доделали. Но, к сожалению, этому турниру так и не суждено было состояться, точнее говоря, турнир состоялся, но технически мы не приняли никакого участия в его проведении.
К этому турниру система обзавелась профилями команд и игроков, научилась собирать заявки на участие в турнирах, собирать
матчевые лобби, проводить пики-баны и запускать после этого матч.







Тот самый вариант системы к Кубку Тюмени. Дизайн предполагалось полностью переработать
Хоть этот функционал и не выглядит объемно, но система стала громоздкой, сложной и дальше грозила только усложниться еще, а первые (и явно не последние) проблемы уже были на виду. Это подтолкнуло нас к довольно радикальному решению — переписать полностью программное обеспечение без использования тяжеловесных решений. О том, как будет выглядеть новая версия, мы вам расскажем в будущих дневниках.
В следующем дневнике мы Вам расскажем про HUD