Engine open source roda Counter-Strike a 60 FPS no PSP
O OpenStrike, um FPS open-source, foi disponibilizado no GitHub pela PocketJS, permitindo que os jogadores executem uma versão de Counter-Strike no hardware do PSP, lançado em 2004. O projeto, licenciado sob MIT, entrega combate por rounds com bots, recuo de armas, tracers e suporte a mapas do formato GoldSrc, tudo em um único arquivo compatível com o Memory Stick do portátil.
O executável ocupa aproximadamente 6 MB, e o pico de uso de memória durante as partidas atinge entre 10 MB e 12 MB. A versão 0.1 do OpenStrike permanece como projeto single-player com bots e rodadas de eliminação, mas ainda não inclui networking, fase de compra, múltiplas armas e outros recursos básicos.
O código está no repositório pocket-stack/open-strike e oferece build para desktop via cargo run, além do arquivo EBOOT.PBP pronto para PSP com firmware personalizado (ou seja, desbloqueado) ou emuladores como o PPSSPP. O projeto não distribui mapas nem texturas protegidos por direitos autorais da Valve, exigindo que o jogador forneça seus próprios arquivos BSP e WAD.
O motor híbrido que combina Rust, TypeScript e SolidJS no portátil permite que o OpenStrike funcione por meio de três camadas diferentes. O motor pesado roda em Rust e cuida da física, colisões, inteligência artificial dos bots e renderização por meio do Pocket3D. As regras de round, pontuação, tabelas de armas e o comportamento tático dos bots são executados em TypeScript.
O tempo de processamento do JavaScript ficou em torno de 2 ms por quadro depois que os sinais do Solid foram ajustados para atualizar apenas os elementos modificados na interface. O processo de conversão de mapas aplica otimizações agressivas em tempo de build, permitindo que o jogo rode a 60 FPS no PSP.
As regras do jogo estão no arquivo rules.ts e o HUD no arquivo hud.tsx. Alterar qualquer um desses arquivos pode ser considerado como um mod, já que o motor não concede privilégios ao código base que não estejam disponíveis para modificações externas. Qualquer pessoa familiarizada com React ou Solid consegue modificar comportamentos do jogo sem recompilar o componente em Rust.
Com informacoes de Adrenaline.

