Сценарій, як правило, є фрагментом коду, який працює поза вашим основним двигуном. Зазвичай він міститься в текстових файлах, де ви хочете їх зберігати. Потім він зазвичай завантажується двигуном, аналізується та виконується під час виконання.
Зазвичай відбувається те, що якою б мовою ви не користувалися (наприклад, Lua, Angelscript), ця мова, як правило, має деякі засоби, які дозволяють програмісту двигуна виставляти функції двигуна або навіть цілі класи екземпляру "двигуна сценаріїв", який зараз працює. .
Наприклад (абсолютно дурний приклад, але просто для того, щоб зрозуміти, що ваш ігровий код може мати публічну функцію, яка десь породжує зомбі:
void SpawnZombie(int x, int y, int hp /* whatever else */)
{
//...
}
Мова сценаріїв, якою ви користуєтесь зараз, дозволяє вам піднести цю функцію до сценарію, який виконується. Це фактично означає, що ви можете відкрити текстовий файл, написати "SpawnZombie (200,300,1337)", і як тільки ваш двигун виконує код, Zombie породжує в цьому місці.
В інших відповідях вже наведено кілька хороших прикладів того, як це зазвичай використовується, але вони залишають один момент, який я вважаю дуже важливим:
Такі види сценаріїв дуже просто налагоджують або тестують ігровий процес під час виконання.
Скажімо, ви хочете знайти ідеальний спосіб розмістити зомбі на карті, щоб він мав максимальний відлякуючий ефект на гравця, як тільки вони його виявлять. Не підтримуючи сценаріїв, вам доведеться вийти з програми, змінити деякі магічні числа в коді, перекомпілювати і протестувати його.
Підтримуючи сценарій підтримки (якщо ви вже маєте певний метод введення тексту під час виконання, наприклад, консоль налагодження), ви просто набираєте "SpawnZombie (333 444 555)" і бачите, як це виглядає.
Таким же чином ви могли б нерестувати зброю, транспортні засоби, завантажувати різні карти, змінювати значення деяких речей у грі тощо, встановлювати ворогів, тому що ви не хочете витрачати час на потрапляння на частину, яка повинна бути перевірений і т.д.
Це дозволить заощадити багато разів у більш складних іграх.