Mesin game lintas platform 2D untuk Android dan iOS? [Tutup]

262

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.

iseeall
sumber
dan yang mana yang sudah kamu pilih? bagaimana dengan libgdx atau andEngine, kamu bahkan tidak menyebutkan tentang mereka yang kupikir paling populer
kosnkov
1
@kosnkov - Dia menetapkan persyaratan yang mencakup penulisan satu penyebaran dua kali (iOS dan Android dengan opsi Windows Phone plus). andEngine hanya untuk Android dan libgdx tidak menargetkan iOS (atau Windows Phone), sehingga tidak memenuhi syarat.
sprite
1
Saya akhirnya melakukan permainan 3d dengan plugin Unity3D dan NGUI untuk GUI. Jika saya harus melakukan permainan 2D, saya kira saya akan mengambil Cocos2d-x dan Marmelade
iseeall
1
kalau dilihat dari situs web, saya cukup yakin libgdx mendukung iOS sekarang. Masih tidak ada windows phone.
Ehtesh Choudhury
1
kenapa pertanyaan yang sangat berguna seperti ini selalu ditutup sebagai "di luar topik"? mungkin SO harus membuat platform terpisah untuk "informasi" dan pendapat
Bogdan Alexandru

Jawaban:

33

Saya sudah bekerja dengan Marmaladedan saya merasa memuaskan. Meskipun tidak gratis dan komunitas pengembang juga tidak cukup besar, tetapi Anda masih dapat menangani sebagian besar tugas menggunakan tutorialnya. (Saya akan menulis tutorial saya setelah saya juga beberapa kali).
IwGameadalah mesin yang bagus, dikembangkan oleh salah satu pengguna Marmalade. Ini bagus untuk gim dasar, tetapi jika Anda mencari beberapa gim gaming tingkat lanjut yang serius, Anda juga dapat menggunakannya Cocos2D-xdengan Marmalade. Saya tidak pernah menggunakan Cocos2D-x, tetapi ada ekstensi di Marmalade Github.
Hal baik lainnya tentang Marmalade adalah itu EDK (Extension Development Kit), yang memungkinkan Anda membuat ekstensi untuk fungsionalitas apa pun yang Anda butuhkan yang tersedia dalam kode asli, tetapi tidak di Marmalade. SAYA'

Sunting :
Marmalade sekarang memiliki alat RAD (Rapid Application Development) sendiri hanya untuk pengembangan 2D, dinamakan sebagai Marmalade Quick. Meskipun pengkodean akan berada di Lua bukan di C ++, tetapi karena itu dibangun di atas C ++ Marmalade, Anda dapat dengan mudah menyertakan pustaka C ++, dan semua ekstensi EDK lainnya. Juga Cocos-2Dxdan Box2Dekstensi sudah termasuk dalam Quick. Mereka baru-baru ini meluncurkan versi Rilis (dalam versi beta selama 3-4 bulan). Saya pikir kami Anda benar-benar hanya mencari pengembangan 2D, Anda harus mencobanya.

Pembaruan:
Unity3D baru-baru ini meluncurkan dukungan untuk game 2D, yang tampaknya lebih baik daripada mesin game 2D lainnya, karena itu GUI dan Editor. Dukungan Fisika, sprite, dll. Anda dapat melihatnya.

Pembaruan 2
Marmalade akan menghentikan SDK mereka demi produksi game in-house mereka segera. Jadi bukan keputusan bijak untuk mengandalkan itu.

cupu
sumber
Anda juga dapat membaca pertanyaan SO ini juga - stackoverflow.com/questions/12059539/cocos2d-or-iwgame
noob
Terima kasih, sepertinya Marmalade dengan Cocos2D-x di atasnya mungkin memang menjadi pilihan terbaik untuk kasus saya.
iseeall
2
Lupa [LibGDX] [1] ketika pertanyaan semacam ini muncul tidak dapat dimaafkan !!! ;) [1]: libgdx.badlogicgames.com
Ewoks
Periksa Pembaruan :-)
noob
Unreal Engine 4.3.0 juga bisa menjadi pesaing. Ini C ++ dengan editor dan semuanya.
ervinbosenbacher
43

LibGDX adalah salah satu mesin terbaik yang pernah saya gunakan, bekerja di hampir semua platform, dan melakukan dua kali lebih cepat dari cocos2d-x dalam kebanyakan tes yang saya lakukan. Anda dapat menggunakan bahasa JVM apa pun yang Anda suka. Ini tutorial 13 bagian di Java, dan ini banyak menggunakan jruby. Ada alat animasi kerangka yang bagus yang berfungsi dengannya di sini , dan alat ini telah dipanggang untuk mendukung peta TMX ubin. Kerangka kerja ui mengagumkan, dan memiliki grafik adegan dan API gaya aktor mirip dengan adegan, sprite dan tindakan cocos2d. Komunitasnya luar biasa, pembaruannya sering, dan dokumentasinya bagus. Jangan biarkan bagian java membuat Anda takut, itu cepat, dan Anda dapat menggunakan jruby atau scala atau apa pun yang Anda suka. Saya sangat merekomendasikannya untuk pekerjaan 2d atau 3d, mendukung keduanya.

Kamek
sumber
5
Sekarang LibGDX juga bekerja dengan iOS. Tetapi biayanya ~ $ 400 untuk lisensi Monotouch :)
JavaRunner
5
Pada versi 0.9.9 menggunakan RoboVM untuk iOS yang gratis
James McCracken
1
Saya telah bekerja dengan LibGDX dan cocos2dx secara ekstensif. Dan akan mengatakan cocos2dx jauh lebih baik (pengembangan + kinerja + tooling lebih cepat). Jika Anda hanya akan menggunakan android, tidak apa-apa menggunakan LibGDX jika tidak! Dukungan lintas platform LibGDX sangat-sangat buruk, yang tergantung pada RoboVM atau Xamarin. Xamarin dan RoboVM membuat kompilasi dan eksekusi keduanya sangat lambat di iOS. Akhirnya menjadi sangat sulit untuk dipertahankan.
user18853
13

Anda menyebutkan Haxe / NME tetapi Anda secara naluriah tidak menyukainya. Namun, pengalaman saya dengannya sangat positif. Tentu, API adalah implementasi ulang API Flash, tetapi Anda tidak terbatas pada penargetan Flash, Anda juga dapat mengkompilasi ke HTML5 atau aplikasi Windows, Mac, iOS dan Android asli. Haxe adalah bahasa modern yang menyenangkan, mirip dengan Java atau C #.

Jika Anda tertarik, saya sudah menulis sedikit tentang pengalaman saya menggunakan Haxe / NME: Link

zwets
sumber
Terima kasih, hanya dari artikel Anda: "jika Anda memiliki permainan HTML5 / Javascript (atau Flash / ActionScript) dan Anda ingin membawanya ke Windows, iOS dan seterusnya". Saya kira mesin ini tepat untuk pengembang web yang ingin beralih ke platform seluler.
iseeall
Haxe / NME bukan Game Engine, ini adalah platform yang membentuk bagian dari tumpukan teknologi Anda. Ini bukan untuk pengembang web yang ingin beralih ke platform seluler. Ini untuk pengembang game yang ingin membawa game mereka ke platform sebanyak mungkin tanpa harus berurusan dengan bahasa yang lebih rendah seperti JavaScript. HAXE / NME sangat kuat tetapi dari suara hal-hal, saya tidak berpikir itu yang Anda cari.
anber
12

V-Play (v-play.net) adalah mesin permainan lintas platform berbasis Qt / QML dengan banyak komponen game VML Play QML yang berguna untuk menangani beberapa resolusi layar & rasio aspek, animasi, partikel, fisika, multi-touch, gerakan, pencarian jalan dan banyak lagi. Referensi API Inti mesin ditulis dalam C ++ asli, dikombinasikan dengan penyaji kustom, permainan mencapai kinerja yang solid 60fps di semua perangkat.

V-Play juga dilengkapi dengan template permainan siap pakai untuk genre game paling sukses seperti menara pertahanan, game platform atau game puzzle.

Jika Anda penasaran dengan game yang dibuat dengan V-Play, berikut ini adalah pilihan cepatnya:

(Penafian: Saya salah satu orang di belakang V-Play)

Alex Huber
sumber
7

Ini hanya balasan dari Richard Pickup di LinkedIn untuk pertanyaan serupa saya:

Saya telah menggunakan cocos 2dx marmalade dan unity di iOS dan android. Untuk game 2d, cocos2dx adalah cara yang harus dilakukan setiap saat. Unity terlalu berlebihan untuk game 2d dan seperti yang telah disebutkan marmalade hanyalah lapisan abstraksi tipis bukan mesin game. Anda bahkan dapat menjalankan cocos2d di atas selai jeruk. Pendekatan saya adalah menggunakan cocos2dx di iOS dan android kemudian menjalankan kode cocosd2dx di masa depan di atas marmalade sebagai cara mudah untuk port ke bb10 dan memenangkan telepon 7

iseeall
sumber
7

Saya menemukan mesin game Wave yang bagus dan rapi beberapa hari yang lalu. Ia menggunakan C # dan memiliki konverter Windows Phone dan Windows Store juga yang membuatnya menjadi pengganti XNA yang hebat bagi saya

Deadcow
sumber
6

dan bagaimana dengan LibGDX dari BadLogicGames?

Ewoks
sumber
1
Saya tidak tahu libGDX berjalan di iOS. Ini memerlukan lisensi MonoDroid, yang sekarang (mungkin, saya tidak melihat aplikasi berada di bawah 32kb MSIL) $ 999 bukannya $ 399 per tahun.
ashes999
6

Check out Loom ( http://theengine.co ) adalah mesin game 2D lintas platform baru yang menampilkan kode & aset penukaran panas pada perangkat. Ini berarti bahwa Anda dapat bekerja di Photoshop pada aset Anda, Anda dapat memperbarui kode Anda, memodifikasi UI aplikasi / permainan Anda dan kemudian melihat perubahan pada perangkat Anda saat aplikasi sedang berjalan.

Berpikir ke mesin permainan lintas platform lainnya yang pernah saya dengar atau bahkan mainkan, Loom Game Engine sejauh ini merupakan yang terbaik menurut pendapat saya dengan banyak fitur hebat. Sebagian besar mesin game serupa lainnya (Corona SDK, MOAI SDK, Gideros Mobile) berbasis Lua (dengan sintaks yang aneh, setidaknya untuk saya). Loom Game Engine menggunakan LoomScripts, bahasa scripting yang terinspirasi dari ActionScript 3, dengan beberapa fitur yang dipinjam dari C #. Jika Anda pernah mengembangkan di ActionScript 3, C # atau Java, LoomScript akan terlihat akrab bagi Anda (dan saya lebih nyaman dengan sintaks ini daripada dengan sintaks Lua).

Lisensi 1 tahun untuk Loom Game Engine berharga $ 500, dan saya pikir ini harga yang terjangkau untuk setiap pengembang game indie. Beberapa minggu yang lalu menawarkan lisensi 1 tahun gratis juga. Setelah lisensi kedaluwarsa, Anda masih dapat menggunakan Loom untuk membuat dan menggunakan gim Anda sendiri, tetapi Anda tidak akan mendapatkan pembaruan lebih lanjut. Pencipta Loom sangat percaya diri dan mereka berjanji untuk terus meningkatkan bayi mereka sehingga layak untuk membeli lisensi lain.

Tanpa basa-basi, berikut adalah fitur hebat Loom:

  1. Platform silang (iOS, Android, OS X, Windows, Linux / Ubuntu)

  2. Alur kerja yang terinspirasi rel memungkinkan Anda menghabiskan waktu bekerja dengan gim Anda (satu perintah untuk membuat proyek baru, dan perintah lain untuk menjalankannya)

  3. Kompiler cepat

  4. Pengeditan kode dan aset langsung

  5. Kemungkinan untuk mengintegrasikan perpustakaan pihak ketiga

  6. Menggunakan Cocos2DX untuk rendering

  7. XML, dukungan JSON

  8. LML (bahasa markup) dan CSS untuk menata elemen UI

  9. Perpustakaan UI

  10. Ketergantungan injeksi

  11. Kerangka uji unit

  12. Fisika tupai

  13. Melihat perubahan Anda secara langsung membuat pengembangan multidevice mudah

  14. Ukuran unduhan kecil

  15. Dibangun untuk tim

Anda dapat menemukan lebih banyak video tentang Loom di sini: http://www.youtube.com/user/LoomEngine?feature=watch

Lihat juga tutorial mendalam 4 bagian ini: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting -mulai.aspx

balazs.bohonyi
sumber
5

Saya sudah mencoba AppGameKit, Ini c ++ dan Basic. Sangat mudah untuk membuat kode game 2d dalam varian Basic, dengan fisika, tabrakan, dan banyak lagi. Ini juga dalam pengembangan aktif, dan sangat murah ($ 65). Masalah utama adalah sangat sulit untuk mengkompilasi untuk Android (Anda perlu mengunduh banyak file dan mengikuti panduan sulit dan hal-hal seperti itu) Pendapat saya adalah bahwa itu belum cukup baik untuk penggunaan komersial, tetapi bagus untuk programmer indie Ada komunitas berukuran sedang

Steven Kaydn
sumber
4

Saat ini saya menggunakan Corona untuk aplikasi bisnis dengan kesuksesan besar. Sejauh game berjalan, saya mendapat kesan bahwa itu tidak memberikan kinerja yang beberapa mesin pengembangan lintas-platform lainnya lakukan. Perlu dicatat bahwa Carlos (pendiri Ansca Mobile / Corona SDK) telah memulai perusahaan lain dengan mesin pesaing; Mesin Lanica Platino untuk Appcelerator Titanium. Meskipun saya belum bekerja dengan ini secara pribadi, itu terlihat menjanjikan. Perlu diingat, bagaimanapun, bahwa ia datang dengan label harga $ 999 / tahun.

Semua yang dikatakan, saya telah meneliti Moai untuk sementara waktu sekarang (karena saya sudah akrab dengan sintaks Lua) dan sepertinya memang menjanjikan. Fakta bahwa ia dapat dikompilasi untuk beberapa platform, tidak terbatas pada lingkungan seluler, sangat menarik.

Multimedia Fusion 2 juga merupakan pesaing yang patut dipertimbangkan, mengingat kompleksitas permainan yang dihasilkan dan kinerja yang diwujudkan dari mereka. Vincere Totus Astrum ( http://gamesare.com ) muncul di benak saya.

Sean Perryman
sumber
3

Baru-baru ini saya menggunakan mesin AS3: PushButton (sekarang sudah mati, tapi masih berfungsi dan Anda bisa menggunakan yang lain) untuk melakukan pekerjaan ini. Untuk membuatnya bekerja dengan Android dan iOS, proyek ini dikompilasi dalam AIR untuk kedua platform dan semuanya bekerja tanpa kerusakan kinerja. Karena Flash Builder agak mahal ($ 249), Anda bisa menggunakan FlashDevelop (ada beberapa tutorial untuk dikompilasi di AIR dengannya).

Flash bisa menjadi pilihan karena sangat mudah dipelajari.

Kleber
sumber