我想用C和Lua构建一个策略游戏。 C ++也是一种选择。
我想创建一个玩家可以四处移动的环境。在相同的环境中,其他演员(在Lua中编程)应该能够四处移动。他们的Lua代码应该控制他们的移动方式。
这听起来很简单,但我想知道这个项目的设计方法是什么。
作为一个简单的例子,您可以想象一个作为比赛场地的矩阵。如何编写我的代码,以便播放器和其他几个(脚本化的)演员可以同时移动它?
演员的Lua代码应该能够从比赛场地获取信息。例如:演员可以被编程为遵循固定路径,沿途环顾四周。然后,如果演员检测到其他玩家,则可以改变其行为以跟随其他玩家。
我想这个问题已经解决了很多次,但我似乎无法找到一个简单的例子。
非常感谢任何其他设计和原创想法的链接。
答案 0 :(得分:3)
问题非常广泛,所以我建议最好的方法就是将问题/问题分解成小块。
你提到你正在尝试创建一个策略游戏,它将使用矩阵作为游戏场并包含可移动的角色。所以你必须决定:
我应该使用什么样的数据结构来表示各种actor对象可以从一个节点移动到另一个节点的矩阵? 如何表示actor对象?初始化?存储吗
我假设你想在游戏中想要一些视频,所以你必须决定:
我应该定位哪些平台? 我应该使用什么渲染技术? 是否有满足此类项目需求的图形包?
您还将获得许多有趣的游戏设计问题: 演员可以占据矩阵中的同一节点吗? 游戏是否实时发生?轮流?两者的结合? 使不同演员有所不同的变量是什么?速度?耐久性吗
当您在c / c ++源代码中有一些硬编码的actor时,您需要决定: Lua是否适合这个项目? 如果是这样,我如何将我的游戏逻辑暴露给Lua? 我会将Lua用作对象的“配置文件”,还是将主循环中的所有内容推送到Lua?
这些问题在SO上得到了更好的回应。
答案 1 :(得分:1)
有很多关于游戏编程的好书。 我建议你去当地的Barnes&诺贝尔,或冲浪Amazon.com。