Saya berpikir untuk mencoba ide kuno saya untuk sebuah game. Titik inti dari game ini adalah kemungkinan tingkat penyesuaian fungsional lingkungan dan objek game (seperti memodifikasi perilaku persenjataan kapal ruang angkasa). Untuk ini, gim harus bisa dituliskan. Juga saya tidak bermaksud mengkomersialkannya, itu hanya tantangan pemrograman yang menarik bagi saya.
Karena saya kebanyakan adalah seorang NET. Saya akan menggunakan XNA / C # untuk game itu sendiri. Untuk skrip saya berpikir tentang pergi dengan Python atau Lua. Saya memiliki pengalaman sebelumnya dengan Python dan tidak menentangnya sebagai bahasa. Lua di sisi lain hampir sepenuhnya baru bagi saya, selain beberapa modifikasi tambahan World of Warcraft kecil yang saya lakukan di sana-sini, dan itu terlihat menjanjikan. Jadi inilah pertanyaan saya:
Apa pro dan kontra dari Lua vs Python sebagai bahasa scripting untuk platform XNA / C #?
Apakah salah satunya jauh lebih mudah digunakan dengan XNA / C #? Apakah ada di antara mereka beberapa keuntungan atau kerugian spesifik ketika digunakan dengan XNA / C #? Mengapa Anda merekomendasikan satu di atas yang lain untuk XNA / C #?
Jawaban:
Saya tidak dapat membandingkan keduanya, karena saya hanya memiliki pengalaman menanamkan IronPython dalam game C # sejauh ini. Inilah yang saya sukai tentang itu:
1) Mudah! Unduh IronPython DLL, tambahkan referensi dalam proyek,
2) Seperti yang Anda lihat dari contoh di atas, IronPython sebenarnya mengkonversi ke kelas BCL di mana ia bisa. hasil skrip adalah System.Numerics.BigInteger daripada PyObject
3) Kata
dynamic
kunci dalam C # dibuat untuk situasi interop di mana Anda tidak memiliki tipe statis yang tersedia:sumber
IronPython dan C # berjalan bersama dengan baik, IronPython dapat ditambahkan ke C # untuk meningkatkan kinerja. Jadi jika game penulisan Anda maka panggilan Python dalam C # adalah keuntungan. Python sendiri tidak dapat menggunakan XNA tetapi dapat menggunakan Directx sesuatu yang C # tidak dapat lakukan secara langsung.
sumber