游戏制造者/引擎,如Buildbox、GameSalad、Construct、GameMaker等,原则上是如何工作的?我不想获得技术列表(编程语言、API等),但是从软件工程的角度看,这些程序如何将用户的交互转换成可导出的代码呢?
我想要的只是一个粗略的概要,说明软件是如何从用户与软件的交互中创建代码/源文件的。虽然细节很棒,但高层次的概述就足够了。
我是CS专业的二年级学生,对Java/C/C++以及一些web语言和框架有一定的经验。很难找到游戏创建软件是如何工作的信息,因为在一般情况下,关于如何制作游戏有更多的内容。
如果您不知道,Buildbox、GameSalad、Construct、GameMaker是流行的拖放游戏构建器。虽然Buildbox完全是拖放式的,但其他版本都有可选的脚本语言作为特性。
发布于 2016-12-05 07:17:07
我遇到的最早的这种系统是一个叫做"HURG“的引擎。从那以后,他们变得更先进了,但基本上他们的工作方式是一样的:他们有一个嵌入式预编程引擎(或者为不同类型的游戏提供几个不同的引擎),它们有大量的定制选项,一种简单的游戏对象编程行为的方式(在大多数情况下也是用某种脚本语言将这些对象与外部编写的程序连接起来的方式),以及一个用于导入您的艺术品的图形资产管道。然后,他们有一个方法,将除编辑器之外的所有东西打包到一个可安装模块中,该模块带有一个可执行文件,该可执行文件只需加载引擎的选项和资产并启动它。
换句话说,它们与支持完全转换mods的高度定制游戏并没有太大的不同(例如,半衰期系列,它支持几乎和游戏本身一样著名的mods,例如回击),只不过它们提供了您需要的开发工具,而不是单独获得这些工具。
发布于 2016-12-05 07:36:13
它们起作用是因为数据和代码是一回事。
当您在玩游戏时向计算机提供输入时,您的输入就变成了数据。当你使用游戏生成器时,你提供的输入变成了数据。当您编写代码,构建一个游戏,您提供的输入,成为数据。
都是数据。秘密在于你如何使用这些数据。
你看到的是真正的一场比赛。它可以重命名,剥皮,级别修改,重新编写脚本,但它是相同的游戏。没有改变的部分,人们称之为“游戏引擎”。游戏引擎设定了性能和效果的限制。它不限制内容。
当人们对一款新游戏产生令人惊讶的效果感到兴奋,而这是上一代游戏所无法做到的,那么他们被淘汰的是游戏引擎。
当人们对一款新游戏感到兴奋时,他们会有一个令人惊叹的故事、艺术以及他们从未见过的谜语,他们感到兴奋的是满足。
事实上,我现在所写的内容将成为封装在stackexchange网页引擎周围的软件工程皮肤中的内容。
所以是的,那些用积木盒制作游戏的人是游戏开发者,就像在这里发帖子的人是网络开发者一样。
发布于 2018-01-25 13:49:16
为了避免过于宽泛,我想要的只是一个粗略的概要,说明软件是如何从用户与软件的交互中创建代码/源文件的。虽然细节很棒,但高层次的概述就足够了。
基本上,您可以输入数据和输出代码。
https://softwareengineering.stackexchange.com/questions/337513
复制相似问题