我一直在寻找到建设从地上爬起来一个基本的游戏引擎和制作所共有的其他引擎的功能列表后,的更大的事情之一是,他们有一个嵌入式脚本语言如卢阿或Python。
我的问题是如何在一个嵌入式脚本语言优于只是让一个头文件(或类似的东西),用户可以包括在C ++文件,这让他们获得了众多的功能和状态。 我敢肯定,有一个很好的答案在那里,我只是还没有无意中发现了它。
也超越为什么它需要的,什么是喜欢LUA语言等东西的游戏引擎用的?
我一直在寻找到建设从地上爬起来一个基本的游戏引擎和制作所共有的其他引擎的功能列表后,的更大的事情之一是,他们有一个嵌入式脚本语言如卢阿或Python。
我的问题是如何在一个嵌入式脚本语言优于只是让一个头文件(或类似的东西),用户可以包括在C ++文件,这让他们获得了众多的功能和状态。 我敢肯定,有一个很好的答案在那里,我只是还没有无意中发现了它。
也超越为什么它需要的,什么是喜欢LUA语言等东西的游戏引擎用的?
Lua是比C ++更简单的语言,和所有你需要编辑它是一个文本编辑器。 这使得脚本的能力的事件和/或高级别的游戏逻辑在你的设计者和最终用户的手中。 动态类型和垃圾收集允许他们编写的游戏逻辑论点集中,而不是所有的系统级的杂务,你像C ++语言变得非常简洁的代码。 它也容易得多沙箱。
Lua是一个受欢迎的选择,因为它的体积小,便于携带,容易被破解的ANSI C代码库; 容易嵌入,扩展,以及 - 最重要的游戏开发者 - 它有一个最小的运行时占用(最快解释语言中的一种)。 它也很容易学会/读/写语法的一个伟大的组合,但具有强大的功能,如协程,可以在游戏非常有用的。
其原因包括脚本语言是允许用户自定义的行为,而无需重新编译代码。
我不知道你问的问题的第二部分内容。 你是问使用什么其他语言,或者是你问的喜欢的Lua语言用什么样的方式?
如果你问什么其他语言都好这一点,一个这样的语言是TCL。 TCL从一开始就设计成一个嵌入式脚本语言,是非常成熟和强大,以及非技术人员很容易学。
至于什么脚本语言是有利于...的配置文件是一种方式。 通过使用一种编程语言,而不是名称/值对的文本文件,它允许用户将逻辑添加到他们的启动文件。 比如,也许你允许用户在不同的功能分配给键盘上的键; 有一种编程语言,他们可以针对不同的计算机添加不同的功能。 或者,如果你正在创建像RPG游戏,也许你可以为不同的字符类不同的密钥。 如果玩的法师,F12可能会施展法术,但如果打了战士的F12可能是做了最后一击。
有很多方法可以使用脚本语言,和许多不同的语言研究选择。 这一切都归结为让用户自定义游戏的行为,而无需重新编译代码。
您可能会发现本文由游戏开发者理解为什么嵌入式语言使用的有用。
http://www.grimrock.net/2012/07/25/making-of-grimrock-rapid-programming/
另一个很好的理由,除非你与你的游戏用户分享你的源代码,他们都是C ++程序员,语言如卢阿使用户能够延长游戏,例如看魔兽世界。