Zar fizik simülasyonu uygulaması yaptım.
(apps.apple.com)Merhaba. İlk kişisel uygulamam Dicey’yi yayımladım. iOS için fizik tabanlı bir zar uygulaması.
Kızımla masa oyunu oynayacaktık ama zarımız yoktu; dijital zar uygulaması aradım, fakat gerçekten sallayıp zar atabildiğiniz bir uygulama pek yoktu. Çoğu, düğmeye basınca sayı üreten ve üzerine sadece zar atma animasyonu giydirilmiş RNG yöntemindeydi. Sallamayı algılayan uygulamalar da vardı ama yalnızca “sallandı” bilgisini biliyor, yön bilgisini kullanmıyordu. Garip geldi ve kendim yapmayı düşündüm.
Bir süre sonra ebeveyn iznine çıktım; sadece çocuk bakımıyla uğraşmak da biraz eksik gelince ve başka fikrim de olmadığından bunu yapmaya karar verdim.
Unity Physics’i pek bilmediğim için epey bocaladım. Sürtünmeyi artırınca zarın bir köşesi zemine yapışıyor, yapışmayacak hale getirince de yuvarlanmayıp sadece kayıyordu — bu ikilem yüzünden sürtünme değerini 5’ten 120’ye kadar denedim, temas noktası sayısına göre sürtünmeyi düzelttim, köşe temas edince rastgele tork verip devirdim, akla gelen her şeyi yaptım. Sonradan öğrendim ki yalnızca birkaç fizik ayarını değiştirince çözülen bir sorunmuş. ^^;
Telefon olarak Fold6 kullanıyorum; Galaxy’nin titreşimi eskisine göre iyileşmiş olsa da kısa ve net bir darbe hissi vermiyordu. iPhone titreşiminin iyi olduğunu bildiğim için ikinci el bir iPhone 14 ve MacBook Air alıp iOS’a port ederek çalıştırdım; hissiyat bir anda yerine oturdu. Bu yüzden geliştirme sırasında ana platformu iOS olarak değiştirdim.
Böyle çalışırken bir gün App Store’da dice diye arattım ve “Shake 'em Dice” adlı bir uygulamanın zaten olduğunu gördüm. Sallayıp zar atma da, zar ekleme yöntemi de benimkine benziyordu. “Bitti bu iş” diye düşündüm. Ama zaten çok zaman harcamıştım ve haptiklerin bende daha iyi olduğunu düşündüğüm için devam ettim. Apple da ilk gönderimi “mevcut uygulamalara çok benziyor” diyerek reddetti (4.3a). Bu yüzden aslında ücretli yapmayı düşündüğüm “bardak değiştirme” özelliğini farklılaştırıcı unsur olarak öne çektim ve duvara çarpınca zar sesi yerine enstrüman sesi çıkan bir bardak modu yaptım.
Bardağı sekizgene çevirdim ve her duvara do-re-mi notalarını eşledim. Zarı duvara çarptırınca o nota çalıyor. Sapan gibi çekip bırakırsanız istediğiniz duvarı hedefleyip melodi çalabiliyorsunuz; sallayınca bir sürü nota peş peşe çıkıyor, otomatik çalmayı dinleyince de müzik kutusu gibi bir his veriyor. İçeride MIDI dosyasını parse edip nota olarak kullanıyor, ses şiddetini de yansıtıp duvara vurma gücüne (=ses düzeyi) uyguluyorum. Kullanıcının doğrudan MIDI ekleyip istediği parçayı çalmasını sağlamak teknik olarak zor değil, ama bunu isteyen olur mu bilmiyorum.
Asıl kararsız kaldığım yer burası.
Birincisi, müzikli bardak yönünün doğru olup olmadığı. Daha derine gitme imkânı var (vuruş şiddetine göre farklı tını kayıtları, enstrüman ekleme, TRPG için zar toplamı hesaplama kuralları vb.). Ama en başta, zarla müzik çalmak isteyen biri gerçekten var mı bilmiyorum. Mobil zarın kendisi zaten gerçek zarın yerine geçen bir şey; talebi de pek büyük değil gibi. Kendi hoşuma gittiği için yaptım, o yüzden emin değilim. Yine de MIDI otomatik çalmayı boş boş izleyince görsel-işitsel olarak rahatlatıcı geliyor — ama bu sadece benim sevdiğim için olabilir; keyif alan tek kişi ben de olabilirim diye düşünüyorum. ^^;
Diğeriyse daha temel bir kaygı. Herkes SaaS ya da geliştirici araçları gibi para kazandıran şeyler yaparken ben büyük bir zamanı, tek başıma “bunu yapmak eğlenceli olur” dediğim şeye harcamışım. Gösterişli ya da havalı da değil, içeriği de basit; tanıtım yapılmadığını varsaysak bile indiren kimse olmayınca — acaba daha pazar potansiyeli olan başka bir konu mu bulmalıyım diye düşünüyorum.
Gelir modeli şu an tamamen ücretsiz; reklam yok, uygulama içi satın alma yok. Temel işlevlerden para almayı sevmediğim için. İleride premium bardak tasarımlarını ya da sıra dışı zarları uygulama içi satın alma yapmayı düşünüyorum, ama bunun doğru yön olup olmadığından da emin değilim.
Tamamlayıp bitirdiğim ilk proje olduğu için “çok iyi yaptım”dan ziyade, en azından bitireyim düşüncesiyle yaptım. Deneyip dürüst geri bildirim verirseniz gerçekten çok yardımcı olur.
2 yorum
Boyutu... 420MB. Keşke bir sıfır eksik olsaymış.
Haklısınız. Bir işlev sorunu değil diye sürekli ertelemiştim ama boyut optimizasyonu yapmam gerekecek. Görüşünüz için teşekkür ederim.