天天动画片 > 八卦谈 > 游戏编程模式(一):概述

游戏编程模式(一):概述

八卦谈 佚名 2023-10-16 08:48:33

除了最基本的编程语言,实际游戏开发涉及到的其它知识比较多:数据结构算法、设计模式、性能优化、多线程安全、网络同步与优化、数据存储、游戏AI、计算机图形渲染等,如果需要参与美术人员的工作还要掌握一定的美术创作能力如原画设计、3D建模、CG动画制作、游戏贴图设计等。


我计划尽可能地将自己在这些领域已掌握和即将学习的知识总结或者读书笔记以专栏或者视频的形式分享出来。本专栏将会总结《游戏编程模式》一书中介绍的一些设计模式,所以会更像是我自己的学习笔记。这本书的主要内容,说是设计模式,不如说是编程模式或者设计套路。我们一般所说的设计模式会指著作《设计模式:可复用面向对象软件要素》(以下简称GoF)中介绍的23种设计模式,但在游戏开发中常用的也许就那么几种,更多地是一些提高代码灵活性、降低耦合性、利于代码重构迭代的设计套路。书中对设计模式的表达使用C++,所以我会沿用书中的形式。

解耦

当一块代码有改动时,没必要修改另一块的代码。肯定需要修改一些东西,但耦合程度越小,改动会波及的范围就越小。解耦当然有代价,需要花费功夫去管理代码,并且经常会损伤性能,特别是在游戏开发中。许多设计模式会依靠接口、指针、消息、虚拟调度或其它机制,都会加大运行时开销,在此处做出权衡需要靠经验。

GoF中介绍的一些设计模式会被常用在游戏设计中:

  • 命令模式

  • 享元模式

  • 观察者模式

  • 原型模式

  • 单例模式

  • 状态模式

本专栏前面章节会着重总结这六种设计模式,大概计划每一章讨论一到两个设计模式,而后面的章节则讨论游戏开发中常见的一些设计套路,按照书中的说法,把它们分为序列模式、行为模式、解耦模式和优化模式。


本文标题:游戏编程模式(一):概述 - 八卦谈
本文地址:www.ttdhp.com/article/41340.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们