Я читал, что Lua часто используется для встроенных сценариев и, в частности, для сценариев. Мне трудно представить, как именно это используется. Можете ли вы описать, почему и для каких функций и для какой аудитории он используется?
Эти вопросы не относятся конкретно к Lua, а скорее к любым встроенным сценариям, которые служат цели, аналогичной сценариям Lua .
Используется ли он для конечных пользователей для выполнения пользовательских настроек? Используется ли разработчиками игр для ускорения создания игровой логики (уровни, AI, ...)? Используется ли он для написания кода игрового фреймворка, так как он может быть быстрее?
По сути, мне интересно, насколько глубока между простой конфигурацией и логикой инфраструктуры такое использование сценариев. И сколько скриптов сделано. Несколько строк конфигурации или значительное количество?
источник
Ответы:
Язык сценариев в игровом движке предназначен для того, чтобы раскрыть ваш игровой движок на более высоком уровне.
Возьмите игру, например, Skyrim. Вы заметите, что происходит много квестов и взаимодействий, и некоторые из них имеют довольно впечатляющую встроенную логику, например, охранник, реагирующий на ваше приближение к предмету во время какой-либо сцены. Эти вещи было бы трудно выразить в чистом формате данных, и по этой причине квесты и пользовательское поведение обычно выражаются в виде сценариев.
Есть также много практических соображений - разработчики игр, которые создают эти сценарии, часто работают на более высоком уровне абстракции, чем программисты игрового движка; они не хотят беспокоиться о распределении памяти и т. д. Язык сценариев подходит для них, и с LUA они обычно обращаются к хорошему высокоуровневому фасаду движка. Вы также не хотите перекомпилировать свою игру каждый раз, когда хотите настроить какой-либо минутный атрибут в скрипте.
Вдобавок ко всему этому они позволяют легко отлаживать, моддинг и все другие приятные вещи, которые вы упомянули.
источник
Его можно использовать для самых разных целей, от простых настроек до реализации основной части логики высокого уровня игры, например, это зависит от игры, но Lua - это просто встроенные скрипты. Люди могут использовать это столько, сколько захотят.
источник
Его могут использовать люди, не являющиеся оригинальными программистами, для изменения или расширения игровой логики. Такие люди могут быть относительно нетехническими, например, разработчики игр или конечные пользователи (геймеры).
Скрипты обычно являются языками более высокого уровня, и поэтому Lua легче, чем C ++. Код, написанный в сценариях, обычно может быть изменен без перекомпиляции основного приложения (игрового движка), что полезно для разработчиков игр для быстрой настройки игровых сцен.
PS: лучше задайте этот вопрос на gamedev.stackexchange.com
источник