如何使用Lua编程的演员在C中构建游戏?

时间:2010-09-28 20:55:37

标签: c++ c lua

我想用C和Lua构建一个策略游戏。 C ++也是一种选择。

我想创建一个玩家可以四处移动的环境。在相同的环境中,其他演员(在Lua中编程)应该能够四处移动。他们的Lua代码应该控制他们的移动方式。

这听起来很简单,但我想知道这个项目的设计方法是什么。

作为一个简单的例子,您可以想象一个作为比赛场地的矩阵。如何编写我的代码,以便播放器和其他几个(脚本化的)演员可以同时移动它?

演员的Lua代码应该能够从比赛场地获取信息。例如:演员可以被编程为遵循固定路径,沿途环顾四周。然后,如果演员检测到其他玩家,则可以改变其行为以跟随其他玩家。

我想这个问题已经解决了很多次,但我似乎无法找到一个简单的例子。

非常感谢任何其他设计和原创想法的链接。

2 个答案:

答案 0 :(得分:3)

问题非常广泛,所以我建议最好的方法就是将问题/问题分解成小块。

你提到你正在尝试创建一个策略游戏,它将使用矩阵作为游戏场并包含可移动的角色。所以你必须决定:

我应该使用什么样的数据结构来表示各种actor对象可以从一个节点移动到另一个节点的矩阵? 如何表示actor对象?初始化?存储吗

我假设你想在游戏中想要一些视频,所以你必须决定:

我应该定位哪些平台? 我应该使用什么渲染技术? 是否有满足此类项目需求的图形包?

您还将获得许多有趣的游戏设计问题: 演员可以占据矩阵中的同一节点吗? 游戏是否实时发生?轮流?两者的结合? 使不同演员有所不同的变量是什么?速度?耐久性吗

当您在c / c ++源代码中有一些硬编码的actor时,您需要决定: Lua是否适合这个项目? 如果是这样,我如何将我的游戏逻辑暴露给Lua? 我会将Lua用作对象的“配置文件”,还是将主循环中的所有内容推送到Lua?

这些问题在SO上得到了更好的回应。

答案 1 :(得分:1)

有很多关于游戏编程的好书。 我建议你去当地的Barnes&诺贝尔,或冲浪Amazon.com。