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.
Jawaban:
Saya sudah bekerja dengan
Marmalade
dan 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).IwGame
adalah 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 menggunakannyaCocos2D-x
dengan Marmalade. Saya tidak pernah menggunakan Cocos2D-x, tetapi ada ekstensi di MarmaladeGithub
.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. JugaCocos-2Dx
danBox2D
ekstensi 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.
sumber
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.
sumber
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
sumber
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)
sumber
Ini hanya balasan dari Richard Pickup di LinkedIn untuk pertanyaan serupa saya:
sumber
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
sumber
dan bagaimana dengan LibGDX dari BadLogicGames?
sumber
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:
Platform silang (iOS, Android, OS X, Windows, Linux / Ubuntu)
Alur kerja yang terinspirasi rel memungkinkan Anda menghabiskan waktu bekerja dengan gim Anda (satu perintah untuk membuat proyek baru, dan perintah lain untuk menjalankannya)
Kompiler cepat
Pengeditan kode dan aset langsung
Kemungkinan untuk mengintegrasikan perpustakaan pihak ketiga
Menggunakan Cocos2DX untuk rendering
XML, dukungan JSON
LML (bahasa markup) dan CSS untuk menata elemen UI
Perpustakaan UI
Ketergantungan injeksi
Kerangka uji unit
Fisika tupai
Melihat perubahan Anda secara langsung membuat pengembangan multidevice mudah
Ukuran unduhan kecil
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
sumber
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
sumber
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.
sumber
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.
sumber