Unity3d ile bir süre çalıştım ve 2D parçası OnGUI () veya GUITextures ile çok beceriksiz buldum. Ayrıca, Unity3d'de yapılan en küçük oyun bile en az 10MB indirmedir ve bu da bir 2D oyun için çok fazladır.
Şu anda 2D için bir motor arıyorum. Cocos2D'yi denedim ama sadece iOS ve Android için başka bir dile her şeyi yeniden yazmak istemiyorum (yani Android için Cocos2d Java portu bir seçenek değil). Bunun yerine, kodu bir kez yazmak istiyorum ve en az güçlükle iOS, Android ve muhtemelen Windows Phone 7'de dağıtın. Hem Mac hem de Windows'um var.
Daha ayrıntılı olmak gerekirse, işte motora olan gereksinimlerim:
- çapraz platform olmalı
- verimli olmalı
- Onlarla rahat olduğum için C ++, Java, C # veya Objective C olmalı ve bir web geliştiricisi olmadığımdan beri Flash, Javascript, HTML5 DEĞİL
- doğrudan iOS veya Android'de geliştirirken sahip olacağınız şeylerin çoğunu kapsayan geniş bir topluluğa, öğreticilere, ek kitaplıklara sahip olmalıdır (uygulama içi faturalandırma, facebook vb.)
- son teslim edilen paket çok büyük olmamalıdır
- motor ücretsiz olabilir, ama aynı zamanda makul bir fiyat ödemeyi de umursamıyorum
Aşağıdaki motorları buldum:
- Marmalade (ve üstünde IwGame motoru ) - C ++, Marmalade hakkında genel olarak çok olumlu eleştiriler buldu, ancak IwGame hakkında emin değilim. EDIT (Mart 2013) : Görünüşe göre Marmalade SDK şimdi Cocos2Dx ve bazı daha iyi hale getiren bazı dahili IDE içeriyor (ve benimle iyi indie dev için yılda 150 $ maliyeti).
- Corona SDK - Lua (verimlilik şüphesi), ayrıca kod derlemek için internet bağlantısına ihtiyaç duyuyor
- Cocos2d-x - C ++, geliştiricilerden çok sayıda yorum aldı, çoğunlukla olumlu ve çoğu 2D için en iyisi olduğunu düşünüyor
- Parçacık kodu - Java + Eclipse, herhangi bir inceleme veya yorum bulunamadı
- Moai - Lua, coud için herhangi bir yorum / görüş bulamadı
- Maymun motoru - çok az özelliğe sahip gibi görünüyor
- Haxenme - bu Flash, hiç kullanmadım ve istemiyorum
- Unity3d kullanın ancak 2D Araç Seti gibi 2D paketlerle
- Android ( ve burada ) ve iOS için SDL bağlantı noktaları - çok fazla destek veya mevcut gelişime sahip görünmüyor (?)
- GLBasic - Temel dil, hoşuma gitmedi
- playN - geliştirme aşamasında gibi görünüyor (?)
- Gamvas - HTML5, bana olgun bir motor gibi görünmüyor
- Ignifuga - Python, olgun görünmüyor
- ORX - hala geliştirilip geliştirilmediğinden emin değilim (?)
- Construct 2 - GameMaker'ı hatırlatır, hızlı prototipler için uygun olabilir, ancak kesinlikle endüstri düzeyindeki oyunlar için uygun olmayabilir
- XNA ve sonra ExEn kullanarak oyunu liman ( Android için port için iOS ve Mono için Android için Mono Touch gerekir ) - C #, ve muhtemelen xBox (Microsoft'tan geliyorum) gibi Microsoft ürünlerinden gelen insanlar için daha fazla düşünülmektedir. Ayrıca, bu Mono araçlarının küçük geliştiriciler için toplam 800 $ maliyeti
- Etki - JavaScript, HTML5 kullanır. JavaScript (örneğin Unity3d üzerinde tercih edilen C #) içine değilim, ayrıca tarayıcıda çalıştığı için verimlilik konusunda emin değilim (?)
- GameMaker - kendi betik dili GML ve ben aslında bunu programcı olmayanlar için bir araç olarak hatırlıyorum. Aslında gerçek bir motora mı dönüştü, yani ciddi gelişme için mi?
- AppGameKit - C ++, yine de oldukça yeni görünüyor. Üzerinde herhangi bir yorum bulunamadı
- Kullanım Cocos2D ve Objective C yalnızca iOS için geliştirmek ve daha sonra kullanarak bunu Android için bir APK çıkarmak Stella SDK . Bunu yapan var mı? Sınırlamalar olacağından eminim ve Google'ın Android'deki uygulama içi faturalandırması, AdMob ve Facebook entegrasyonu hakkında ne dersiniz?
- Moscrif - JavaScript, eski web geliştiricileri için daha çok görünüyor
- Starling - Flash 11, Flash'a pek dahil değilim
- ND2D - henüz 1.0 değil, birçok özelliği var mı?
Bu nedenle, motorlarla olan deneyimlerinizden yorum yapabilir ve listede hangisinin (veya özlediğim başka bir şeyin) açıklanan gereksinimler için en iyisi olduğunu önerebilirseniz mutlu olurum. Bazı motorlar hakkında ilk izlenimlerimde yanılıyor olabilirim.
Şu anda Marmalade + IwGame'i en iyi seçenek olarak düşünüyorum ama Cocos2d-x ve Parçacık kodu hakkında fazla bilgi sahibi olmadığımdan, gerçekten emin değilim.
Teşekkür ederim!
EDIT (Haziran 2013): Şimdiye kadar 2 çapraz platform 2D oyunu yaptım ve her ikisi için de 2D Toolkit eklentisi ile Unity3D kullandım. Basit GUI ile oyun için Unity'nin kendi basit bir GUI sistemi kullandım. Daha karmaşık olan için (örneğin GUI öğelerinin üst üste gelebileceği yerlerde) NGUI eklentisini kullandım. Son zamanlarda 2D Toolkit, GUI için birkaç sınıf daha ekledi, çünkü NGUI'yi 2D Toolkit ile birleştirirken doku atlasları için 2 farklı sistem kullanmak zorunda kaldı. Bunu bir sonraki 2D oyunda kesinlikle deneyeceğim. 2D oyunlar için Unity3D'yi seçmenin temel nedeni, hem deneyim hem de yeniden kullanım için birikmiş kod parçacıkları açısından zaten Unity3D'nin içinde olduğumdu. Ayrıca, 3D oyunlar için Unity3D pro (Android Pro ve iOS Pro ile) satın aldım ve 2D araçların da kapsanması için 2D Araç Seti için sadece 60 $ ödemeniz mantıklı. Şimdiye kadar yapmıyorum Kararımdan pişman değilim, durumum için en uygun gibi görünüyor. Bana baş ağrısı veren tek şey, Prime31'in eklentileri (Android ve iOS sosyal eklentileri) ile sosyal özellikler eklemekti, ancak hatalarının Prime31'in değil Twitter / Facebook'un hatası olduğunu varsayıyorum, bu yüzden muhtemelen aynı hataları görecektim başka herhangi bir motor veya eklenti.
EDIT (Oca 2014) : Sanırım Unity 4.3 ile sorumun cevabı şimdi oldukça açık: Birliğin yeni sprite sistemi ve belki de 2DToolkit, özellikle bir süredir (benim gibi) Birlik'te olan insanlar için başka bir şeyi tamamen yendi ve Pro sürümünü eklentilerle satın aldım.