Що означає сценарій гри «Lua»?


9

Я читав, що Lua часто використовується для вбудованих сценаріїв і, зокрема, для сценаріїв. Мені важко уявити, як саме воно використовується. Чи можете ви описати, для чого та для яких функцій та для якої аудиторії він використовується?

Ці питання стосуються не конкретно Луа, а скоріше будь-якого вбудованого сценарію, який відповідає цілі, подібній до сценаріїв Луа .

Чи використовується для кінцевих споживачів для внесення спеціальних налаштувань? Чи використовується для розробників ігор для прискорення створення логічної гри (рівні, AI, ...)? Чи використовується він для скрипту рамкового коду гри, оскільки сценарій може бути швидшим?

В основному мені цікаво, наскільки глибоко між простою конфігурацією та рамковою логікою йде таке використання сценаріїв. І скільки сценаріїв зроблено. Кілька ліній конфігурації чи значна кількість?


Відповіді:


11

Мова сценаріїв в ігровому двигуні є для того, щоб викрити ваш ігровий движок на вищому рівні, інтерпретованому способом.

Візьмемо, наприклад, таку гру, як Skyrim. Ви помітите, що виникає багато квестів та взаємодій, і деякі з них мають в них досить вражаючу логіку, наприклад, охоронець, що реагує на те, що ви підходите до предмета під час якоїсь сцени. Ці речі важко виразити у чистому форматі даних, і з цієї причини квести та власні поведінки, як правило, виражаються як сценарії.

Також слід врахувати багато практичних причин - конструктори ігор, які створюють ці сценарії, часто працюють на більш високому рівні абстракції, ніж кодери ігрового двигуна; вони не хочуть турбуватися про розподіл пам’яті тощо. Мова сценаріїв їм добре підходить, і з LUA вони, як правило, викликають хороший фасад високого рівня двигуна. Ви також не хочете перекомпілювати свою гру кожного разу, коли ви хочете налаштувати деякий хвилинний атрибут у сценарії.

Крім цього, вони дозволяють легко налагоджувати, модедувати та всі інші приємні речі, які ви згадали.


3

Чи використовується для кінцевих споживачів для внесення спеціальних налаштувань?

Він може бути використаний для широкого спектру цілей, починаючи від конфігурування, до реалізації основної логіки вищого класу гри, наприклад, це залежить від гри, але Lua - це просто вбудований сценарій. Люди можуть використовувати це стільки чи мало, скільки хочуть.


1
Деякі ігри дозволяють кінцевим користувачам реалізувати власні сценарії. Поряд із загальнодоступним API, користувачі можуть реалізовувати доповнення, віджети тощо, які реагують на ігрові події.
Лаїв

1
Я думав у MMO
rpgs

1
@Laiv IMO MMORPG - одна з тих речей, які здаються настільки цікавими для впровадження, але подібні до того, як грати в них тривалий час, перетворюються на таку метушню. Ігровий світ повинен бути настільки статичним, або ж має бути таке активне залучення модераторів ігор. Я думаю, що офлайн ігри так розвиваються, тому набагато цікавіше розвиватись, оскільки ти можеш створити дуже динамічний світ із історією, яка насправді закінчується.

1
Ні ні. Роки тому я грав у Allods Online. У грі було трохи API для гравців, щоб реалізовувати аддони та віджети. Просто хотів розширити свою відповідь кількома прикладами :-)
Laiv

1
@Laiv О, я бачу! У мене є процес видалення мого облікового запису, але я змінив свою відповідь, щоб зробити її коротшою і солодшою. У ході цього процесу я втратив трохи інформації, але моя попередня редакція розповідала про те, як я особисто використовував сценарії. Зараз я намагаюся відредагувати всю особисту інформацію з моїх відповідей.

2

Його можуть використовувати інші люди, крім оригінальних ігрових програмістів, для зміни або розширення логіки гри. Такі люди можуть бути відносно нетехнічними, наприклад, дизайнери ігор або кінцеві користувачі (геймери).

Сценарії зазвичай є мовами вищого рівня, і як така Lua легша, ніж C ++. Код, написаний сценаріями, зазвичай можна змінювати без перекомпіляції основного додатку (ігрового двигуна), який корисний дизайнерам ігор для швидкого налаштування ігрових сцен.

PS: краще задайте це запитання на сайті gamedev.stackexchange.com

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.