Я засунул Backrooms в Counter-Strike 1.6.
Я сделал для Counter-Strike 1.6 режим «Побег из Закулисья»: обе команды просыпаются в случайных точках процедурно сгенерированного лабиринта Уровня 0 и ищут светящуюся дверь EXIT. По коридорам ходит существо, которое идёт на звук выстрелов. Сервер поднят, режим играбелен. Карты генерируются полностью уникальными и меняются каждые 10 минут. Вы не встретите ни одной одинаковой карты.
Что это за режим
- Лабиринт 48×48 клеток, генерируется заново для каждой карты. Двух одинаковых не бывает.
- Обе команды появляются далеко друг от друга и далеко от выхода. Никто не знает, где EXIT.
- Нашёл дверь, прошёл в лабораторию, добежал до стальных ворот — спасён. Каждый спасшийся приносит команде очко. Спасшийся из раунда выбывает.
- Погибший возрождается через 15 секунд в случайной точке лабиринта.
- Раунд 6 минут. Кто не успел, остался на Уровне 0.
- Закупка открыта весь раунд, зона закупки — весь лабиринт. Стрелять по врагам можно и нужно, но об этом ниже.
Лор
Из внутреннего отчёта корпорации ASYNC, 198X год.
Установка открыла проход.
За проходом оказалось не другое место, а изнанка нашего: километры пустых офисных помещений без окон, без людей и без конца.
Персонал называет это «Закулисьем». Первая группа вернулась через четыре часа по своим часам и через одиннадцать дней по нашим. Второй группы нет.
Сегодня в лаборатории портала столкнулись два вооружённых отряда. Стрельба повредила установку, поле вышло из-под контроля, и всех, кто был в комплексе, затянуло внутрь.
Установка ещё держит один проход. Он светится. Над ним горит зелёная табличка EXIT.
Больше лора в игре нет, и специально его больше не будет: игроку в CS нужны правила, а не вики. Всё остальное рассказывает сама карта.
Бактерия
В лабиринте живёт то, что исследователи ASYNC назвали «Бактерией». Длинная, сгорбленная, суставчатая. Она глухо бродит по коридорам, пока не услышит шум: выстрел, топот, крик. Тогда она кричит в ответ и бежит быстрее вас. Лампы вокруг неё мигают и гаснут метров за двадцать. Пуль она не боится. Встреча заканчивается мгновенно.
Это и есть главный конфликт режима: врагов можно перестрелять, но каждая очередь зовёт её. Команда, которая идёт тихо, чаще доходит до выхода.
Технически: модель ходит по лабиринту через поиск в ширину по сетке, цель выбирает с гистерезисом (три секунды или в полтора раза более близкая цель), живых игроков предпочитает ботам. Свет секторов вокруг неё переключается движковыми light styles, поэтому темнота настоящая, а не притухание.
Что ещё здесь водится
- Провалы в полу. Падение длится три секунды, дна нет.
- Блэкаут на весь сектор. Ненадолго. Обычно.
- Силуэты на краю видимости, которые не двигаются, пока на них смотришь.
- Стук в стену из ниоткуда, шаги там, где никого нет.
- Скрытые проходы в стенах. Часть из них ведёт куда угодно, только не к выходу
Пока на этом все. Планируется добавить очень многое..
Под капотом
Генератор на Python пишет `.map` в формате Valve220: лабиринт и целиком лаборатория лежат в одной BSP, лабиринт на высоте, лаборатория глубоко внизу, между ними телепорты. Компилируется цепочкой sdHLT с `-extra`.Самое дорогое в GoldSrc оказалось не геометрия, а свет и звук.
Весь свет лабиринта разложен на 25 переключаемых стилей (сетка секторов 5×5), чтобы гасить его вокруг Бактерии по-настоящему.
У клиента около 120 статических звуковых каналов на всю карту, поэтому гул ламп стоит один на блок, а фоновые звуки лаборатории вставлены первыми в список энтить — иначе клиент их молча выкидывает.
Текстуры собираются скриптом в свой WAD, звуки частично синтезированы, частично взяты с Freesound под CC (авторы перечислены в MOTD сервера). Плагин на AMX Mod X: 4,5 тысячи строк, там раунд, счёт, спавны по максимину расстояний, аномалии.
Что не работает
- Боты не понимают телепорты и порталы. Они хорошо бегают по лабиринту, но до лаборатории доходят только люди.
- Модель Бактерии сырая. Анимаций пять, текстура одна.
- 32 слота без просадок FPS ещё не проверял. `[вписать, до скольких игроков реально гонял]`
- Стены и ковролин под референс ещё не дотянуты, пока по-настоящему похож только потолок.
- Заходить нужно из Steam-версии игры. На non-steam сборках сервер сейчас не пустит.
Разумеется, это все будет исправлено.
Как зайти?
В консоли игры:
connect 94.41.188.47:27015
Либо вы можете найти сервер, отсортировав по картам.
Что мне нужно от вас
Не «круто» и не «фу», а конкретика:
1. Сколько раундов вы поняли, куда идти, и было ли это интересно после третьего?
2. Бактерия: страшно, скучно или бесит? В каком месте?
3. Где лабиринт читается как «коробки», а не как Закулисье?
4. FPS и лаги при вашем количестве игроков.
Отвечу на всё, включая злое. Если разнесёте режим по делу, это и есть цель поста.