Разработчик создал полноценный порт Counter-Strike для 22-летней PSP с использованием собственного движка на Rust
Игровой движок Pocket3D обеспечивает стабильные 60 FPS в родном разрешении консоли 480x272 благодаря предварительному просчету освещения
Порт поддерживает все восемь оригинальных карт, игру с ботами и работает на PS Vita, ПК и эмуляторе PPSSPP
Архитектура проекта с разделением логики событий и рендеринга позволяет легко модифицировать игру и создавать на её основе новые продукты
Почти каждый день кто-то из энтузиастов ретросистем совершает технический подвиг, который трудно себе представить. OpenStrike — из этого ряда: концептуальная переработка культовой Counter-Strike для Sony PlayStation Portable, консоли, которой уже более двадцати лет и которая, казалось бы, не должна такое тянуть.
Источник изображения — tomshardware.com
Автор проекта разработал собственный трёхмерный движок на Rust под названием Pocket3D, а также движок PocketJS на JavaScript для игровой логики и интерфейса. Несмотря на статус концепции, матчи с ботами на выбывание уже играбельны, хотя знаменитый этап закупки оружия пока не реализован. Полный набор из восьми оригинальных карт протестирован, и моддеры смогут без труда делать свои.
Да, это Counter Strike на PSP!Да, это DevTools, инспектирующий игровой интерфейс!Да, это PocketJS! Чисто реализованный FPS-движок, полностью открытый API для модов на JavaScript, ~12 MB оперативной памяти, 60 FPS, полностью с открытым исходным кодом. ⚡️ pic.twitter.com/OprLN3E71JJuly 10, 2026
Как удалось выжать 60 кадров
Движок держит стабильные 60 FPS в родном разрешении консоли 480×272 благодаря предварительной обработке ресурсов: карты освещения запекаются прямо в цвета вершин, вместо того чтобы считаться в реальном времени или при загрузке уровня. Приём старый, но для железа такого класса — единственно возможный.
Любопытно, что автор сохранил классический метод отсечения невидимой геометрии BSP вместо более современных алгоритмов. Решение прагматичное: на статичных уровнях с фиксированной геометрией двоичное разбиение пространства до сих пор остаётся чрезвычайно дешёвым по вычислениям — принцип «не чини то, что работает» здесь оправдан полностью.
Где это ещё запускается
Игра работает и на PS Vita, где эффективное разрешение вчетверо выше — 960×544, — причём с нативной отрисовкой и трёхмерной графики, и двумерных элементов, без грубого масштабирования. Проект можно собрать как обычное настольное приложение и, разумеется, запустить на популярном эмуляторе PPSSPP.
Важный юридический нюанс: для запуска потребуется собственная копия игровых ресурсов Counter-Strike — ровно как порты Doom требуют оригинальные WAD-файлы. Код открыт, а вот содержимое игры остаётся за пользователем, и именно это позволяет проекту существовать легально.
Архитектура интереснее самой игры
Впечатляет именно инженерная часть. Автор вышел далеко за рамки «сделать движок, который грузит карты»: оба движка универсальны, а OpenStrike — лишь первый продукт на их основе. Код построен по схеме сервер/клиент/события, причём обработка событий (например, выстрелов) отделена от ядра отрисовки, что предотвращает резкие просадки кадров. Игру можно тестировать офлайн, и почти всё поддаётся модификации через открытый JavaScript-интерфейс.
По сути перед нами не столько ностальгический порт, сколько готовая платформа для портативных шутеров — и вот это уже способно породить целую волну самодельных проектов на старом железе.
Что изменилось в проекте
Разработка переехала в отдельную организацию на GitHub и обзавелась более внятной структурой: игровая логика исполняется движком на базе QuickJS, а интерфейс собран на JSX — то есть привычными веб-инструментами. Уточнились и цифры: 60 кадров держатся на консоли с частотой 333 МГц при расходе около 12 МБ оперативной памяти.
Главного пока по-прежнему нет — этап закупки оружия не работает, и именно он назван следующим шагом. Без магазина в начале раунда это остаётся демонстрацией возможностей движка, а не полноценной игрой, хотя набор классических карт, боты, отдача и трассеры уже на месте.













