Seperti benar-benar di atas,
Saya sedang menulis game berbasis android di waktu luang saya (android karena gratis dan saya tidak punya aspirasi nyata untuk melakukan sesuatu yang komersial).
Logika permainan berasal dari model berbasis komponen yang sangat khas di mana entitas ada dan memiliki komponen yang melekat padanya dan pesan dikirim ke sana kemari untuk membuat sesuatu terjadi.
Jelas lapisan untuk benar-benar melakukan yang tipis, dan jika saya menulis versi iPhone dari aplikasi ini, saya harus menulis ulang renderer dan driver inti (dari sistem berbasis komponen ini) di Objective C.
Entitas hanyalah file datar yang menentukan nama komponen yang akan ditambahkan, dan komponen itu sendiri adalah objek sederhana, tujuan tunggal yang berisi logika untuk entitas.
Sekarang, jika saya menulis semua logika untuk komponen-komponen di Jawa, maka saya harus menulis ulang pada Objective C jika saya memutuskan untuk melakukan port iPhone. Karena sebagian besar logika aplikasi terkandung dalam komponen-komponen ini, mereka akan, dalam dunia yang ideal, ditulis dalam beberapa bahasa platform-agnostik / skrip / DSL yang kemudian dapat dimuat ke dalam aplikasi pada platform apa pun.
Namun saya telah dituntun untuk percaya bahwa ini bukan dunia yang ideal, dan bahwa kinerja Lua dll pada perangkat seluler masih belum maksimal, bahwa overhead terlalu banyak dan bahwa saya akan mengalami masalah nanti jika saya turun rute itu?
Apakah ini yang sebenarnya terjadi? Jelas ini hanya pertanyaan hipotetis, saya senang menulis semuanya di Jawa karena sederhana dan mudah menyelesaikan masalah, tetapi katakan saya benar-benar menikmati membuat game ini (tidak mungkin, mengingat betapa saya saat ini tidak suka harus berurusan) dengan semua perangkat seluler yang berbeda itu) dan saya ingin membuat game yang layak secara komersial - akankah saya menggunakan Lua atau akankah saya menerima pukulan ketika menyangkut porting dan hanya menulis ulang semua kode?
Implementasi Lua C dirancang khusus untuk dijalankan pada perangkat yang disematkan. Ini kecil dan cepat (untuk bahasa scripting). Saya akan berpikir itu baik untuk setidaknya tugas-tugas ringan.
sumber
Yakin. Logika skrip sangat tidak mungkin menjadi hambatan Anda (Anda akan benar-benar profil dengan Shark atau Instrumen, kan?). Saya bekerja pada Marooned versi iPhone, yang menggunakan banyak Lua untuk logika game. Saya melakukan banyak penyetelan kinerja, dan pada dasarnya Lua adalah 0%.
(Lua adalah daerah abu-abu ketika kami merilis Marooned, tapi sejak itu secara resmi diberkati untuk pengembangan iOS.)
sumber
Lihat http://code.google.com/p/android-scripting/ untuk cara yang disarankan dalam melakukan scripting di Android. Lua masih kurang pas di platform Android, karena membutuhkan C. Tentu saja, Anda bisa menggunakan NDK, tapi itu bukan peluru perak.
sumber
Itu memang sedikit bergantung pada seberapa banyak logika game Anda tertanam dalam skrip. Secara umum LUA digunakan sebagai lem tingkat tinggi tetapi banyak pekerjaan kasar terjadi melalui C (++). Ya, LUA sangat cepat sejauh bahasa scripting berjalan - Anda masih melihat perlambatan dibandingkan dengan bahasa asli sekitar 30 hingga 50 kali, jadi itu benar-benar tergantung seberapa banyak yang terjadi di LUA.
sumber
Anda benar-benar dapat menulis seluruh permainan Anda di Lua dan menghindari Java / ObjectiveC / C / C ++ sekaligus.
Untuk pengembangan lintas platform gunakan Corona . Ini gratis untuk digunakan sampai Anda berencana mengirim ke App Store atau Android Marketplace.
Jika Anda ingin menargetkan iPhone / Pad / Touch, perhatikan lilin .
Sama seperti catatan tambahan @Sean Edwards: Saya telah terlibat dalam pengiriman lima judul yang menargetkan Nintendo DS, Wii, Sony PSP, dan Xbox360, yang semuanya menggunakan mesin yang sama dan ditulis dalam Lua. Ini banyak digunakan pada konsol dan ponsel.
sumber