2005 yılında piyasaya sürülen ve Battlefield serisinin en sevilen oyunları arasında yer alan Battlefield 2, bağımsız bir geliştiricinin yürüttüğü projeyle yeniden hayat buluyor. Sekiz yıldır devam eden tersine mühendislik çalışmaları sayesinde oyunun istemci ve sunucu yazılımları yeniden oluşturuldu. Açık kaynak olarak yayımlanması planlanan proje, orijinal Battlefield 2 ile uyumluluğunu korurken 64 bit desteği ve farklı işletim sistemlerinde çalışma gibi yenilikleri de beraberinde getirecek.
Battlefield 2 Açık Kaynak Olarak Yeniden Hayata Dönüyor
Electronic Arts ve DICE tarafından geliştirilen Battlefield 2, çıkışının üzerinden 21 yıl geçmesine rağmen oyun topluluğunun desteğini almaya devam ediyor. LifeCoder takma adını kullanan bir geliştirici, 2018 yılında başlattığı kapsamlı çalışmada önemli bir aşamaya ulaştı. Oyunun orijinal kodlarına erişmeden yürütülen tersine mühendislik sürecinde, yazılımın çalışma mantığı analiz edilerek temel bileşenleri baştan oluşturuldu.

Projenin en önemli özelliklerinden biri, yeni yazılımın orijinal Battlefield 2 sürümüyle birlikte çalışabilmesi. Yeniden geliştirilen oyun istemcisi mevcut çok oyunculu sunuculara bağlanabiliyor. Aynı şekilde 2005 yılında yayımlanan orijinal oyun istemcisi de yeni sunucu yazılımıyla iletişim kurabiliyor. Bu sayede yıllardır kullanılan sunucu altyapısının tamamen değiştirilmesi gerekmiyor.
Geliştirme sürecinde ulaşılan aşama, yayımlanan oynanış görüntüleriyle de gösterildi. Videolarda yeni istemcinin çok oyunculu sunucuya bağlandığı, oyuncuların ekipman seçebildiği ve araçlarla harita üzerinde hareket edebildiği görülüyor. Çatışma mekanikleri ve oyunun temel işlevleri de yeniden oluşturulan yazılım üzerinde çalışıyor.

Battlefield 2’nin sunucu tarafındaki geliştirme çalışmaları büyük ölçüde tamamlandı. Dedicated server yazılımı artık 64 bit Windows uygulaması olarak derlenebiliyor. Oyuncuların kullandığı istemci ise şu anda 32 bit mimarisinde çalışıyor. Geliştirici, istemcinin de ilerleyen aşamalarda 64 bit desteğine kavuşacağını açıkladı.
Projenin yalnızca Windows bilgisayarlarda çalışması planlanmıyor. Battlefield 2’nin Linux ve macOS işletim sistemleri üzerinde yerel olarak çalışabilmesi için de hazırlık yapılıyor. Bu sürümler tamamlandığında oyunun orijinal Windows çalıştırılabilir dosyasına ihtiyaç duyulmadan farklı platformlarda oynanabilmesi mümkün olacak. Ancak söz konusu sürümlerin geliştirme süreci henüz tamamlanmadı.
Yeniden oluşturulan Battlefield 2’nin mevcut modlarla uyumlu olması da projenin önemli bölümlerinden birini oluşturuyor. Project Reality, Forgotten Hope 2 ve Special Forces gibi Battlefield 2 topluluğunda bilinen içeriklerin yeni yazılım üzerinde çalışabilmesi için uyumluluk korunuyor. Geliştirici, mevcut oyun mekaniklerini değiştirmek yerine orijinal deneyimin devam etmesini sağlayacak bir yapı üzerinde çalışıyor.
Bununla birlikte oyunun temel işleyişini değiştirmeyen bazı yeni özellikler de eklenecek. Örneğin parola korumalı çok oyunculu sunuculara daha kolay bağlanılmasını sağlayacak işlevler geliştiriliyor. Oyunun yapay zekâ sistemlerine ilişkin yeniden oluşturulan kodlar da ileride yayımlanacak açık kaynak paketinin içerisinde bulunacak.
Battlefield 2’nin resmî çevrimiçi hizmetleri, GameSpy altyapısının kapanması nedeniyle Haziran 2014’te sonlandırılmıştı. Bu gelişmenin ardından oyuncular, BF2Hub gibi topluluk tarafından geliştirilen alternatif sistemleri kullanarak çok oyunculu deneyimi sürdürdü. Yeni proje de mevcut topluluk sunucuları ve alternatif bağlantı hizmetleriyle uyumlu olacak şekilde hazırlanıyor.
LifeCoder, gerçekleştirdiği testlerden birinde orijinal Battlefield 2 istemcisini BF2Hub hesabıyla yeniden oluşturulan sunucuya bağlamayı başardı. Böylece farklı yazılım sürümlerinin aynı çok oyunculu ortamda kullanılabildiği gösterildi. Projenin mevcut oyuncu hesapları ve sunucu sistemleriyle uyumlu çalışması, geliştirme sürecinin temel parçaları arasında bulunuyor.
Güvenlik tarafında ise eski sistemlerden biri tamamen kaldırıldı. Orijinal Battlefield 2’de kullanılan PunkBuster hile önleme yazılımı, yeniden geliştirilen sürümde devre dışı bırakıldı. Bunun yerine daha güncel güvenlik çözümlerinin kullanılması planlanıyor. Ayrıca tersine mühendislik sürecinde tespit edilen yazılım açıklarının giderilmesi için çalışmalar devam ediyor.
Projenin kaynak kodlarının henüz herkese açılmamasının arkasında da bu güvenlik çalışmaları bulunuyor. Geliştirici, tespit edilen açıklar giderilmeden kodların yayımlanmayacağını belirtti. Şu anda bazı haritalarda sorunlar yaşanabiliyor ve oyunun bütün bölümleri aynı kararlılıkta çalışmıyor. Buna karşılık belirli mod geliştiricileri, çalışmalarını sürdürebilmeleri için kaynak kodlarına erişebiliyor.
Yeniden geliştirilen Battlefield 2 üzerinde bugüne kadar çok sayıda oyun testi gerçekleştirildi. Uyumluluk çalışmalarında 108 oyunun başlatıldığı kaydedildi. Ancak bir oyunun açılabilmesi, bütün bölümlerinin hatasız çalıştığı veya baştan sona oynanabildiği anlamına gelmiyor. Bu nedenle uyumluluk testlerinin geliştirme süreci boyunca devam etmesi bekleniyor.
LifeCoder, gerekli çalışmalar tamamlandığında kaynak kodlarını GitHub üzerinden GPLv3 lisansıyla yayımlayacak. Böylece diğer geliştiriciler de kodları inceleyebilecek, değiştirebilecek ve lisans koşullarına uygun biçimde kendi çalışmalarında kullanabilecek. Oyunun indirilebilir sürümleriyle birlikte otomatik güncelleme desteğinin sunulması da planlanıyor.
Bununla birlikte proje, Electronic Arts veya DICE tarafından yayımlanan resmî bir Battlefield 2 sürümü değil. Açık kaynak hâline getirilecek yazılım, orijinal kaynak kodları yerine tersine mühendislik yöntemiyle yeniden oluşturulan bileşenlerden meydana geliyor. Battlefield 2’nin telif hakkıyla korunan oyun dosyaları, haritaları ve diğer içerikleri ise hak sahiplerine ait olmaya devam ediyor.
Sekiz yıllık çalışmada son aşamaya yaklaşılmasına rağmen projenin tamamlanması için henüz kesin bir tarih verilmedi. Kaynak kodlarının genel erişime açılması ve oyunculara yönelik indirilebilir sürümlerin yayımlanması, mevcut teknik sorunların ve güvenlik açıklarının giderilmesinin ardından gerçekleşecek. Geliştirme sürecine ilişkin yeni bilgiler projenin Discord topluluğu üzerinden paylaşılacak.


