【发布时间】:2012-01-15 05:58:50
【问题描述】:
我知道这里有一些关于这个主题的问题,但很难找到任何对我所追求的有用的东西......
我也知道这可能最终会成为一项艰巨的任务,但我真的很想为游戏引擎制作一种简单的脚本语言...我想在 C++ 和我的 Android Java 游戏引擎中使用它...但我不知道从哪里开始...我尝试在网上寻找教程,但很多需要将东西转换为字节码、虚拟机等...
我真的只是想创建一种可以从引擎读取的简单脚本语言,具有一些简单的“if/else”逻辑......可以从其他脚本调用的简单函数等等......甚至可能早期版本更简单...我真的不知道从哪里开始,但我知道这是我需要开始学习和理解的东西。
如果有人能指出我正确的方向并指出一些非常简单的“为游戏制作简单的脚本语言”类教程的链接,或者甚至指出我应该研究的一些关键概念......我会真的很感激。
我更喜欢基于 C 的极简脚本语言,但我想一旦我真正了解了更多关于它的细节就会进入它。
感谢任何人提供的任何帮助。
【问题讨论】:
-
您真的要创建一种新的脚本语言吗?您不能使用现有语言为您的游戏引擎提供脚本接口吗?
-
我知道它不是“基于 C 的”,但 Lua 脚本是一种足够简单的语言来学习和编写脚本。
-
@Thilo:从技术上讲,我可能不必这样做,但我认为以后保持 Android 和 PC 工作之间的交叉兼容性可能会非常有用......但如果我可以找到一种脚本语言,现在在我的 C++ 编辑器和我的 Android 引擎中实现都不会太痛苦,我想我会研究一下。
-
@Zack:我从来没有用过 Lua,我得研究一下。我只使用 python 进行 sripting...我真的不喜欢它的格式...但我会看看 Lua anywho。
-
在 2012 年,您并不想编写自己的脚本语言。虚拟机和 JIT 编译几乎是现代脚本引擎的必需品,如果您尝试用自己的语言实现它可能会很复杂(并且您很快就会在自己的实现中遇到性能问题)。试试 Google v8 (JavaScript) 引擎。据我所知,Google 正在为 Android 使用 v8,因此应该可以将其嵌入 PC 和 Android。
标签: android c++ scripting-language