Bu, bir hobici oyun programcısı için boş zamanlarını bir oyun yaparak tatlandırmanın en keyifli yolunu araştırmamı detaylandıran bir yazı.
Gereksinimlerim: Önce Flash'a baktım, birkaç küçük oyun yaptım ama performanstan şüpheliyim. Yüzlerce ünitenin aynı anda savaşması, patlamalar ve animasyonlar dahil oldukça büyük bir strateji oyunu yapmak istiyorum. Ayrıca yakınlaştırılabilir haritalar. Adobe'nin Flash için yeni bir 3D API'sı olduğunu gördüm, ancak bunun 2D performansını da iyileştirip iyileştirmediğini bilmiyorum, MAX10 oturumlarında bu soru ile ilgili hiçbir şey bulamadım. Flash'ın büyük 2D oyunları kolayca yapmak için iyi bir teknoloji olduğunu söyleyebilir misiniz? Actionscript'i çok seviyorum ve Flash'ta her şeyin ne kadar kolay olduğunu seviyorum. Daha da kolaylaştıran birkaç motor mevcuttur.
Bunu sadece eğlence için yapıyorum ve uygun animasyon / parçacık editörleri varsa ve kullanacağım motor birden fazla platform için mevcut olsaydı daha da iyi olurdu. (böylece oyun bittikten sonra daha fazla kişi oyunumu oynayabilir). Birçok mobil platformda da kullanılabilir olmasını istiyorum. (çünkü bir sebepten dolayı dokunmatik girişi seviyorum)
XNA çerçevesini oldukça iyi biliyorum, ancak bunun için iyi bir motor yok ve sadece Windows'da çalışacak, bu da büyük bir dönüş. Daha da büyük olanı, oyunu birine her vermek istediğinizde yeniden dağıtılabilen XNA'yı yüklemeniz gerektiğidir. XNA kullanırsam, tüm araçları kendim yapmak zorunda kalırdım ve muhtemelen bunları WPF ile yapmak zorunda kalırdım. (Adobe AIR ile araçlar yapmak isterdim, ancak maalesef görüntü işleme vb. İçin API'ler Flash'ta XNA / WPF'de olduğundan çok daha kötü.) Şimdi, kendi motorumu yapabileceğimin farkındayım bu platformların her birini destekliyor, ancak açıkçası API'lerle çok fazla çalışma olacak. Sonuçta, bir oyun yapmak istiyorum, motor değil.
Yani soru şu: 2B geliştirme için kullanabileceğim bir çapraz platform (ücretsiz veya geliştirilmesi ücretsiz mi?) Var mı? Tercih ederim: C #, Actionscript. Ben araç ortalamanın üzerinde ise c ++ kullanarak sakıncası yok, ama orada böyle bir şey olduğundan çok şüphe. Lütfen bana yanlış olduğunu kanıtlayın :) Yani özet: Flash kullanmak istiyorum, ama yeterince iyi ölçeklendirilip bilmediğini bilmiyorum. Ben bir betik değilim, uygun bir IDE içinde çalışabileceğim bazı gerçek API'ler istiyorum.
Sadece bilgi için, birkaç alternatife baktım, aslında uzun zamandır arıyorum. Sonunda bir karar vermem için bana çok yardım ederdin.
Özellik açısından Flatredball motoru ideal olacaktır. Ama aletlerini denedim ve açıkçası korkunçlar. Kesinlikle kullanılamaz, kesinlikle kendiminkini yapmam gerekecekti. API'larına bakmadım, ancak araçları çok kötüyse, daha fazla bakmaya meyilli değilim.
Unity3D. Bu oldukça hoş, ama gerçekten 3D'ye ihtiyacım yok ve oldukça ... öğrenilecek çok iş var. Ayrıca farklı platformlar için kullanmanın çok pahalı olduğunu ve sadece komut dosyası aracılığıyla kodlayabildiğimi sevmiyorum. Her platformu ayrı olarak satın almalısınız. Editör kullanılabilirliği ortalama, ürün genel olarak çoğu amaç için yeterince iyi, ama kendim öğrenmek aşırıya kaçacaktı.
Shiva 3D. Yeterince iyi görünüyor, ama tekrar: Gerçekten 3D'ye ihtiyacım yok. Editör kullanılabilirliği bence Unity3D'den biraz daha kötü ve bana programlamaya nasıl başlayacağım açık değildi. Kodlama için C ++ gerektirir, bu yüzden bu da olumsuz. Eğlenmek istiyorum ve c # eğlenceli;)
SDL. Açıkçası, hala tüm bu farklı SDL uygulamalarına geçmem gerekiyordu. Ve OpenGL tarzı programlamayı sevmiyorum, sadece çirkin. Ve c ++ gerekir, bazı sarmalayıcılar olabilir biliyorum, ama sarmalayıcılar kullanmak sevmiyorum, çünkü ...
Irrlicht. Birçok özellik, ancak destek düşük gibi görünüyor ve meraklıları hedefliyor. C # bağları tekrar tekrar düşüyor. Ben bir motor meraklısı değilim, sadece bir oyun yapmak istiyorum. Bunun Irrlicht ile olduğunu görmüyorum.
Ogre3D. Çok fazla iş, sadece bir grafik motoru. Ayrıca çoklu platform desteği ve c ++.
Torque2D. Kullanmanın bir maliyeti var ve destek ve dokümantasyon hakkında çok iyi şeyler duymadım. Ayrıca her platform için ekstra maliyet.