2 puan yazan GN⁺ 2024-09-12 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2024-09-12
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

    • Glider, 68k Mac döneminin simge franchise’larından biriydi. Üzerinde yeniden çalıştığını görmek gerçekten duygulandırıcı
    • Grafikler gerçekten harika. Stilini sevdim
    • Çocukken Glider’ı gerçekten çok oynardım. Bunu söyleme fırsatım muhtemelen bir daha olmayacağı için, oyunları yaptığın için çok teşekkürler
    • Teşekkürler John. Bu depoda sevdiğim sanat, mühendislik ve tarihten biraz biraz var; en çok da sanat. Gerçekten ilham verici
  • 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

    • Artık bunu düşüneceğim, teşekkürler
  • 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 .gb homebrew 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

    • Özgün UI felsefesini koruyan ve eski tüm oyunları çalıştırabilen modern bir Palm OS telefonu olsa gerçekten harika olurdu. Emülasyon yoluyla bile mümkün olsa iyi olur
  • 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 functions
      Fonksiyonları ayıran #pragma - aklıma geldi. Artık böyle şeyler yok. Alternatif olarak kod bloklarını katlayan #pragma region var ama o aynı şey değil
    • Birinin Rust’ı PalmOS’a port etmeye çalıştığı sahne gözümün önüne geldi. Umarım öyle bir şey olmaz
  • Bunu 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

    • Geçen hafta temizlik yaparken eski Palm Tungsten E2’mi buldum. Şarj cihazını da bulursam çalıştırıp haber veririm
    • LifeDrive gerçekten tuhaf bir Palm’dı.
      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ü

    • Orijinal Palm stylus kullandığı için, parmakla kullanılan dokunmatik telefonlardan farklı olarak nişan noktasını kapatmıyordu. Ayrıca atış yönü tarafında daha fazla alan bırakmak da bir etken olmuş olabilir
  • Ç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

    • Ben de aynı hissediyorum. IIIxe’imi gerçekten severdim
      Ş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ı
    • Bildirim kontrolü, kullanabileceğiniz en güçlü kullanıcı deneyimi özelliklerinden biri. İzin verdiğim az sayıdaki bildirim için konum ve zaman temelli odak modlarını aktif biçimde kullanıyorum
  • 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