gpt4 book ai didi

c++ - 脚本语言和游戏开发/编程

转载 作者:IT老高 更新时间:2023-10-28 22:19:02 28 4
gpt4 key购买 nike

好的,所以我开始涉足 2D 游戏开发/编程,而且我见过的许多游戏也使用某种脚本语言。所以我想知道 - 在游戏中使用脚本的目的是什么?我知道没有一个简单的原因答案,我一直在尝试考虑所有可能性。以下是我目前所知道的“想法”:

1) 脚本允许更改游戏而无需重新编译。

2) 脚本更易于非程序员使用。

3) 脚本允许我将引擎与游戏本身分开,从而让我更快地制作具有相同组件的其他游戏?

这就是我所知道的一切。我的下一个问题是,如果我要独自开发/编写游戏——我真的需要使用脚本吗?或者我可以使用 python 或 ruby​​ 之类的东西对游戏进行原型(prototype)制作,以便进行快速测试,然后用 C++ 重写代码以节省时间和编译器错误等?

我想知道的另一件事是,我最好使用 Ruby 还是 Python,因为我最有经验?或者我应该使用 Lua、Perl 或其他东西,如果它更符合我的目标?说到这个问题,我真的应该使用脚本做什么?我应该使用它们来定位和建模游戏菜单 UI、写入/读取保存文件、加载 map 关卡、保存游戏术语的数组或结构,例如“新游戏”或“退出”,以上所有,以上都不是?

如果我使用脚本,那会不会允许最终用户编辑游戏机制?或者有没有办法将脚本打包成一个引擎可以读取的压缩文件?

基本上,我想知道:

我应该在我的游戏中使用脚本做什么?为什么?

如果我是单独工作或与程序员而不是开发人员一起工作,是否需要使用脚本语言?

如果我要制作平台游戏、角色扮演游戏或其他游戏,我“应该”使用哪种脚本语言?

最佳答案

您的前 3 个理由都是 100% 正确的,并且是在您的游戏引擎中使用脚本语言的主要原因。

就我个人而言,我只是通过 Luabind 真正体验过 Lua。设置有点棘手,但值得。在这种情况下,您可以使用脚本语言公开您希望“用户”自己能够使用的数据结构和/或功能。一般来说,唯一可以编辑的游戏机制等将是您允许他们编辑的那些。

我应该在我的游戏中使用脚本做什么?为什么?资源加载,暴露特性/类型,即,对于我们的游戏引擎(用 c++ 编写),我们有一个基础关卡,然后从它继承了许多不同类型的关卡,例如波浪关卡、死亡竞赛等。用户只需在脚本中说明他们需要什么类型的关卡,然后在这里也插入 Assets 。在我的演示中,我们有;

Level="wavelevel"

--等级初始敌人数量

EnemyNumbers="3"

--级别总波数

WaveNumbers="4"

--波浪系数

WaveCoeff="1.1"

--地形大小

地形大小="256"

--地形文件

TerrainFile="resource/Models/mountainous.raw"

不要太担心数字和所有这些。

如您所见,它会加载一些资源并确定关卡类型

我们还给了脚本很多 AI 的控制权,事实上,数据结构几乎完全暴露给 Lua。

如果我是单独工作或与程序员而不是开发人员一起工作,是否需要使用脚本语言?

是的,不是吗?当然,我们都更喜欢“真正的”编码。如果你可以让你的游戏引擎足够抽象,只用 Lua 就可以构建完全不同的游戏,那么这意味着你做得很好并且设计得很好。

另一件你必须考虑的事情,特别是如果你的游戏引擎非常庞大,并且让我们面对现实,真的不会有一个小的,每次编译时,它可能需要几分钟!这里需要时间的是链接器。

如果我要制作平台游戏、角色扮演游戏或其他游戏,我“应该”使用哪种脚本语言?

我只用过 Lua,所以这是我能在这里给出的唯一建议。

希望这是对您有用的信息。

关于c++ - 脚本语言和游戏开发/编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7434267/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com