Battle Royale в CS:GO!

Всем привет! Это моя первая попытка написания подобного материала, прошу учесть при критике. История о том, как создавался первый Русский Battle Royale сервер в CS:GO.

Наверное почти каждый из вас уже слышал о игровом режиме «Королевская битва» (PUBG, HiZi, Fortnite, Rising of survival и т.д.).

PUBG (Скрин. взят с сайта <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fvk.com%2Faway.php%3Fto%3Dhttp%253A%252F%252Fwww.dualshockers.com%26amp%3Bcc_key%3D&postId=15393" rel="nofollow noopener" target="_blank">www.dualshockers.com</a>)
PUBG (Скрин. взят с сайта www.dualshockers.com)

Королевская битва (англ. Battle Royale) — один из жанров массовых многопользовательских онлайн-игр, совмещающий в себе элементы симулятора выживания с режимом last man standing. «Королевская битва» сталкивает большое количество управляемых игроками персонажей с минимальным набором снаряжения на ограниченной карте; игроки должны искать на карте оружие и уничтожать противников, пока в игре не останется только один. Характерной особенностью «королевской битвы» является уменьшающаяся по мере игры «безопасная зона»: чем дольше длится матч, тем меньшая часть карты остается доступной для игроков.

Компьютер не потянет =(

Я, как и многие другие, я познакомился с этим режимом благодаря PUGB, но я столкнулся с проблемой производительности ПК, и даже вложив в обновление (А компьютер и так был «нормальный») более 20 тысяч рублей я не получил желаемого результата. Но тем не менее я очень хотел играть в этот режим. Тут меня и посетила мысль — «А есть ли этот режим в CS:GO?».В тот момент единственным представителем данного мода в CS:GO был проект GO4THEKILL, но мне он не понравился поскольку это уже не наша любимая CS. Тогда я понял, что нужно исправить это недоразумение.

Первые шаги и поиск помощников.

Первое, как мне показалось на тот момент, что для этого необходимо — карта, на которой свободно смогут играть много людей и не убить друг друга в первые несколько секунд. В этом плане было все не так сложно, поскольку я уже делал карты до этого, но я понимал, что большая карта займет большое кол-во времени, а играть хотелось уже сейчас. Было принято решение взять за основу карту для мода «Голодные игры», выбор сразу пал на hg_urban_city_day, я связался с создателем этой карты, он был не против, что бы мы использовали ее и даже сделал нам метро (Его нет на основной карте). Мне пришлось изменить ее под наш мод, на это ушло около недели неторопливой работы. На этом все не закончилось, движок source «умирал» от количества объектов на карте, fps скакал от 20 до 100, нам была нужна оптимизация. К счастью, ранее, жизнь свела меня с «Костей Хролом». Костя — отличный «маппер» и много знает об оптимизации, он проделал огромную работу над картой, я сейчас не смогу описать его задачи, вот наглядная разница:

Синие стенки ограждают прорисовку геометрии. Fps повысился до 60-200.
Синие стенки ограждают прорисовку геометрии. Fps повысился до 60-200.

Следующая проблема была в реализации задуманного режима, ведь не все можно сделать через карту. Настало время искать человека, который сможет написать нам плагины для реализации таких задумок как Спуск на парашютах, рандомный спавн оружия, и самое главное — игровая зона. Было решено отправиться на HLmod за поисками кодера. Я разместил на форуме информацию о том, что ищу человека для помощи в новом проекте, что произошло дальше — одно из самых лучших событий, которое могло произойти с проектом. На мой запрос отозвался участник форума под никнеймом Diller, он очень крутой кодер.

В следующий месяц он сделал:

  • Рандомный спавн оружия с случайным количеством патронов
  • Рандомно сужающуюся игровую зону
  • Спуск игроков на парашютах
  • Зону ожидания для погибших игроков
  • Систему команд игроков (Живые за CT, мертвые за T в зоне ожидания)

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

Остановка развития проекта.

Одним утром я встал на работу, и увидел на своем телефоне оповещение от «Диллера» о том, что он не может продолжать проект и вынужден отсутствовать целый год. Не объяснив причин он скинул мне все наработки по проекту и «ушел в оффлайн», и больше не появлялся ни в стиме ни на форуме. Сколько бы я не пытался выйти с ним на связь — у меня не получалось, пришлось искать замену.

Как оказалось — его код был очень сложным, и другие коддеры просто не понимали как исправить баги, которые не успел исправить он. Часть проблем смог решать еще один мой знакомый, один из администраторов проекта strikearena — Kailo. Плагины заработали, но осталось несколько не решенных моментов, которые пришлось отложить в «долгий ящик».

Текущее состояние и планы на будущее.

На данный момент сервер функционирует, он находится в открытом тестировании, и вы можете зайти на него. Если вам интересно - оставляйте комментарий, а отправлю вам данные сервера.

Сужение игровой зоны
Сужение игровой зоны

Игровой процесс в текущем состоянии сервера:

  • Для игры нужно минимум двое игроков.
  • При входе вас забросит за Террористов, они не являются игроками и не могут покинуть игровую зону (knife arena).
  • Для игры вам (2 минимум) нужно перейти за Контр-Террористов, но не все так просто. Один из багов, которые пока не удалось решить — переход за CT, его нужно осуществить два раза подряд! Т.е. вы нажимаете «M» и выбираете CT, но вас перебросит обратно, нужно сразу же повторить действие (нажимаем «M» и выбираем CT). Только после этого вы сможете сменить команду.
  • Сервер, каждые 30 секунд, проверяет кол-во игроков за КТ. Как только их станет двое и больше — он телепортирует всех CT на основную часть карты, где и будет проходить «Королевская битва». А вот Террористы (Которые видимо не успели сменить команду) останутся на карте 35hp и будут ждать окончания битвы.
  • После смерти вас перебрасывает за Террористов и вы можете биться на ножах, но спектраторов никто не отменял, вы можете посмотреть как идет ход боя.
  • Еще один баг является ограничением движка source, игровая зона (круги) не отображаются 24/7, иногда они пропадают. НО! Если зона начала движение то их видно всегда, т.е. они пропадают только когда статичны.

Планы.

Сервер сейчас находится на нашем старом хостинге и у него всего 10 слотов, а из-за незнания бага о переходе за CT на нем никто не играет. Чтоя планирую сделать:

  • Найти кодера, для исправления багов в плагинах.
  • Исправить баг со сменой команды, всех будет перекидывть за CT автоматически перед телепортацией на основную карту.
  • Перенести сервер на новый хостинг. Все наши сервера были переведены на новый хост еще в начале декабря, это сильно повысило онлайн серверов.
  • Увеличить слоты. Слоты будут увеличены до 30-50, в зависимости от комфорта игры.
  • Уменьшить время сужения зон. Сейчас раунды немного затянуты, мы это справим)
  • Увеличить вероятность спавна оружия. Сейчас за кольт и «муху» можно душу продать, хотелось бы больше комфорта.
  • Увеличить количество патрон в запасе оружия. С этим сейчас дефицит)
  • Набрать админов для «присмотра за сервером».
  • Увеличить размер карты.

Немного скриншотов с сервера:

3636
43 комментария

Комментарий недоступен

14
Ответить

Тут нет рекламы. Ни названия сервера, ни его ip =)

4
Ответить

-2018 год
-Кто-то до сих пор использует такой стиль сообщения "-".
Уебище, скройся.

Ответить

Комментарий недоступен

10
Ответить

Это моя первая попытка написания подобного материала, прошу учесть при критике)Ок, учитываю. Перед отправкой текста нужно обязательно хотя бы поверхностно проверять его. Кинь текст в ворд и проверь всё что он подчеркнет тебе красненьким.
А еще скобочки в тексте это такое.

7
Ответить

Про ворд - согласен, поторопился. А вот про скобки - первый раз такое замечание слышу.
Спасибо за комментарий, учту.

Ответить

Скобочки в тексте — это не есть плохо. А вот злоупотребление скобочками — плохо.

)))))))

Ответить