最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:2

【推荐】游戏编程里面有哪些经典或者很酷的算法?

 attach_img

5

帖子

11

回复

14

积分
最后登录:
2025-04-06 08:08
注册时间:
2023-05-19 10:16
楼主
  发表于:2025-04-06 11:29:29|查看用户信息

游戏编程里面有哪些经典或者很酷的算法?

年后就要去xx公司做游戏开发惹。。有哪镇得住场游戏开发用得到的牛逼的算法没呢,比如A*寻路、指尖计算啥的~。~多多指教


4

帖子

3

回复

6

积分
最后登录:
2025-04-06 09:49
注册时间:
2023-03-11 17:03
1 楼
  发表于:2025-04-06 11:31:10|查看用户信息

得益于游戏逻辑的多样性,游戏编程中用得到算法的主要是游戏的业务逻辑。下面,力扣君来简单说说做游戏相关用得到的算法吧!

1. 贪心

其实生活中基本都用得到贪心算法,在面对陌生事物时,优先选择直观上最划算的,就是贪心,游戏里也一样,各种计算机制都会用到贪心。从flash小游戏,到匹配机制,都可以用到贪心。

2. 排序

排序也一样,好友排序,属性排序,各种各样的场景下都会用到排序,最基础的算法。

3. 堆

堆这种数据结构相对用得最多的应该是最大堆,即构建一个堆,每次可以O(1)取其中的最大数,O(logn)添加元素,往往用于需要动态维护最大值的情况。

4. 队列、栈

队列是相对而言用的最多的数据结构之一,无论是搜索中的广度优先搜索,还是协程的应用都需要用到先进先出的队列。

栈这种数据结构在游戏里被用到的也相对不少,最简单的纸牌游戏就是通过栈的数据结构实现的。

5. 搜索

搜索在做算法的时候用得很多,但做游戏的时候一般很少使用。

原因有两个,一个是写搜索相对而言需要更小心,其他的地方写错了可能只是这里停下出错了,但搜索出错往往会导致死循环,二是,搜索的应用场景较小,搜索主要适用于对整个游戏所有场景进行遍历的小工具上,其他情况下游戏用到穷举的可能没那么多。

6. 动态规划

和搜索一样,因为游戏往往是让玩家去做决策,所以可能动态规划很少被用到。但很多小游戏都有一定的动态规划思维在其中,就比如出去采集资源,怎么样可以让带回去的资源在有限的背包容量下价值最高。

7. SPFA & Floyed

寻路是很多游戏中不可或缺的一部分,SPFA,单源点最短路径,一般是用于自身的寻路系统,而floyed 一般是用于网格状棋盘的寻路系统。

8. AI 逻辑

这里的 AI 逻辑不是人工智能,而是 NPC 的行动机制。往往依靠状态转移树或者状态转移方程来完成。

游戏里算法还有很多,在大规模的线上对战中,还用得到一些复杂的预测算法,在游戏渲染里也会有大量的渲染算法,这些都需要你在今后的工作中自己去慢慢探索。


5

帖子

7

回复

11

积分
最后登录:
2025-04-06 08:43
注册时间:
2023-03-12 12:10
2 楼
  发表于:2025-04-06 11:43:35|查看用户信息

你先搞清楚你是去做游戏引擎还是做游戏。

做游戏引擎需要懂比较全面的图形图像学知识,熟悉opengl相关算法,各种开源引擎中实现的算法。

做游戏更多的是要懂的软件工程学,某种引擎的熟练使用,引擎内部实现其实了解性的懂的就够了。

中国现在的自主引擎基本上都是在一些国外开源引擎基础上修改得来(我只知道当年腾讯的引擎是ogre改的,其它公司就不太清楚了,现在腾讯不知道还在搞引擎开发不)。

重点不抓住是干不好活的。


共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录