Dengan membuat skrip di sini, saya maksudkan tidak hanya memasukkan data konfigurasi ke dalam skrip, tetapi juga membuat skrip bagian-bagian dari proyek seperti beberapa metode kelas, menguji loop game tertentu, dll. Ini tidak hanya untuk mempercepat pengembangan, tetapi juga memungkinkan pemain untuk melihat beberapa di antaranya. skrip untuk mengubah beberapa aspek permainan.
Beberapa bahasa seperti Lua memiliki beberapa pembungkus seperti luabind, tetapi ketika saya menggunakannya di masa lalu itu memiliki masalah karena tidak mendukung metode redefinisi dalam konteks pewarisan.
Apa saran Anda tentang bahasa / pembungkus untuk digunakan atau tidak digunakan?
sumber
Saya menyukai Chaiscript ; Saya sudah lama tidak menggunakannya, tapi sejauh ini sepertinya cukup solid.
Tidak seperti Python atau lua, itu dibangun dari bawah ke atas untuk digunakan dengan C ++. Proses pengikatan tampaknya jauh lebih bersih daripada dengan luabind / etc.
Berikut ringkasan situs web:
sumber
Saya akan merekomendasikan Lua .
Python juga sangat populer. Banyak mesin permainan berfitur (Blender, misalnya) menggunakannya.
C ++ :: Boost memiliki perpustakaan untuk bekerja dengan Python.
Saya sudah membaca tentang Squirrel , tetapi tidak menggunakannya.
Anda dapat membaca ikhtisar Mesin Game ini . Ada satu
Scripting
kolom. Anda dapat melihat bahwa Lua dan Python adalah bahasa scripting paling populer.sumber
Mengapa tidak membangun sendiri?
Jika Anda punya waktu, kesabaran dan kemauan untuk belajar - Anda selalu dapat mencoba mengembangkan mesin skrip Anda sendiri dengan semua fitur dan sintaksis yang Anda butuhkan.
Keuntungan
Kekurangan
Waktu. Tidak banyak orang memilikinya. Jika Anda membutuhkan sesuatu SEKARANG, cobalah mesin yang sudah ada (seperti yang sudah disarankan).
Kecepatan. Banyak mesin skrip yang ada sangat cepat - solusi khusus mungkin tidak secepat.
Ukuran tim. Banyak mesin skrip yang ada memiliki tim yang lebih besar dari orang yang bekerja pada basis kode, apakah itu tim pribadi atau sukarelawan global, ada sesuatu yang bisa dikatakan untuk kode yang diperiksa dan diperiksa ulang oleh banyak orang lain.
Mesin scripting memerlukan sejumlah perencanaan awal untuk menarik secara efektif. Ada banyak pekerjaan dasar yang perlu diimplementasikan juga yang mungkin tidak ada hubungannya dengan mesin scripting yang sebenarnya sama sekali.
Ini bukan daftar lengkap. Jika Anda harus membuat sejumlah besar perubahan di bagian belakang bahasa skrip yang ada untuk mendapatkan fungsionalitas yang Anda inginkan, IMO Anda mungkin harus mencari mesin lain yang lebih sesuai dengan kebutuhan Anda atau hanya membuat sendiri.
Saya menyadari orang-orang senang melempar "kemalasan" dan "tidak menemukan kembali roda" tetapi saya pikir ada sesuatu yang bisa dikatakan tentang mempelajari bagaimana hal ini dilakukan. Dan implementasi spesifik mungkin akan lebih baik untuk proyek Anda daripada implementasi generik.
"Membuat Sistem Scripting di C ++" tampaknya menjadi artikel yang disukai yang dibagikan orang ketika membahas topik: http://www.gamedev.net/reference/list.asp?categoryid=76
sumber
Saya sudah mencoba Lua, Python, Skema, dan Tupai. Lua mengerjakan yang terbaik; ia memiliki komunitas yang lebih besar dan dukungan yang lebih baik daripada Squirrel, dan karakteristik kinerja dan memori yang jauh lebih baik daripada Python. Skema bekerja sangat baik juga, dan memiliki juru bahasa yang sangat kecil, tetapi sulit bagi desainer untuk membungkus kepala mereka di sekitar bahasa fungsional.
sumber
Berikut ini tautan ke luabind dan tolua, pembungkus untuk lua / c ++
http://luabind.sourceforge.net/
http://www.tecgraf.puc-rio.br/~celes/tolua/
sumber