首页 > 代码库 > 游戏开发常用算法概述

游戏开发常用算法概述

游戏开发属于软件开发中的一种,但又是非常特殊的一种。

游戏开发几乎可以用到软件设计中的任何一种算法,任何一种设计模式,任何一种编程思想,较普通的软件开发,难度相对要大一些。

游戏几乎模拟出一个完整的世界。

下面是我收集的一些常用的算法、设计模式及变成思想,欢迎拍砖和补充。


一 算法


1 随机数

常用于抽装备,暴击,闪避等

2 最短路径

用于地图中寻找到达指定位置的最短路径,dota,LOL中,点击地图上任一可达的点,英雄单位就会找到最短的路径,到达指定点。
不知道有木有人玩起凡,起凡中的寻路算法就比较坑爹,找的不是最短路径。



二 设计


1 观察者模式

用于对全局数据的监听,但数据改变时,界面做出相应的刷新。
例如,玩家升级时,玩家的属性界面需要刷新,关卡界面也需要做出相应的刷新,如开启新的关卡等。

2 有限状态机

对于游戏中简单的NPC可以用状态机来实现

3 行为树

行为树多用于英雄单位,或者敌方单位等有多种复杂行为的单位


三 思想


1 MVC

数据与界面分离,因为游戏的UI通常是需要经过多次的迭代和挑战,如果数据与UI没有分离,每一次挑战改动量就会非常大。
使用MVC思想写出的代码,一般不是太大的改动只需要调整UI部分的代码,而数据部分是不用改的。

2三层结构

三层结构结构通常是指的对于数据的操作,是对MVC思想中的M进行了更详细的划分。



接下来的一段时间,将一一学习上面列举出来的东西。


游戏开发常用算法概述