No Setidaknya, mungkin tidak.
Ini adalah kasus yang sangat sering ditemukan menciptakan kembali pengembangan game, kesalahan yang masih cukup populer.
Jika Anda mengajukan pertanyaan ini, kemungkinan besar Anda akan dipengaruhi oleh apa yang dilakukan orang lain, jadi lihat saja apa yang baru saja dilakukan Epic Games dengan Unreal Engine:
- UE3 memiliki hal UnrealScript kustom, aneh, tidak dioptimalkan, sulit untuk debug,
- Jika desas-desus itu benar, dukungannya sedang dihapus di UE4 , mendukung C ++ DLL hot-reloadeable.
Apakah Anda pikir Anda bisa melakukan lebih baik daripada Epic?
Membuat bahasa pemrograman adalah milik pembuat bahasa pemrograman , bukan insinyur game.
Butuh bertahun-tahun untuk sebuah bahasa menjadi sepenuhnya matang, dan toolset yang menyertainya (compiler, linker, interpreter, debugger ..) dapat digunakan. Saat ini Anda memiliki banyak solusi yang tersedia sehingga sama sekali tidak ada alasan nyata untuk memulai hal baru dari awal, setidaknya tidak jika tujuannya hanya untuk membuat permainan. Periode.
Untuk menjawab pertanyaan sampingan Anda, tidak, karena alasan ini saya tidak pernah menerapkan bahasa skrip saya sendiri. Tapi saya sudah banyak menderita dengan yang setengah matang. Karena mereka diciptakan dengan fitur yang sangat sempit dalam pikiran, mereka selalu memiliki kebiasaan aneh kecil yang membuat Anda gila. Seringkali, Anda akan menghabiskan banyak waktu hanya untuk mengatasi keterbatasan bahasa alih-alih membuat game saja.
Jika alasan Anda ingin membuat bahasa adalah karena itu dimaksudkan untuk digunakan oleh orang-orang yang tidak mengerti pemrograman dengan baik, atau jika Anda yakin Anda membutuhkannya karena Anda menginginkan sesuatu yang sangat spesifik untuk domain, izinkan saya memberi tahu Anda bahwa ini juga alasan buruk. Anda dapat menulis API tingkat sangat tinggi dengan fungsi-fungsi itu do_what_they_say_and_say_what_they_do()
, dan beberapa kode boilerplate yang sangat sederhana yang memperlihatkan penggunaan dasarnya. Pengguna yang tidak terlalu teknis akan senang mempelajari sedikit pemrograman, dan Anda akan senang tidak dibatasi oleh beberapa bahasa yang diimplementasikan dengan buruk.
Jadi, karena ini akan terdengar tiba-tiba sedikit atau bahkan kasar, saya akan mengatakan bahwa ada satu kasus di mana itu bisa masuk akal: jika Anda ingin belajar bagaimana bahasa scripting dibuat. Tapi tolong, tolong, jika Anda melakukannya: jangan memaksa orang lain untuk menggunakannya.
Edit
Saya baru saja melihat daftar perintah Cave Story yang telah Anda tautkan. Aduh:
<ECJx:y [EC?] Jump @ Jump to event Y if any npc with ID X is present
Saya tidak ingin menunjukkan rasa tidak hormat kepada pengembang di balik Cave Story, tetapi ini adalah contoh sempurna dari daftar perintah sederhana yang bermutasi dalam bahasa skrip kustom yang tidak terkendali. Ini mungkin masih dapat digunakan untuk pengembang tunggal atau tim yang sangat kecil, tetapi pada tahap ini saya menyarankan untuk beralih ke bahasa Turing-lengkap dan dicoba dengan baik (misalnya Lua), di mana Anda dapat melakukan:
if (npc.id == x) then
jump_to_event(y)
end
Ini akan membuat segalanya jauh lebih mudah ketika, misalnya, Anda akan memerlukan kondisi yang lebih kompleks:
if (npc.id == x) or (npc.type == "enemy") then
jump_to_event(y)
end