Gamedev: как мне управлять AI, используя скрипты lua?
Моя игра написана на C++, и я хочу, чтобы ИИ управлялся сценариями lua, но я понятия не имею, как должны выглядеть сценарии и их интеграция в C++.
Должен ли сценарий быть похожим
if (whatever_happening) do_something
if (....) .....
etc
И в каждом кадре в C++ я должен вызывать каждого врага:
foreach(enemy)
enemy.handleAi(luascript.file)
Или это неправильно и я должен обращаться с этим по-другому?
2 ответа
Чтобы ответить на ваш другой вопрос о том, как должны выглядеть сценарии AI, это больше подходит для gamedev.stackexchange. Посмотрите на этот вопрос и ответы: https://gamedev.stackexchange.com/questions/2194/new-to-creating-ai-where-to-start
Посмотрите на LuaBind.
Luabind - это библиотека, которая помогает вам создавать привязки между C++ и Lua. У него есть возможность выставлять Lua функции и классы, написанные на C++. Он также предоставит функциональность для определения классов в lua и позволит им наследоваться от других классов lua или классов C++. Классы Lua могут переопределять виртуальные функции из своих базовых классов C++.