Oyununuz tek bir çalıştırılabilir dosya olarak
Oyununuzu hiçbir şey kurulu olmayan (ne PHP, ne Docker) birine vermek için: JumPHP onu indirilip çalıştırılan tek bir dosyaya dönüştürür, Linux ve Windows için. PHP, SDL, OpenGL ve OpenAL içindedir.
Bilgisayarınızda bir JumPHP projesi (bilgisayarınızda) ve Docker gerekir. Claude'unuz bunu sizin yerinize yapabilir: ona “oyunumun çalıştırılabilir dosyasını yap” deyin.
bin/jumphp export:standalone mon-jeu # Linux: games/mon-jeu/dist/standalone/mon-jeu-linux-x86_64
bin/jumphp export:standalone mon-jeu --windows # Windows: mon-jeu-windows-x86_64.exe
bin/jumphp export:standalone mon-jeu --linux --windows
Nasıl yapılıyor
- PHP, StaticPHP'ninkidir (micro): tek bir çalıştırılabilir dosyada PHP 8.5, JumPHP'nin eklentileriyle (SDL ve görüntü, ses ve font modülleri, OpenGL, OpenAL, gd, zip…), hepsi içine derlenmiş.
- Oyununuz (kodu, görselleri, sesleri, motor) sonuna bir PHAR arşivi olarak eklenir.
Bu PHP tüm oyunlar için aynıdır: bir kez üretilir (Linux'ta ~15 dakika) ya da JumPHP'nin yayınlanmış sürümlerinden indirilir, ardından ~/.jumphp/standalone içinde saklanır. Sonrasında bir çalıştırılabilir dosya birkaç saniyede yapılır.
Oyuncuda
İlk açılış oyunu önbelleğine açar (bir saniye), sonrakiler hemen başlar. Kayıtlar ve ayarlar oyuncunun veri klasörüne gider:
| Linux | Windows | |
|---|---|---|
| oyun | ~/.cache/jumphp/ |
%LOCALAPPDATA%\JumPHP\ |
| kayıtlar | ~/.local/share/<oyunun id'si>/ |
%APPDATA%\<oyunun id'si>\ |
Linux'ta 2013'ten bu yana her dağıtımda çalışır (glibc 2.17) ve her Linux oyunu gibi bilgisayarın ekranını (X11 ya da XWayland), OpenGL'ini ve sesini (PulseAudio, PipeWire, ALSA) kullanır. Windows'ta (10 ya da daha yenisi) kurulacak bir şey yok.
Bilmekte fayda var
- Dosya imzalı değildir: Windows “Windows bilgisayarınızı korudu” uyarısı gösterir, Ek bilgi'ye, ardından Yine de çalıştır'a tıklamak gerekir. Linux'ta indirdikten sonra:
chmod +x mon-jeu-linux-x86_64. - Windows için PHP yalnızca Windows'ta üretilebilir: GitHub tarafından üretilir (JumPHP deposundaki
standaloneworkflow'u) ve komut tarafından indirilir. - Yalnızca x86_64 işlemciler (henüz Mac ya da ARM yok).
Teknik ayrıntılar: projenizdeki docs/standalone.md.