我能制作仅含 Lua 的游戏吗?

嘿,我在考虑要学习 Lua,突然想到这个问题,我能只用 Lua 代码而不用C++、C或 C++ 的 side-libraries 制作游戏吗?

点赞
用户12568711
用户12568711

当然,有许多仅由Lua制作的游戏,还有一些可以在其中使用Lua编写mod或服务器的游戏,例如Roblox或FiveM。如果您想仅使用Lua脚本制作整个游戏,可以尝试使用适当的引擎,例如 GameGuru

您还可以尝试一些专门用于编写游戏的Lua库,例如 Love2DCoronaSDK

2020-09-13 14:50:36
用户734069
用户734069

Lua是一种嵌入式脚本语言。像大多数脚本语言一样,它在某些应用程序内运行,并实际执行语言所要求的操作。因此,如果您想要技术上的解释,先运行涉及“C”的东西是必要的,因为这“一些东西”使得Lua代码能够被执行。

由于Lua是一种嵌入式脚本语言,您可以使用它的能力是由它嵌入的环境所定义的。lua.exe是一个嵌入式环境,但是也存在其他环境。

因此,这个问题可能是这样的:我可以在针lua.exe环境下使用Lua编写游戏,而不添加任何补充的非Lua模块吗?

当然可以:只要该游戏在lua.exe所执行的文本控制台的限制内工作。标准Lua环境提供对所有Lua标准库的访问,但该库实际上非常小。它唯一提供的IO功能是对标准输入、标准输出、标准错误和文件的访问。

仅此而已。

你可以用它来做一个文本冒险游戏。如果你了解如何更直接控制文本控制台(这是特定于平台的),你可以使用控制台来显示ASCII艺术图形。因此,你可以制作一个老派的Rogue-like游戏,但需要注意时间因素,因为Lua标准库没有实现处理时间的机制。

是的,你可以制作某种形式的游戏。但是你可以制作的游戏种类可能与你所想的“游戏”不同。Lua标准库没有提供任何允许你进行任何类型音频或除文本以外的任何视觉操作的功能。

因为Lua标准库适用于任何需要嵌入Lua的应用程序,所以它非常小,只提供了一小部分的基础功能。它并不适用于你创建图形密集型应用程序。

为此,您需要探索一种专门针对此类需求设计的Lua环境,并提供特定于这些需求的功能。

2020-09-13 15:39:32