绘图引擎将底层的绘图API封装成与实现无关的接口,甚至可以提供几种不同平台的绘图API,进行跨平台开发,进一步给程序员带来很多功能和便利。 。 使用绘图引擎对于开发者来说最大的好处是可以使用通过绘图 API 构建的各种绘图架构和技术,例如 Scene Graph 架构、空间分割、资源管理、光影处理等。游戏引擎是一个一套完整的解决方案,可以提供最大的功能和便利性,同时保持一定程度的灵活性。 除了图形引擎的功能之外,还可能包括其他功能组件,例如播放音乐和音效的音效引擎、确定物理碰撞行为的物理引擎等等。 与简单的绘图引擎相比,一个完整的游戏引擎需要提供很多编辑器和工具,例如地形编辑器、角色动作编辑器等。游戏引擎与美术设计软件(例如3ds Max)的集成也非常重要; 如果引擎包含强大的编辑工具和插件输出程序,不仅可以节省程序开发人员的时间游戏角色,还可以给策划人员和美术设计师带来便利。 它可以减少人为错误的发生率,进一步加快游戏开发进程。 除了上面提到的绘图API、绘图引擎和游戏引擎级别之外,还有一个级别称为Game Framework。 在软件开发领域,所谓Framework是指在软件系统中可以重用的设计。
与游戏相关的著名框架系统包括用于开发Xbox360游戏的XNA Framework和微软大力推广的.NET Framework。 框架系统需要能够提供可立即实现的版本,同时保留灵活、可扩展的接口,以实现框架的可重用性。 另外,由于游戏行业的蓬勃发展,越来越多的公司专注于开发图形引擎和游戏引擎,因此出现了一个名为中间件的新兴术语。 中介软件用于提供特定层面的功能组件材质材料,目的是节省游戏开发的时间和风险。 它包括图形引擎、物理引擎、人工智能引擎、音效引擎等,可以看作是中介软件的一类。 。 还有中介软件开发商,为开发MMO游戏提供完整的解决方案,包括服务器和客户端程序。 在游戏程序开发中,最难的关键点往往是各个层次之间的衔接和沟通。 对于每个级别游戏引擎设计模式游戏引擎设计模式,开发人员需要使它们尽可能独立,并减少各个级别之间的耦合。 只有这样的设计模式下,才有利于实现高度的组件化和层次化的复用性。 游戏引擎。 简而言之,就是接口与实现分离的设计理念。 最理想的情况下,希望引擎框架的通用代码和具体游戏相关的代码能够完全分离和管理,以达到对引擎相关代码改动最小的情况下提供不同引擎的目的。 使用的游戏代码。
游戏引擎提供的功能就像玩乐高玩具一样。 我们可以利用积木盒中的各种不同形状的基本积木,拼装出梦想蓝图中的巨大模型。 这些基本构建块就像游戏引擎中的各个组件。 根据不同游戏项目的不同需求,可以取出合适的积木并组装起来,形成一个完整的游戏。 搭积木形成模型的步骤需要标准化、规范化的流程,使得“拼装”的动作非常直观、易懂。 无论未来积木的内容和材质是否发生变化,都不会对用户造成任何问题。 影响太大了。 积木的“组装”动作就像程序的“界面”。 积木的组合方式或者界面的使用方式的任何改变都会给用户带来麻烦和不便,并且大大降低用户体验复制的可能性。 然而,在实际的开发过程中,我们可能会发现,要实现各层独立、接口实现分离并不是一件容易的事。 尤其是当程序结构较差的时候,越来越大的游戏程序代码就会相互重叠、交织在一起,就像一座地基不稳却又拼命在上面建造的高楼一样。 因此,正如《设计模式》书中的设计思维所说:我们应该注重分离“变化”和“不变”的部分,分别封装“变化”和“不变”的概念,这样我们就可以进行更改时将更改分开。 所需的工作量减少到最低限度。
文章来源:https://ishare.iask.sina.com.cn/f/iSud5vOyv9.html?utm_source=sgsc