Palm OS için mini golf oyunu
(ctrl-c.club)- 2024'te yeni bir Palm OS mini golf oyunu olan Captain's MiniGolf v0.6 yayınlandı ve yaklaşık iki aydan kısa süren aralıklı kodlamayla tamamlandı
- Temel nokta, oyuncuların doğrudan seviye paketi veritabanı oluşturup bunu dışa aktararak diğer kullanıcılarla paylaşabilmesi
- Gerçek bir Palm OS cihazı olmasa bile cloudpilot emülatörü ile tarayıcıda doğrudan çalıştırılabiliyor
- C ve eski Palm OS ortamı; bellek sızıntıları, poligon·yörünge hata ayıklama ve yetersiz dokümantasyon gibi geliştirme kısıtlarını yeniden ortaya koyuyor
- Kaynak kodu GPL3 lisansı ile yayınlandı ve başkalarının Palm OS oyunu geliştirirken başvuru materyali olarak kullanabileceği bir kaynak olabilir
Captain's MiniGolf v0.6 yayınlandı
- Captain's MiniGolf v0.6, 2024'te yeni yapılmış bir Palm OS mini golf oyunu
- Yazlık bir yan proje olarak başladı ve iki aydan kısa süren aralıklı kodlamanın ardından yayınlandı
- En büyük özelliği, kullanıcıların doğrudan seviye paketi veritabanı oluşturabilmesi
- Oluşturulan seviye paketleri dışa aktarılabilir ve paylaşılabilir
- Diğer kullanıcıların nasıl parkurlar tasarlayacağını görmek de beklenen eğlenceli yönlerden biri
- Palm OS cihazı olmasa bile cloudpilot emülatörü üzerinden tarayıcıda çalıştırılabiliyor
Palm OS geliştirme deneyimi ve paylaşılan kaynaklar
- Palm OS için C ile oyun geliştirirken, modern dillerdeki korumalar olmadığında küçük hataların daha büyük sorunlara dönüşebildiği bir kez daha görüldü
- Bellek sızıntıları beklenenden daha sık ortaya çıktı; poligon şekilleri ve topun yörüngesini hata ayıklamak da kolay olmadı
- İç mantığı görselleştiren bir debug build, sorunları anlamada büyük yardım sağladı
- Palm OS için dokümantasyon az olduğundan geliştirme zordu ve şu kaynaklardan yararlanıldı
- Bilinen hatalar arasında topun duvara sıkışması ve ana oyun alanı içinde kapalı bir duvar poligonu oluşturulduğunda arka planın veya parkur renklerinin doğru işlenmemesi yer alıyor
- Planlanan iyileştirmeler arasında seviye silme·taşıma, seviye paketi silme·paylaşma ve ekran boyutuna göre dinamik çözünürlük desteği bulunuyor
- Mevcut çözünürlük şu anda 160x160'a sabit
- Palm OS 5 yüksek çözünürlüklü cihazlarda 320x320 olarak çalışıyor
- Tüm kaynak kodu GPL3 lisansı ile yayınlandı
- İlk taslak Palm Zire 72 üzerinde yazıldı
1 yorum
Hacker News yorumları
1990’larda Macintosh için iki kez mini golf oyunu yapmaya başlamıştım ama hiçbirini tamamlayıp yayımlayamadım.
Son zamanlarda neredeyse 35 yıllık kaynak kodunu kurtarıyor ve emülatörde kullanmak için disk imajları hazırlıyorum. İlk siyah-beyaz MiniGolf denemesi burada: https://github.com/EngineersNeedArt/SoftDorothy-UnfinishedTa...
İkinci deneme, programlama becerilerim daha geliştiğinde yaptığım renkli sürümdü ve Volume 2’ye girecek. Şu anda o disk imajını bir araya getiriyorum
Harika!
Topun deliğe düşme animasyonu eklemeyi düşünüp düşünmediğini merak ettim. Videoda, top ile delik yeterince örtüşür örtüşmez yeni seviye yükleniyor gibi görünüyor.
Kullanıcı açısından topun gerçekten içeri girdiğini görmek çok daha tatmin edici olurdu. Sonraki seviye yüklenmeden önce başarı hissi de daha güçlü olur
Harika iş, teşekkürler!
Son zamanlarda Palm OS veya başka retro homebrew çalıştırılabilir dosya biçimlerinin nostaljiden öte gerçek bir kullanım alanı olabileceğini düşünmeye başladım.
Palm OS
.prc, itch.io’daki.gbhomebrew ROM’lar gibi şeyler masaüstünde, iOS’ta, Android’de ve gerçek oyun cihazlarında çalışabiliyor; çevrimdışı verimli çalışıyor, dikkat dağıtmıyor ve uygulama içi satın alma ihtimali de yok.Örneğin Apotris’e bakınca, yıllar içinde birçok resmi Tetris sürümü satın aldım ve muhtemelen almaya devam edeceğim, ama bu neredeyse her konsolda çalıştırılabilen çok pürüzsüz bir uygulama. RetroArch Web gibi WASM tabanlı GBA emülatörleri ve modern tarayıcıların yerleşik gamepad desteği sayesinde, kurulum yapmadan neredeyse her bilgisayarda oynanabiliyor.
Üstelik tek bir bağımsız çalıştırılabilir dosyaya sahip olmanın ve bunun 1, 10, 20 yıl sonra da yüksek olasılıkla çalışacak olmasının verdiği bir güven var. Sevdiğim birçok iOS oyunu veya web indie oyunu için bunun geçerli olmayacağını düşünüyorum
1999 civarında PalmOS için kod yazmıştım. Özellikle aklımda kalan şey uygulama test etme yöntemiydi.
Sanırım emülatörün bir özelliğiydi; yazılıma sürekli olaylar gönderiyordu. Ayrıntıları unuttum ama örneğin 1.000 olaya dayanırsa geçti sayılıyordu, 10 bin iyiydi, 100 bin ise mükemmel seviyedeydi.
Kendimi oldukça iyi bir C++ programcısı sanıyordum; o aracı kullanınca uygulamanın ne kadar hızlı çöktüğünü görmek beni şoke etmişti. Epey alçaltıcı ve göz açıcı bir deneyimdi.
Böylesine basit bir aracın hataları ortaya çıkarmakta ne kadar etkili olduğunu sık sık hatırlarım; ama günümüzün çok görevli, internete bağlı cihazlarında aynı şekilde işleyecek bir yöntem değildir herhalde.
Hatırladığım bir başka şey de CodeWarrior’ın, mevcut kaynak dosyasındaki tüm fonksiyonları gösteren açılır kutuya sahip ilk IDE olmasıydı. Üretkenlik açısından oldukça büyük bir ilerlemeydi.
Ek olarak, 2010’da Japonya’dayken hâlâ Palm Tungsten kullanıyordum. Palm için çok basit bir Japonca sözlük uygulaması vardı; temel vuruş sırası ve yön kurallarını öğrendiğinizde, stylus ile gördüğünüz karakteri taklit ederek eşleşen kanjileri arayabiliyordunuz. Tabelalardaki bilmediğim kanjileri taklit ederek yolumu bulma işini epey çözebilmiştim
> drop-down box with all the functionsFonksiyonları ayıran
#pragma -aklıma geldi. Artık böyle şeyler yok. Alternatif olarak kod bloklarını katlayan#pragma regionvar ama o aynı şey değilBunu gerçek donanımda çalıştırabilir miyim diye düşünürken, BlackBerry’ye geçtiğimde Palm LifeDrive’ıma ne olduğunu hiç bilmediğimi fark ettim.
O küçük, kalınca PDA’yı özlüyorum. Zamanına göre gerçekten inanılmazdı.
https://en.wikipedia.org/wiki/LifeDrive
Bir yandan, önceki cihazlara kıyasla sinir bozucu yükleme süreleri yüzünden ondan nefret ediyordum. Bunun nedeni, başlangıçta her şeyi RAM/ROM’da tutacak şekilde tasarlanmış ve başta dosya/blok tabanlı bellek kavramı hiç olmayan bir OS’nin, neredeyse her beklenmedik bellek erişiminde sabit diski uyandıran bir yapıya sahip olmasıydı. Boyutu da görece büyüktü.
Öte yandan 4GB idi. İkiden fazla filmi tamamen içine sığdırabiliyordunuz. Wi-Fi’lı ilk Palm olması da güzeldi.
Genel olarak benim için Palm’ın modern akışı hızla kaçırdığının bir sembolü gibi görünüyordu. Örneğin Symbian kullanılabilirlik açısından Palm OS ile kıyaslanamazdı ama OS bakış açısından çok daha ilerideydi; sonrasında da elbette iPhone ve Android geldi
Gerçekten çok hoşuma gitti, özellikle sanat tasarımını sevdim. Harika iş.
Şahsen değiştirmek isteyeceğim şey, nişan alırken fareyi ters yöne hareket ettirmenin daha doğal hissettirmesi. Eski Miniclip mini golf oyunlarının çoğu böyle yapardı.
Özgür ve açık kaynak oyunları seviyorsanız Neverball ve Neverput’ı öneririm. Neverput, grafikleri fena olmayan bir 3D golf simülatörü
Çok güzel! Sayende IIIxe’imi özledim
Hatalı anıların pembe filtresinden bakınca, taşınabilir cihazlarda üretkenliğin zirvesine yakın bir şey olabilir. Sürekli yanımda taşıyıp aklımda tutmam gereken şeyleri hatırlatacak kadar işlevseldi ama dikkati dağıtan bildirimlerden tamamen yoksundu
iPhone’un beni sürekli rahatsız etmemesi için onu sessize alıp sakinleştirmem biraz zaman aldı; Palm’da ise varsayılan davranış isteğe bağlıydı. Bir şeyi bildirmesini özellikle söylemezsen sessiz kalırdı
Gerçekten geri dönmem gerekse dönmem ama bir yandan da özlüyorum
Şimdi dönüp baksam kullanıcı deneyimi karşısında dehşete düşebilirim ama o zamanlar üretkenliğimi ciddi biçimde artırmıştı. El yazısı giriş dili de gerçekten iyiydi. Hatta onunla rapor bile yazmıştım
Dizüstü bilgisayar taşımadan otobüste ya da yoldayken yazı yazabilmek harikaydı. Müthiş cihazlardı
Hoşuma gitti! Kısa bir öneri: Bir sonraki seviyeyi yüklemeden önce topun deliğe girdiği anı göstermeye biraz zaman tanınsa iyi olur. Oyuncudan o tatmin hissini almak sinir bozucu olabilir
İlginç bir proje. Bellek sızıntıları veya hata ayıklama gibi sorunlar, sanıldığından çok daha fazla oyun geliştirmede yaygın
Bu sorunların önemli bir kısmını Unreal, Unity, Godot gibi oyun motorları soyutladı; ama C, OpenGL ve bellek kısıtlarıyla oyun geliştiriyorsanız, özellikle donanım sınırları dayattığında, aynı erken dönem deneme-yanılmalarını yaşayabilirsiniz
Seviye düzenleyici güzel bir unsur. Nasıl uygulandığını merak ediyorum; Tony Hawk serisinde de benzer türde bir özellik vardı ve Tony Hawks Pro StrCpy’ye kadar uzandı: https://icode4.coffee/?p=954
Yine de jailbreak ya da keyfi kod çalıştırma, PalmOS’ta bir mini golf yan projesinden çok daha kolay gerçekleştirilecek gibi görünüyor
Tarayıcı tabanlı emülatörde denedim; oyun gerçekten eğlenceli. Alıştırma moduna neredeyse kapılıp gidiyordum
Android, iOS ve tarayıcı için port edilmiş ya da ondan esinlenen bir sürümü olsa harika olurdu. Gerçekten eğlenceli