Lua实体创建/管理良好的游戏引擎


11

我正在寻找一种使用Lua或其他脚本语言构造其实体的引擎。这是为了寻找灵感,并在我自己的引擎中也这样做。

我知道CryEngine确实使用Lua制作了他们的实体,但是我想知道是否还有其他可以选择的替代方法。

谢谢!

Answers:


7

我建议您看一下LÖVE: “一个很棒的框架,可用于在Lua中制作2D游戏。它是免费的开放源代码,可在Windows,Mac OS X和Linux上运行。” 显然,它不是Cryengine的替代品,但肯定应该演示如何有效利用Lua的潜力来创建实体和游戏逻辑。将这些知识与Cryengine /其他AAA引擎如何利用脚本后端结合起来,您应该具有创建具有强大脚本功能的自己的引擎所需的全部灵感。:)


4

据我所知,Relic的Essence Engine Series(用于《英雄连战争黎明》中的II)将Lua或它的方言用于单位统计和任务脚本。没有真正的网络资源,但是您始终可以在RelicNews.com上查看一些mod,以询问是否感兴趣。

据我所知,Unknown Worlds即将在其即将推出的游戏《自然选择2》中使用的Spark Engine允许大多数游戏代码位于Lua中。该SDK随游戏一起预购,目前和游戏一样都处于Beta测试阶段。

曾经高度依赖Lua推广的另一款游戏是Eufloria(以前称为Dyson)。他们的论坛上也有Lua改装参考。

Valve的免费合作游戏Alien Swarm大量使用了受Lua影响的脚本语言“松鼠”。Alien Swarm SDK应该可以从Steam上下载。(开发Wiki

编辑:我怎么能忘记冲突世界!该游戏在Python中完成了很多工作,当您查看诸如实现了全新机制的现代战争Mod之类的mod时,就很明显了。


为您添加了链接。
共产党鸭子

谢谢!//删除包含无格式链接的评论...
Koarl 2011年

很好的答案,我希望更多的人可以添加这个问题,因为将来我绝对肯定会有更多的答案。非常感谢Koarl(我是个
超级文物

2

以下是一些使用脚本实现实体行为的(开源)游戏示例:

Frogato使用自定义脚本语言实现实体。 Battle for Wesnoth使用可嵌入Lua脚本的自定义描述语言实现实体。 KQ使用Lua脚本实现实体行为。

编辑:现在允许我发布链接...


Frogato看起来非常接近我想要的东西,虽然有点冗长,但仍然非常有趣。Lua中的一个等效示例可能会
震撼

2

我在引擎中执行此操作(可用的源,但可能不值得解密)。

就我而言,“实体”是一个完全存在于Lua中的概念。没有C ++支持的“实体”。因此,“实体”就是特定游戏所需的东西。有时它只是一张附有少量数据的表,有时它是一个2d框架元素(请注意,框架也完全是Lua构造,我只是有一个标准的UI库),有时它与AI和渲染有些复杂,然后仍然只是在Lua中创建的东西。

许多人使用Lua编写具有C ++支持的对象系统的脚本,从而使实体“存在”于C ++中并调用Lua进行脚本编写。我曾经这样做,但是当我将代码从C ++移到Lua时,我发现自己越来越快乐。此时,我仅使用C ++来处理OS API调用,并且所有布局/渲染/ AI /游戏逻辑均采用100%纯Lua。

推荐的。

随时提出问题,我很愿意回答:)


glorp与love2d相比如何?
deft_code 2011年

据我了解,love2d具有明显的固定渲染路径。glorp没有-它具有OpenGL绑定,并且您可以随意渲染任何内容(尽管它具有用于标准内容的辅助功能。)glorp具有内置的“主菜单/暂停/返回菜单”系统,它可以远程进行关于崩溃的错误报告,它将为您所构建的任何操作系统自动生成安装程序。glorp并不是真正地设计为API,但是-它是一个可以根据我的需要不断进行修改的框架。根本不兼容:)
ZorbaTHut 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.