Энтузиаст Ифэн Ван (Yifeng Wang) поставил перед собой задачу запустить Counter-Strike на первой портативной приставке Sony PSP, и для этого он написал сразу два игровых движка: один на Rust, а второй — на JavaScript.
Источник изображения: x.com/pocket_js
OpenStrike — это внушительный проект, представляющий собой демонстрацию возможностей запуска Counter-Strike на портативной консоли Sony PlayStation Portable (PSP) — ей уже 22 года, и она, казалось бы, технически не предназначена для подобных игр. Для создания порта энтузиаст написал собственный трёхмерный движок Pocket3D на языке Rust и движок PocketJS на языке JavaScript — для обработки игровой логики и интерфейса. Демонстрационная версия уже вполне играбельна, утверждает разработчик, хотя система покупки снаряжения пока не реализована. Зато уже протестирован полный набор из восьми оригинальных карт Counter-Strike, а также есть возможность создавать собственные уровни.
При запуске на Sony PSP движок обеспечивает стабильные 60 кадров в секунду при разрешении 480 × 272 пикселя. Для этого пришлось в значительной мере оптимизировать движок: карты освещения разработчик интегрировал непосредственно в цвета вершин, то есть эти расчёты не приходится выполнять ни в реальном времени, ни даже при запуске уровня. Энтузиаст также сохранил экономичный с точки зрения ресурсов метод рендеринга BSP (Binary Space Partitioning), избавляющий от необходимости отрисовывать невидимые фрагменты карты.
Игра также запускается на Sony PS Vita с разрешением 960 × 544 пикселя, поддерживается эмулятор PPSSPP, а также есть возможность запускать OpenStrike как обычную игру на ПК. Есть только одно условие — файлы игровых ресурсов WAD придётся искать самостоятельно. Подчёркивается, что движки Pocket3D (3D) и PocketJS (2D) являются универсальными, а OpenStrike — лишь первой реализацией игры на их основе. Код построен на архитектуре «сервер — клиент — события», причём обработка событий, например стрельбы, отделена от ядра отрисовки, то есть за просадки частоты кадров можно не беспокоиться.
Источник:


MWC 2018
2018
Computex
IFA 2018






