
Faire tourner un FPS inspiré de Counter-Strike à 60 FPS verrouillés sur une PSP-1000 relevait surtout de la démonstration technique. OpenStrike y parvient pourtant sur le matériel d’origine, avec bots, recul, traceurs et manches à élimination.
OpenStrike PSP sur matériel d’origine
Le projet signé PocketJS n’est pas un port du jeu de Valve, mais un FPS open source construit autour d’un moteur en clean room. Les développeurs ne distribuent ni cartes ni textures protégées, et l’utilisateur doit fournir ses propres fichiers BSP et WAD compatibles depuis sa copie du jeu.

La version actuelle cible la PSP à sa fréquence maximale de 333 MHz, avec un rendu en 480 x 272, soit la définition native de la machine. L’empreinte mémoire tourne autour de 12 Mo, ce qui laisse de la marge même sur une PSP-1000 et ses 24 Mo de mémoire système accessibles à l’utilisateur.
OpenStrike reprend les bases attendues du genre : cartes classiques, bots, recul, traceurs et déroulé par rounds. En l’état, il s’agit encore d’un projet technique orienté solo, pas d’un remplaçant complet à Counter-Strike.
Le retour de Counter-Strike en miniature rappelle à quel point la série continue de servir de terrain de mesure, des machines modestes aux configurations extrêmes, comme le montre ce test sur les performances de Counter-Strike 2 avec 40 GPU.
Un moteur taillé pour les contraintes de la PSP
Le moteur confie à Rust les déplacements, les collisions, l’IA des bots, les armes et le rendu. Les règles de manches, le score, les paramètres d’armes et l’interface complète passent par TypeScript et JavaScript via le moteur embarqué QuickJS.
Le même bundle JavaScript peut d’ailleurs tourner sur PSP comme sur la version desktop. C’est un point intéressant pour la maintenance et pour le modding, PocketJS mettant aussi en avant une API JavaScript entièrement ouverte.

Pour tenir sur le GPU à pipeline fixe de la portable, OpenStrike convertit les cartes BSP de l’ère GoldSrc vers un format adapté à la machine. L’éclairage est précalculé dans les couleurs de sommets, les textures passent en palette 8 bits pour réduire la consommation mémoire, et le moteur exploite les données de visibilité précalculées des cartes afin d’éviter de traiter de la géométrie hors champ.
La version 0.1 inclut les bots et des manches d’élimination basiques. Le réseau, les phases d’achat, plusieurs armes et la navigation des bots via waypoints ne sont pas encore disponibles. Le jeu est proposé au format PSP EBOOT pour les consoles compatibles homebrew, et fonctionne aussi sous PPSSPP.
Sur le plan technique, le plus marquant n’est pas seulement la référence à Counter-Strike, mais le niveau d’optimisation obtenu sur une machine sortie il y a vingt ans. Tenir 60 FPS avec cette enveloppe mémoire sur une PSP-1000 montre qu’un moteur moderne bien ciblé peut encore exploiter proprement un matériel extrêmement contraint.
Source : VideoCardz