对于我的WIP游戏(或未来的游戏),我考虑为enemie / NPC AI添加自定义的,用户编写的脚本。这样做任何知道如何编写脚本的用户都可以为敌人编写AI。我想使用LUA(或其他脚本,如果它更容易),但我真的不知道我怎么能:
Computercraft
mod Minecraft
是我想要达到的目标(或多或少)的一个很好的例子。
而不是执行确切的命令(前面的1瓦片去左边2个瓷砖等)我想使用AI的脚本。
你有任何教程,建议或类似的东西吗?
答案 0 :(得分:2)
http://sourceforge.net/projects/luaj/
Here's自述文件。
基本上你想要在你的代码中的某些点调用Lua脚本,这些脚本可以执行AI计算并将结果吐出回Java引擎。当然,这完全取决于您的引擎,在可能的集成方面的灵活性等等。
修改强>
您需要为这些脚本提供一些上下文,即设置Lua环境,以便它能够识别您的引擎(对象/表,函数)。例如,如果要启用用户移动AI字符,则必须在Lua中注册(例如)AIEnemy
对象,为其提供一些方法(move
,shoot
)然后,这些方法将(调用)链接到Java引擎中的等效方法并传递适当的参数。
嵌入Lua并让你的应用程序使用它真的很有趣,虽然我从来没有用Java(C / C ++)完成它。
话虽如此,但需要认真考虑整合的设计。尝试使用非常简单的东西来获得它的感觉,即使在游戏开发之外也是如此。一旦得到它,就可以进行更严肃的整合。
正如旁注。不要让Lua简单愚弄你。这是一种非常强大的语言。