Статьи · Редакция GGGAME · · обновлено

Почему 3D-игры работают в браузере: WebGL простыми словами

Ещё недавно игра в браузере означала простенькую флеш-аркаду. Сегодня по ссылке загружается трёхмерная сцена с физикой и сетевым матчем. Объясняем, за счёт чего это стало возможно и что это значит для вас как игрока.

WebGL: браузер получил доступ к видеокарте

WebGL позволяет рисовать трёхмерную графику прямо на странице, используя ту же видеокарту, что и обычные игры. Браузер давно перестал быть просто читалкой текста. Он умеет строить сцену, накладывать текстуры и считать освещение.

Для игрока из этого следует простая вещь. Раз работает видеокарта, от неё и зависит плавность картинки. На ноутбуке со встроенной графикой игра пойдёт, но настройки лучше поставить пониже.

WebAssembly: скорость нативного кода

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

WebSocket: постоянная связь с сервером

Обычная веб-страница работает по схеме «запрос, ответ». Для игры этого мало: сервер должен сам присылать обновления мира много раз в секунду. WebSocket держит соединение открытым в обе стороны, и на нём работают многопользовательские матчи.

Поэтому для сетевой игры важен стабильный интернет. Высокая скорость не так нужна, как отсутствие обрывов. Мобильная сеть в метро даст рывки, даже если видео в ней грузится нормально.

Что это даёт игроку

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

Что нужно от компьютера

Свежий браузер. Chrome, Edge, Firefox и Safari последних версий справляются. Если браузер давно не обновлялся, начните с этого.

Включённое аппаратное ускорение. Оно есть в настройках браузера, и иногда его отключают, чтобы решить какую-то старую проблему. Без него видеокарта не участвует, и даже простая сцена будет тормозить.

Поменьше открытых вкладок. Каждая забирает память, а тяжёлая игра её любит.

Почему первый запуск дольше

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

Если игра не запускается

Чаще всего виноваты три вещи, и проверить их можно за пару минут.

Если после этого всё равно чёрный экран, попробуйте другой браузер. Иногда проблема живёт в конкретной сборке, и в соседнем браузере та же игра идёт без вопросов.

А телефон потянет?

Большинство современных смартфонов поддерживают WebGL, так что трёхмерная игра на них запускается прямо из мобильного браузера. Разница с компьютером в мощности и нагреве. Через полчаса активной игры телефон может начать сбрасывать частоту кадров, чтобы не перегреться. Помогает снизить качество графики и снять толстый чехол.

Где предел

Браузер ограничивает доступ к железу и объёму памяти. Поэтому гигантские открытые миры с фотореалистичной графикой пока остаются за установленными играми. Но для аркад, гонок, шутеров, MMO и ARPG возможностей давно хватает, и на портале все они работают именно так.

Читайте дальше
Играть прямо сейчас
Играть
RUSH ARENA
RUSH ARENA
Спорт · Симулятор
Играть
RUSH TANKS
RUSH TANKS
Экшен · Симулятор
Играть
WWMMORPG
WWMMORPG
MMO
Играть
GGROCKET
GGROCKET
Спорт · Аркада