Teknoloji dünyası her gün bizi şaşırtan gelişmelerle karşımıza çıkıyor. Bu seferki inanılmaz başarı ise tam 22 yıl önce piyasaya sürülen ve artık bu tür bir oyunu çalıştırması beklenmeyen Sony PlayStation Portable (PSP) üzerinde ortaya çıktı. OpenStrike adını taşıyan bu proje, efsanevi Counter-Strike oyununun bir konsept kanıtı olarak yeniden hayata geçirildi.
Bu dikkat çekici uyarlamanın ardında Yifeng Wang (nam-ı diğer doodlestrike) bulunuyor. Wang, proje için özel olarak Rust tabanlı bir 3D motor olan Pocket3D'yi ve oyun kuralları ile kullanıcı arayüzü için de PocketJS JavaScript motorunu geliştirdi. Henüz konsept aşamasında olmasına rağmen, Wang, botlarla oynanan eliminasyon maçlarının oynanabildiğini belirtiyor; ancak oyunun meşhur satın alma aşamaları henüz işlevsel değil. Orijinal Counter-Strike haritalarının tamamı test edilmiş durumda ve isteyen mod yapımcıları kendi projelerini kolayca geliştirebilirler.
Geliştirilen motor, PSP'nin kendi 480x272 çözünürlüğünde, botlarla birlikte istikrarlı bir şekilde 60 FPS (saniyedeki kare sayısı) performansı sergiliyor. Bu başarıya ulaşılmasında, grafiksel öğelerin önceden işlenerek ışık haritalarının doğrudan köşe renklerine gömülmesi (gerçek zamanlı hesaplamalar yerine) büyük rol oynuyor. İlginç bir şekilde Wang, görünmeyen alanları ayırmak için daha gelişmiş modern algoritmalar yerine eski usul BSP (Binary Space Partitioning) görüntüleme yöntemini kullanmış. Bu da "bozuk değilse tamir etme" mantığına olan bağlılığını gösteriyor.
Oyun ayrıca, orijinal PSP'ye göre 4 kat daha yüksek çözünürlüğe sahip olan 960x544 çözünürlüğündeki PS Vita üzerinde de sorunsuz çalışıyor. Bu uyarlamada, ne 3D renderlama ne de 2D öğeler için herhangi bir ölçeklendirme kullanılmadan, doğrudan yerel grafikler kullanılmış. Projeyi bir masaüstü oyunu olarak da çalıştırmak mümkün ve elbette popüler PPSSPP emülatöründe de oynanabiliyor. Projeyi çalıştırmak için, tıpkı Doom'un orijinal WAD'lerini çeşitli portlarda kullanır gibi, Counter-Strike'ın kendi varlık verilerinin bir kopyasına sahip olmanız gerekiyor.
Projenin teknik mimarisi genel olarak oldukça etkileyici. Wang, "bir 3D motor yap ve haritaları yükle" kapsamının çok ötesine geçmiş. Hem Pocket3D hem de PocketJS 2D motorları genel amaçlı olarak tasarlanmış ve OpenStrike bu motorları kullanan ilk "ürün" olma özelliğini taşıyor. Kod, sunucu/istemci/olay mimarisi üzerinde çalışıyor ve olay işleme (örneğin ateş etme) render çekirdeğinden ayrılmış durumda. Bu sayede ani FPS düşüşleri engelleniyor. Oyun çevrimdışı olarak test edilebiliyor ve hemen her şeyin modlanabilirliği oldukça basit. Eğer ilgileniyorsanız, OpenStrike deposunu inceleyebilirsiniz.