Sebuah skrip biasanya merupakan sepotong kode yang berjalan di luar mesin inti Anda. Ini biasanya terkandung dalam file teks di mana pun Anda ingin menyimpannya. Maka biasanya dimuat oleh mesin, diurai, dan dieksekusi saat runtime.
Apa yang umumnya terjadi adalah bahasa apa pun yang Anda gunakan (Lua, Angelscript misalnya), bahasa ini biasanya memiliki beberapa fasilitas yang memungkinkan pemrogram mesin untuk mengekspos fungsi mesin atau bahkan seluruh kelas ke instance dari "mesin skrip" yang saat ini sedang berjalan .
Misalnya (contoh yang benar-benar bodoh, tetapi hanya untuk menunjukkan maksudnya) kode permainan Anda mungkin memiliki fungsi publik yang memunculkan zombie di suatu tempat:
void SpawnZombie(int x, int y, int hp /* whatever else */)
{
//...
}
Bahasa scripting yang Anda gunakan sekarang memungkinkan Anda untuk mengekspos fungsi ini ke parser scripting yang sedang berjalan. Ini secara efektif berarti bahwa Anda dapat membuka file teks, menulis "SpawnZombie (200,300,1337)" dan begitu mesin Anda mengeksekusi kode, Zombie akan muncul di lokasi itu.
Jawaban lain sudah mendaftar beberapa contoh yang baik tentang bagaimana ini biasanya digunakan, tetapi mereka meninggalkan satu poin yang saya temukan sangat penting:
Jenis-jenis skrip ini membuatnya sangat mudah untuk debug atau menguji gameplay saat runtime.
Katakanlah Anda ingin mengetahui cara sempurna untuk menempatkan zombie di peta sehingga memiliki efek menakut-nakuti maksimum pada pemain begitu mereka menemukannya. Tanpa dukungan skrip, Anda harus keluar dari aplikasi, mengubah beberapa angka ajaib dalam kode, mengkompilasi ulang dan mengujinya.
Dengan dukungan skrip (asalkan Anda sudah memiliki beberapa metode memasukkan teks selama runtime, misalnya konsol debug), Anda cukup mengetik "SpawnZombie (333.444.555)" dan melihat tampilannya.
Dengan cara yang sama mungkin bagi Anda untuk menelurkan senjata, kendaraan, memuat peta yang berbeda, mengubah nilai beberapa hal dalam permainan dll, menanamkan musuh karena Anda tidak ingin membuang waktu untuk sampai ke bagian yang perlu diuji dll
Ini akan menghemat banyak waktu dalam game yang lebih kompleks.