我听说过数据驱动设计,并且已经进行了一段时间的研究。因此,我阅读了几篇文章以了解这些概念。
文章之一是由Kyle Wilson撰写的数据驱动设计。正如他所描述的,在我看来,应将应用程序代码(即,用于控制诸如存储器,网络等资源的代码)和游戏逻辑代码分开,并且游戏逻辑代码应由外部数据源驱动。在这一点上,我可以想象开发人员将编写某种游戏编辑器,以接受有关游戏中对象的外部数据(例如角色信息,武器信息,地图信息...)。场景设计将由程序员编写的自定义语言/工具编写脚本,以使游戏设计师在游戏对象之间创建交互。游戏设计师将使用现有/自定义脚本语言编写游戏脚本,或使用拖放工具创建游戏世界。我能想到的工具方法示例是World Editor,它通常与Bliizard的游戏一起打包。
但是,另一篇文章反对使用数据驱动设计,即反对数据驱动设计的案例。作者建议不要让数据来驱动游戏设计,因为开发游戏会花费更多时间,因为游戏设计师会承担编程的重担。取而代之的是,将有一个游戏程序员可以从草图设计中自由编程游戏,并在游戏编程完成后由游戏设计师进行验证。他称这是程序员驱动的。我对这种方法的看法与我以前使用的方法类似:游戏逻辑是应用程序本身,与上述想法相适应,应用程序是游戏编辑器,实际游戏是基于该工具设计的。
对我来说,第一种方法似乎更合理,因为游戏组件可用于许多项目。使用第二种方法反对数据驱动的设计,游戏代码仅属于该游戏。这就是为什么我认为魔兽争霸拥有如此多的游戏类型,例如原始的魔兽争霸和各种自定义地图,以及其中最著名的一种:DOTA实际上定义了一种新的游戏类型。因此,我听说人们称World Editor为游戏引擎。游戏引擎应该是这样吗?
因此,在所有这些之后,我只想验证我对这些想法(数据驱动,程序员驱动,脚本编写等)的理解是否存在缺陷?