Næsten to årtier efter at Sony PSP'en kom på markedet, har moddere presset en Counter-Strike-lignende first-person shooter ned på den aldrende håndholdte konsol. Gruppen kendt som PocketJS har udgivet OpenStrike, et open source-projekt, der bringer den centrale loop med bomb defusal og teamkamp til den bærbare konsol, der blev udgivet i 2004. Den originale PlayStation Portable, der blev lanceret i Japan den 12. december 2004 og globalt i 2005, var et teknisk vidunder på det tidspunkt med en 4,3-tommers widescreen-skærm og en specialbygget 333 MHz MIPS-processor. Men manglen på to analoge stikker gjorde det berygtet svært at spille traditionelle first-person shootere, hvilket tvang udviklere til at stole på den enkelte analoge nub og ansigtsknapperne til at sigte.
OpenStrike er ikke en direkte port af Valve’s klassiker. I stedet er det en selvstændig genskabelse bygget fra bunden ved hjælp af en specialbygget motor skrevet i programmeringssproget Rust. Denne motor håndterer bevægelse, kollisionsdetektion, botadfærd, våben og rendering. Brugergrænsefladen og scorevisning er skrevet i TypeScript og JavaScript og kører på QuickJS-motoren. Valget af Rust er bemærkelsesværdigt, fordi det er et moderne systemsprog kendt for hukommelsessikkerhed og ydeevne, men det bruges sjældent til homebrew på ældre konsoller. Det faktum, at PocketJS formåede at kompilere Rust-kode til at køre på PSP'ens MIPS-arkitektur, er en teknisk bedrift i sig selv og kræver en specialbygget toolchain og linker-scripts.
Resultatet kører på den originale PSP-1000-model med en stabil 60 billeder per sekund. Det bruger kun 12 MB hukommelse og renderer i konsollens native opløsning på 480 x 272 pixels. Modellerne er forenklede, men de visuelle signaler — bevæbnede karakterer, støvede maps, en in-game scoreboard — er øjeblikkeligt genkendelige for alle, der har spillet Counter-Strike. Modderne har også inkluderet bot-AI, så spillere kan øve sig mod computerstyrede modstandere. Våbenarsenalet ser ud til at være begrænset, men det inkluderer genkendelige stand-ins for AK-47 og M4A1, tilpasset PSP'ens begrænsede knapopbygning.

OpenStrike’s tekniske bedrift på en 22 år gammel håndholdt konsol
Bedriften handler lige så meget om optimering som om nostalgi. PSP'en var, trods dens status som en milepæl i sin tid, alvorligt underdimensioneret efter moderne standarder. Dens CPU kører ved 333 MHz, og dens GPU er en fixed-function-chip uden programmerbare shaders. At få enhver first-person shooter til at køre jævnt på den kræver omhyggelig hukommelsesstyring og skrabede assets. PocketJS formåede dette ved at holde polygontallet lavt og stole på en slank Rust-backend. Spillets hukommelsesforbrug på blot 12 MB er imponerende i betragtning af, at PSP'en kun har 32 MB RAM i alt (med 24 MB tilgængeligt til spil, efter systemet reserverer). Det efterlader plads til fremtidige udvidelser, såsom yderligere maps eller våbenmodeller.
Hvad moddet leverer i praksis
Ifølge modderne inkluderer OpenStrike bot-AI, et simpelt våbensystem og grundlæggende scoring — nok til at replikere en afslappet Counter-Strike-lignende oplevelse på bussen eller i venteværelset. Der nævnes ikke nogen officiel online multiplayer-support i udgivelsen, men projektet er open source, hvilket betyder, at fællesskabet kan udvide det. Spillets styring er blevet tilpasset PSP'en ved at bruge den analoge stikke til bevægelse og ansigtsknapperne til at sigte, mens skulderknapperne er mappet til at skyde og genlade. Dette kontrolskema ligner andre PSP-shootere som Medal of Honor: Heroes eller SOCOM: U.S. Navy SEALs Fireteam Bravo, som formåede at levere kompetente FPS-oplevelser trods hardwarens begrænsninger.
- Motor skrevet i Rust: håndterer bevægelse, kollision, bots, våben og rendering
- UI og scoresystem bygget med TypeScript/JavaScript på QuickJS-motoren
- Stabil 60 FPS på den originale PSP-1000-model med 12 MB hukommelsesforbrug
- Indbygget opløsning på 480×272 med forenklede, men genkendelige karakter- og våbenmodeller
Hvorfor dette er vigtigt ud over hardwaren
OpenStrike kommer på et tidspunkt, hvor PSP-modding-scenen stadig er aktiv, med homebrew-software og custom firmware, der stadig udvikles næsten to årtier efter konsollens udgivelse. Projektet viser, at selv efter alle disse år er udviklere villige til at presse dens grænser. Det fremhæver også den voksende tendens til at bruge Rust i spiludvikling, selv til begrænsede platforme som PSP. Selvom spillet er for simpelt til konkurrencedygtig spil, fungerer det som et proof-of-concept for moderne kodningsteknikker anvendt på retro-hardware. Projektets open source-karakter betyder, at håbefulde udviklere kan studere koden for at forstå, hvordan man optimerer Rust til indlejrede systemer, eller hvordan man skriver en grundlæggende FPS-motor fra bunden.
| Feature | Detaljer |
|---|---|
| Konsol | Sony PSP-1000 (2004) |
| FPS-mål | 60 FPS (stabilt) |
| Hukommelsesforbrug | 12 MB |
| Opløsning | 480×272 (native) |
| Motorsprog | Rust |
| UI-sprog | TypeScript, JavaScript |
PocketJS har ikke annonceret nogen planer om en fuld multiplayer-udgivelse eller en port til andre ældre konsoller. Kildekoden er tilgængelig på deres GitHub-repositorium for alle, der vil pille ved koden eller kompilere den til deres egen PSP. Foreløbig står OpenStrike som en teknisk kuriositet — et glimt af, hvordan Counter-Strike måske ville have set ud, hvis det nogensinde officielt var landet på Sonys gamle håndholdte. Det tjener også som en påmindelse om, at modding-fællesskabet fortsætter med at give nyt liv til glemt hardware og gør det, mange betragter som forældet, til et lærred for eksperimentel spiludvikling.
Kommentarer