将脚本语言嵌入游戏引擎中的编程语言的目的是什么?

What is the purpose of embedding a scripting language into a programming language in a game engine?

本文关键字:编程语言 是什么 引擎 语言 脚本 游戏      更新时间:2023-10-16

我对未来制作游戏很感兴趣,我听说我最喜欢的游戏引擎是用c++制作的,但它嵌入了python。我几乎没有编程经验,但我非常了解面向对象的工作原理。

为什么有人需要/想要嵌入脚本语言到编程语言?

主要原因显然是允许为游戏引擎提供扩展而不需要重新编译整个游戏可执行程序,但在运行时加载和解释扩展。

许多游戏引擎都提供了这样的可扩展性。

…但是我非常理解面向对象是如何工作的。

面向对象与声明的接口一起出现,如何与特定的脚本交互。
因此,python本身就是一种面向对象的语言,它很好地支持面向对象原则。

例如,非面向对象脚本语言的集成,如lua脚本(也经常用于扩展),使这变得更加困难,但毕竟不是不可能的。

原因有很多,但主要的动机是自定义和"回放"。通过回放,我指的是在不需要编程专业知识的情况下自动或重复程序中的一系列任务的能力。Blender就是一个很好的例子