A Counter-Strike Clone Runs at 60fps on PSP, Powered by a Rust-Based Engine
A modder has developed "OpenStrike," a Counter-Strike clone for the 22-year-old PSP. Using the Rust-based Pocket3D engine, it achieves 60fps at 480×272 resolution and is also compatible with PS Vita.
According to a report by Bruno Ferreira from Tom’s Hardware, modder Yifeng Wang (doodlestrike) has successfully developed “OpenStrike,” a Counter-Strike clone for the Sony PlayStation Portable (PSP), which was originally launched 22 years ago. Remarkably, the game runs at 60 frames per second (fps). This ambitious project is more than just a port; it involves the creation of a custom Rust-based 3D engine called “Pocket3D” and a JavaScript engine named “PocketJS.”
Project Overview
OpenStrike is a proof-of-concept project that replicates the essence of Counter-Strike on the PSP. Wang has shared detailed information about the project on his blog and GitHub repository. Currently, players can access a mode to compete against bots. While some features, such as the weapon purchasing stage, are not yet implemented, all eight original maps have been tested and are functional. Additionally, the community is expected to find it relatively easy to create custom maps.
One standout feature of the engine is its ability to maintain a smooth 60fps performance on the PSP’s limited resources (approximately 12MB of RAM) while running at the device’s native resolution of 480x272. To achieve this, graphical assets are preprocessed by baking light maps directly into vertex colors, eliminating real-time calculations. The rendering process employs the traditional Binary Space Partitioning (BSP) method, favoring a “if it isn’t broken, don’t fix it” approach over modern algorithms.
Technical Architecture
Wang’s efforts go beyond creating a simple 3D engine that loads maps; he has developed a versatile framework. The Pocket3D engine handles 3D rendering, while PocketJS operates as a 2D engine managing game rules and the user interface. These engines are not exclusively designed for OpenStrike but are intended to support future projects as well.
The architecture employs a server/client/event structure, separating event processing (such as shooting) from the rendering core. This design effectively prevents bottlenecks, which are a common cause of FPS drops. The game can also be tested offline, and it features full modding support through a JavaScript API.
Supported Platforms
OpenStrike is compatible not only with the PSP but also with the PS Vita. On the PS Vita, the game runs at the console’s effective resolution of 960x544, rendering both 3D and 2D assets in native resolution without upscaling. Furthermore, the project can run on desktop PCs and is compatible with the popular PPSSPP emulator.
To run the project, users must supply their own Counter-Strike asset data, similar to how Doom ports require WAD files.
Editorial Opinion
In the short term, this project is likely to excite the retro gaming community. By pushing the PSP hardware to its limits, it serves as a technical reference point within the modding scene. The use of a modern programming language like Rust to build an engine from scratch for legacy systems could also offer valuable insights for embedded systems development.
In the long term, such clean-room implementation approaches could set a new standard for game preservation. However, the requirement for original assets and the need for ongoing development to implement incomplete features will demand sustained commitment from developers. Given the engine’s versatility, it holds promise for applications beyond OpenStrike, though copyright issues will continue to pose challenges.
As an editorial team, we emphasize the importance of creating an environment where the achievements of individual developers can be shared without commercial pressures. Additionally, efforts to breathe new life into legacy platforms like the PSP underscore the role such projects can play in advancing our understanding of gaming history and providing educational value in technology.
References
- ” Modder successfully runs Counter-Strike clone at 60 FPS on the original Sony PSP — created his own Rust-based 3D engine to power 480 x 272 gameplay, also works on PS Vita ”, by Bruno Ferreira — Tom’s Hardware, 2026-07-14T10:00:00.000Z (ARR)
- Source URL: https://www.tomshardware.com/video-games/retro-gaming/modder-runs-counter-strike-clone-at-60-fps-on-the-original-sony-psp-openstrike-is-a-proof-of-concept-with-bot-rounds
Frequently Asked Questions
- What is required to run OpenStrike?
- You will need a PSP or PS Vita, the PPSSPP emulator, and Counter-Strike asset data obtained independently. Download the source code from the repository and configure the assets in the appropriate folder to launch the game.
- When will the weapon purchasing feature be implemented?
- It is currently not available. Developer Wang has stated that the project is in the proof-of-concept stage, and while future updates may include this feature, no specific roadmap has been shared.
- Can this engine be used for other games?
- Yes. Pocket3D and PocketJS are designed as general-purpose frameworks, allowing developers to create other FPS games using the same architecture. Additionally, full modding support via the JavaScript API is already in place.
Comments