@Anthony228357

Какие есть способы реализации системы внешних скриптов?

Какие основные подходы для создания системы скриптов для игровых движков? Один из способов это компиляция пользовательских скриптов в .dll и дальнейшая загрузка классов из них. Какие еще есть подходы для получения кода внешних скриптов в уже скомпилированной программе и исполнения функций из них кроме .dll или статических библиотек?
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
@MarkusD Куратор тега C++
все время мелю чепуху :)
Инструментов для решения такого вопроса очень много.
Методика решения всегда одна: необходимо выбрать и интегрировать в свой проект скриптовой движок.

Вопрос выбора скриптового движка является очень сложным и зависит от множества неочевидных критериев. Ответ на такой вопрос сможет дать только опытный инженер, неоднократно имевший дело с разными скриптовыми движками. Потому что даже между Lua, LuaJIT и Terra разница по функциональности и особенностям интеграции является очень существенной.
И, тем не менее, я этот вопрос оставлю открытым. На крайний случай всегда можно взять простой и легкий Lua, если глаза разбегаются, а решения нет.

Как производят интеграцию. Например - так, так, так, так, так или вот так.
После интеграции скриптового движка в свой проект, функциональность своего проекта можно прокинуть на сторону скриптов используя непосредственно API скриптового движка.

Одним из критериев выбора скриптового движка является его производительность. Чтобы не занимать специалистов подобной рутиной, когда-то давно уже были проведены замеры версий различных скриптовых движков. Результаты замеров доступны всем желающим.
Однако, стоит напомнить, что не всегда самое быстрое решение является самым оптимальным.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos Куратор тега Разработка игр
Исполнение собственно скриптов. Т.е. вшивается интерпретатор, а внешние скрипты пишутся на скриптовом языке.
Когда то для такой схемы был Lua популярен.
Ответ написан
Можно писать скрипты на Lua и подгружать их используя соответствующие библиотеки
Ответ написан
@res2001
Developer, ex-admin
Питон так же используется для подобной схемы. Например в Танках, если не ошибаюсь, его используют.
В браузерах и node.js используется JS - схема аналогичная.
В Far manager - Lua.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы