TR

JumPHP, retro 2D oyunlar için PHP oyun motoru

Oyununuzu PHP ile bir kez yazın: Windows, macOS ve Linux'ta bir pencerede, ayrıca tarayıcıda, bilgisayarlarda da telefonlarda da çalışır. Ücretsiz ve açık kaynak (MIT lisansı).

JumPHP nedir?

JumPHP, PHP ile retro 2D oyunlar yazmak için bir framework'tür. Masaüstünde oyun, SDL2, OpenGL ve OpenAL eklentileriyle PHP 8.5 üzerinde çalışır: gerçek bir pencere, ses, oyun kumandaları. Tarayıcıda aynı PHP 8.5 ve aynı eklentiler WebAssembly'ye derlenir: OpenGL WebGL'e, OpenAL Web Audio'ya dönüşür ve oyun sıradan, statik bir web sayfası olur.

Her şey (PHP, Composer, Emscripten, web sunucusu, testler) tek bir komutun arkasında Docker'da çalışır: bin/jumphp.

Motorun sundukları

  • Sahneler, varlıklar, animasyonlu sprite'lar, kamera ve hazır menüler.
  • Karo haritaları (Tiled editörü ya da metin satırları), eğimler ve tek yönlü platformlarla çarpışmalar.
  • Bir eylem dosyasında tanımlanan klavye, oyun kumandası, fare ve dokunmatik kontroller.
  • Üretilmiş ya da yüklenmiş sesler (wav, ogg, mp3), müzik ve konumsal ses.
  • OpenGL / WebGL ile 3D ve son işleme, 2D'nin altında ya da üstünde.
  • Röle sunucusu üzerinden çevrimiçi çok oyunculu mod, HTTP istekleri, kayıtlar, çeviriler.
  • Ağır işler thread'lerde ya da Web Worker'larda, kareyi asla bloke etmeden.
  • Oyunu gerçekten oynayan testler ve ekran olmadan ekran görüntüleri.

Onunla neler yapabilirsiniz

Platform, arcade, nişancı ya da yarış oyunları, orijinal Amstrad CPC disklerinden 8-bit oyunların yeniden yapımları; ayrıca masaüstü uygulamaları (Tauri ile HTML sayfaları ve PHP), HTML'siz grafik uygulamalar ve komut satırı programları.

Tamamlanan bir oyun bir web sayfasına, Linux ve Windows için tek bir çalıştırılabilir dosyaya, bir yükleyiciye, bir Android ya da Apple uygulamasına dönüşür veya bu playground'da yayınlanır.

Başlayın

composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout

Yeni oyun, kendinize uyarlayabileceğiniz küçük ama eksiksiz bir platform oyunudur (menü, bölüm, oyuncu, altınlar); bin/jumphp build onu bir web sayfasına dönüştürür. Bundan sonra Docker yeterlidir: PHP, Composer ve Emscripten onun konteynerlerinde çalışır.

Ya da oyununuzu stüdyoda anlatın: Claude'unuz onu JumPHP ile yazar ve burada yayınlar. Oyun oluştur →

Daha fazlası

Sıkça sorulan sorular

JumPHP ücretsiz mi?

Evet. JumPHP, MIT lisansıyla açık kaynaklıdır; jumphp.net playground'u da hem oynamak hem yayınlamak için ücretsizdir.

Oyun yapmak için PHP kurmam gerekir mi?

Hayır. Her şey bin/jumphp komutunun arkasında Docker'da çalışır: PHP 8.5, Composer, Emscripten ve testler. Oyuncuların yalnızca bir tarayıcıya ya da oyunun çalıştırılabilir dosyasına ihtiyacı vardır.

Aynı kod masaüstünde ve tarayıcıda çalışır mı?

Evet: tarayıcı, WebAssembly'ye derlenmiş aynı PHP 8.5'i ve aynı eklentileri çalıştırır. Birkaç kural yeterlidir: kareyi asla bloke etmemek ve ağ ile dosyalar için motoru kullanmak.

Composer paketleri kullanılabilir mi?

Evet, saf PHP ile yazılmış olmaları koşuluyla: tarayıcıda ek bir PHP eklentisi bulunmaz.