Saya telah bekerja untuk beberapa waktu dengan Unity3d dan menemukan itu bagian 2D dengan OnGUI () atau GUITsture terlalu canggung. Juga, bahkan gim terkecil yang dilakukan di Unity3d adalah unduhan setidaknya 10MB yang terlalu banyak untuk gim 2D.
Jadi, saya sedang mencari mesin untuk 2D. Saya sudah mencoba Cocos2D tetapi hanya untuk iOS dan saya tidak ingin menulis ulang semuanya ke dalam bahasa lain untuk Android (jadi, port Java Cocos2d untuk Android bukan pilihan). Sebagai gantinya, saya ingin menulis kode sekali dan dengan sedikit kerumitan menyebarkannya di iOS, Android dan mungkin Windows Phone 7. Saya memiliki Mac dan Windows.
Untuk lebih rinci, berikut adalah persyaratan saya untuk mesin:
- harus lintas platform
- harus efisien
- harus C ++, Java, C # atau Objective C karena saya nyaman dengan mereka dan BUKAN Flash, Javascript, HTML5 karena saya bukan pengembang web
- harus memiliki komunitas besar, tutorial, perpustakaan tambahan yang mencakup sebagian besar barang yang Anda miliki saat mengembangkan di iOS atau Android secara langsung (penagihan dalam aplikasi, facebook, dll.)
- paket akhir yang dikirim harus tidak terlalu besar
- mesinnya bisa gratis, tetapi saya juga tidak keberatan membayar harga yang wajar
Saya telah menemukan mesin berikut:
- Marmalade (dan mesin IwGame di atasnya) - C ++, menemukan ulasan keseluruhan yang sangat positif dari Marmalade tetapi tidak yakin tentang IwGame. EDIT (Maret 2013) : Sepertinya Marmalade SDK sekarang menyertakan Cocos2Dx dan beberapa IDE bawaan yang membuatnya jauh lebih baik (dan biaya $ 150 per tahun untuk indie dev yang baik-baik saja dengan saya).
- Corona SDK - Lua (efisiensi diragukan), juga memerlukan koneksi internet untuk mengkompilasi kode
- Cocos2d-x - C ++, menerima banyak ulasan dari pengembang, kebanyakan positif dan banyak yang berpikir itu yang terbaik untuk 2D
- Kode partikel - Java + Eclipse, tidak menemukan ulasan atau komentar
- Moai - Lua, tidak bisa menemukan ulasan / pendapat tentang itu
- Mesin monyet - tampaknya memiliki terlalu sedikit fitur
- Haxenme - ini Flash, saya tidak pernah menggunakannya dan tidak mau
- gunakan Unity3d tetapi dengan paket 2D seperti 2D Toolkit
- port SDL ke Android (juga di sini ) dan iOS - tampaknya tidak memiliki banyak dukungan atau pengembangan saat ini (?)
- GLBasic - Bahasa dasar, saya tidak suka itu
- playN - tampaknya lebih awal dalam pengembangan (?)
- Gamvas - HTML5, tidak terlihat seperti mesin dewasa bagi saya
- Ignifuga - Python, juga tidak terlihat dewasa
- ORX - tidak yakin apakah masih dikembangkan (?)
- Construct 2 - mengingatkan GameMaker, mungkin baik untuk prototipe cepat tetapi jelas tidak untuk game tingkat industri
- XNA dan kemudian port game menggunakan ExEn (akan membutuhkan Mono Touch untuk port ke iOS dan Mono untuk Android untuk port ke Android) - C #, dan mungkin lebih banyak berpikir untuk orang-orang yang datang dari produk Microsoft seperti xBox (saya berasal dari Android). Juga, alat-alat Mono total biaya $ 800 untuk pengembang kecil
- Dampak - JavaScript, menggunakan HTML5. Saya tidak terlalu suka dengan JavaScript (mis. C # lebih disukai di Unity3d), juga tidak yakin tentang efisiensi karena berjalan di browser (?)
- GameMaker - bahasa skrip GML sendiri dan saya benar-benar ingat yang ini sebagai alat untuk non-programmer. Apakah itu benar-benar tumbuh menjadi mesin nyata, maksud saya untuk pengembangan yang serius?
- AppGameKit - C ++, namun tampaknya masih cukup baru. Belum menemukan ulasan apa pun di dalamnya
- menggunakan Cocos2D dan Objective C untuk mengembangkan hanya untuk iOS dan kemudian membuat APK untuk Android dari itu menggunakan Stella SDK . Adakah yang melakukan ini? Saya cukup yakin akan ada batasan, dan bagaimana dengan penagihan dalam aplikasi Google, AdMob dan integrasi Facebook di Android?
- Moscrif - JavaScript, sepertinya lebih untuk mantan pengembang web
- Starling - Flash 11, saya tidak terlalu suka Flash
- ND2D - belum 1.0, apakah ada banyak fitur?
Jadi, saya akan senang jika Anda dapat mengomentari pengalaman Anda dengan mesin dan menyarankan yang mana dalam daftar (atau apa pun yang saya lewatkan) adalah yang terbaik untuk persyaratan yang dijelaskan. Saya juga mungkin salah dengan kesan pertama saya tentang beberapa mesin.
Saya saat ini memikirkan Marmalade + IwGame sebagai opsi terbaik tetapi karena saya tidak punya banyak info tentang Cocos2d-x dan kode Partikel, saya tidak begitu yakin tentang itu.
Terima kasih!
EDIT (Juni 2013): Sejauh ini saya membuat 2 game 2D lintas platform dan menggunakan Unity3D dengan plugin 2D Toolkit untuk keduanya. Untuk game dengan GUI sederhana, saya menggunakan sistem GUI mandiri sederhana berdasarkan Unity sendiri. Untuk yang lebih kompleks (misalnya di mana elemen GUI dapat tumpang tindih) saya menggunakan plugin NGUI. Baru-baru ini 2D Toolkit menambahkan beberapa kelas untuk GUI yang sangat berguna karena kita harus menggunakan 2 sistem yang berbeda untuk atlas tekstur ketika menggabungkan NGUI dengan 2D Toolkit. Saya pasti akan mencobanya di game 2D berikutnya. Alasan utama memilih Unity3D untuk game 2D adalah karena saya sudah jauh ke dalam Unity3D baik dalam hal pengalaman maupun akumulasi potongan kode untuk digunakan kembali. Juga, saya membeli Unity3D pro (dengan Android Pro dan iOS Pro) untuk game 3D dan masuk akal untuk hanya membayar tambahan $ 60 untuk Toolkit 2D untuk mendapatkan game 2D juga tercakup. Sejauh ini saya tidak t menyesali keputusan saya, tampaknya sudah optimal untuk kasus saya. Satu-satunya hal yang membuat saya pusing adalah menambahkan fitur sosial dengan plugin Prime31 (Android & iOS social plugins) tetapi saya berasumsi bahwa bug mereka bukan kesalahan Prime31 tetapi Twitter / Facebook, jadi saya mungkin akan melihat bug yang sama pada mesin atau plugin lain.
EDIT (Jan 2014) : Saya kira dengan Unity 4.3 jawaban atas pertanyaan saya cukup jelas sekarang: sistem sprite baru Unity dan mungkin juga 2DToolkit mengalahkan hal lain, terutama untuk orang-orang yang (seperti saya) pernah menggunakan Unity untuk sementara waktu dan membeli versi Pro dengan add-on.