Web üzerinden klasik MAME oyunlarını oynayabileceğiniz bir site yapmayı denedim.
Sadece webde oynanabilen site örnekleri epey var gibi görünüyor, ancak ağ üzerinden oynamayı web üzerinde sorunsuz destekleyen bir site yok gibi geldiği için
ağ üzerinden oynamaya odaklanarak geliştirdim.
Öncelikle kullanıcı MAME ROM'unu yüklediğinde, yönetim tarafında ilgili ROM'da bir sorun olup olmadığı kontrol edilip onaylanırsa kullanıcılara gösteriliyor.
1P ve 2P destekleyen bir oyunsa, oyun türünden bağımsız olarak ağ üzerinden oynanabilir hale getirmeye çalıştım.
Backend : FastAPI, Radis, postgresql, wss, likvekit
Frontend : react + vite, tailwindCss
Başlangıçta ağ üzerinden oyun sırasında her emülatörü webde ayrı ayrı açıp yalnızca kullanıcının tuş girdilerini iletme şeklinde ilerledim, ancak senkronizasyon tarafında ciddi sorunlar ortaya çıktı. Yalnızca tuş girişleri birbirine iletiliyordu; karakter ayarları gibi şeyler ya da emülatörlerin yüklenme süresi farkı gibi problemler nedeniyle oyunu senkronize şekilde yürütmek gerçekten mümkün olmuyordu. Bu yüzden aklıma şu fikir geldi: ağ oyunu başladığında ekranın tamamını katılımcıların tarayıcısına doğrudan aktarmak. LiveKit'i düşündüm ve bu durumda tuş girdilerinin yalnızca web soketi üzerinden karşılıklı gönderilmesini sağladım.
Ancak o zaman senkronizasyon sorunu tamamen çözüldü ve ister shooting ister fighting oyunu olsun, ağ üzerinden oyunu hiçbir sorun olmadan oynanabilir hale getirebildim.
Tabii sorun ağ trafiği.
Hafifçe keyif alınabilsin diye oyun oynama dışında başka bir özellik eklemedim.
Bir göz atıp geliştirme önerilerinizi paylaşırsanız memnun olurum.
Henüz yorum yok.