如何在C语言中开发使用Lua编程的角色扮演游戏?

我想用C和Lua构建一款策略游戏,也可以考虑使用C++。

我想创建一个玩家可以移动的环境。在同一个环境中,其他(用Lua编程)的角色也应该能够移动。它们的Lua代码应该控制它们的移动方式。

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

以一个简单的例子来说明,你可以想象一个矩阵,它是游戏场地。我怎样编写代码,使玩家和几个(脚本化的)角色能够同时穿过它?

角色的Lua代码应该能够从游戏场地获取信息。例如:一个角色可以被编程为沿着固定路径移动,在途中四处寻找。如果角色检测到另一个玩家,它可以更改行为来追随其他玩家。

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

欢迎提供其他设计和原创想法的链接。

原文链接 https://stackoverflow.com/questions/3816983

点赞
stackoverflow用户34824
stackoverflow用户34824

有许多关于游戏编程的好书。 我建议去当地的巴诺扎贝尔书店或浏览 Amazon.com。

2010-09-28 20:59:36
stackoverflow用户30470
stackoverflow用户30470

这个问题非常广泛,所以我的建议是将您的问题/问题分解成小组件。

您提到正在尝试创建一个策略游戏,该游戏将使用矩阵作为游戏场地并包含可移动的角色。因此,您将需要决定:

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

我假设您的游戏中需要一些视频,因此您将需要决定:

  • 我应该针对哪些平台?
  • 我应该使用什么渲染技术?
  • 是否有符合此类项目需求的图形包?

您还将面临很多有趣的游戏设计问题:

  • 演员是否可以占据矩阵中的同一个节点?
  • 游戏是实时发生的吗?轮流进行?两者的组合?
  • 哪些变量使不同的演员不同?速度?耐久性?

当您在c/c++源代码中有一些硬编码的演员时,那么您将需要决定:

  • Lua对于这个项目是否合适?
  • 如果是,我想如何将我的游戏逻辑暴露给Lua?
  • 我会将Lua用作对象的“配置文件”,还是将所有内容都推到主循环中?

这些是在SO上获得更好响应的问题。

2010-09-28 21:19:37