Браузерный гейминг снова в тренде — и этот клон CS 1.6 surf тому доказательство
SURF: когда Counter-Strike 1.6 больше не нужен
Помните те времена, когда чтобы запустить игрушку, приходилось качать гигабайты установщиков, танцевать с драйверами и молиться, чтобы железо потянуло? Вот и я помню. И, честно говоря, не особо скучаю.
Недавно на глаза попался проект под названием SURF — и да, каламбур тут совершенно уместен. Это тот самый легендарный сёрфинг из Counter-Strike 1.6, только теперь он запускается прямо в браузере. Никаких загрузок. Никакой установки. Чистая физика движения, построенная на Three.js, с пиринговым мультиплеером через Trystero.
Железо и магия под капотом
Но ностальгия — это полдела. Куда интереснее то, что прячется внутри.
Разработчик воспроизвёл оригинальную физику GoldSrc pm_shared. Это означает, что ощущения от игры — один в один как в оригинале. Та самая инерция, которую ты набирал на сёрф-картах? На месте. Техника air strafing, которая отделяет новичков от мастеров? Тоже работает как надо.
Проект поддерживает классические .bsp карты: surf_ski_2, surf_green, surf_egypt и другие. А multiplayer устроен через комнаты прямого P2P-соединения — игроки связываются друг с другом напрямую, без промежуточного сервера. Это, кстати, серьёзная заявка: веб-технологии научились делать real-time мультиплеер без традиционной серверной инфраструктуры.
Почему это важно для разработчиков
Вот где начинается самое интересное для нашей аудитории.
SURF — это наглядная демонстрация того, что получается, когда скрещиваешь:
- WebGL-рендеринг (Three.js в деле)
- Пиринговые сети (Trystero рулит)
- Игровую логику на клиенте
- Возможности современных браузеров
Для стартапов и инди-разработчиков это меняет правила игры. Никаких App Store. Никакой эксклюзивности платформ. Никакого трения между игроком и игрой. Кинь ссылку — и человек уже играет.
Андерграунд инфраструктуры
Правда, есть нюанс. Никакая магия не работает в пустоте. За каждой классной браузерной игрушкой стоит крепкий хостинг.
Статика, WebSocket-соединения для real-time фич, edge-функции для матчмейкинга — всё это требует надёжной инфраструктуры. В NameOcean мы наблюдаем растущий спрос со стороны гейминг-проектов: им нужны решения, которые выдержат резкие всплески трафика (вирусные запуски — штука непредсказуемая) и при этом не разорят в периоды затишья.
Да, P2P-подход изящный, но даже пиринговым решениям нужна центральная точка координации. А координация — это серверы.
Парадокс сёрфинга
Есть в этом своя поэзия. Сёрфинг в Counter-Strike получил имя от стиля движения — скольжение по наклонным поверхностям за счёт инерции и точного контроля в воздухе. Теперь мы буквально сёрфим по вебу, чтобы играть в сёрфинг.
Управление знакомо каждому, кто хоть раз запускал CS 1.6: WASD, мышь, пробел. Продвинутые трюки — синхронизация поворотов мыши со стрейфами для набора скорости. Та же техника, что использовалась сёрферами последние двадцать лет. Разработчик даже добавил настройки качества графики — чтобы слабые машины не остались за бортом.
Что дальше?
Этот проект доказывает: браузерный гейминг перешагнул порог. Мы больше не ограничены простенькими 2D-игрушками или проектами с постоянной серверной обработкой. WebGL, WebRTC, поднимающийся WebGPU — браузер становится полноценной платформой для серьёзных игр.
Для разработчиков, которые присматриваются к браузерным решениям, это серьёзный аргумент. Аудитория есть. Технологии работают. Дистрибуция — одна ссылка.
А мне пора объяснять коллегам, почему я последний час бормочу про air strafing и сохранение импульса. Некоторые навыки не забываются — они просто ждут, когда для них откроется браузерная вкладка.