游戏的那些事儿

RVO的寻路障碍物改进 RVO的障碍增加圆形障碍物 阅读详情

  不知不觉又到12月了。近期写代码少了很多,多了时间去看书学习和打游戏,这个过程想了很多也思考了很多,今天就说说近来我的所思和所想吧。
1、从war3看寻路算法
  这个是我昨天想到的。我们打dota的时候,在追杀一个红血的英雄的时候,应该一下一下地点追杀的路径到直线距离的时候再A。以前我总是A对方红血的英雄以致常常以追杀失败而告终,现在学乖了,知道如何去杀,命中率自然大大提高了。这里不是想说明打游戏的技巧,而是由此引出游戏寻路算法的一些思考。寻路算法主要分为3种,Dijkstra算法、BSP算法和A*算法。Dijkstra算法侧重于精确地找到最短的路径,但速度较慢;BSP算法侧重于快速地找到一条路径,但往往有障碍的情况下效果不佳;A*算法则是两者结合的产物,是游戏中最为常用的寻路算法。然而从war3来看,其用的应该是BSP算法而不是A*算法,因为如果用的是A*算法上述情况只需A对方英雄追杀而不用人工的点路径了。魔兽里面之所以不用A*主要原因可能是考虑求解的速度问题,A*求解速度虽然比Dijkstra快,但仍然难以满足实时变化的坐标点之间寻路的要求,尤其是3d地形而路径又比较长的情况下。魔兽这样做能满意玩家实时画面动态更新的效果,不会让玩家有停滞的感觉,然而就让玩家多了不少的操作,尤其像我操作比较难的玩家来说是一种噩梦。这样让我想到难道真的没有办法么?昨天灵机一动想了一种比较折中的办法,就是根据寻路的直线长短来确实是用哪种方法进行寻路:程序首先判断英雄要到达的坐标点离自己坐标点的距离,如果距离超出一定范围则使用BSP算法,否则使用A*,这样做的好处是在追杀时往往距离较短用A*可以保证求解速度而又能找到一条好的路径,当距离比较远的时候,让英雄走多点弯路其实也感觉不出来。当然,这只是自己想想而已,实际运用情况如何还要看实际求解速度是否可以满足不让玩家感到延迟的需求。后来自己又研究了一下A*算法,发现在有障碍物的情况下搜素范围还是有点大,就想了一种办法来改进,这个得等空闲的时候再把算法写出来看看效率啦哈。
2、游戏与计算机图形学
  之前一段时间研究游戏服务端的东西比较多,近来把重点转到了客户端。说实在像公司现在的2D引擎是没什么特别可研究的,除了学下如何封装,以及一些功能的需求以外,要看当然得看3D的啦。说到3D肯定离不开计算机图形学啦,还记得当年大二的那门课,想想现在确实是这么有用的,不过当初是没好好地学,现在就得好好地补回来,结果发现这确实是门高深的学问加上自己数学基础又不是很好,所以以后还是得多花点心思才行哇。然后当然就是OpenGl啦,现在做游戏3D最出名的莫过于D3D和OpenGl了,基于OpenGl是跨平台的而且自己又是学习过一下,所以就又研究了一下OpenGl的Api以及一些常用的用法。尽管都是搞了一些皮毛,但当是打个基础吧。现在还是觉得那句老话,用什么实现不是特别重要,重要的是思想和算法。
3、游戏与脚本语言
  近来我们要搞一个flash的小游戏,用于嵌入小游戏的对战平台的,可能就是类似种菜的那种玩意。说实在做这个东西是没什么劲头的。不过领得工资就得做哇,加上近来也闲得有点不好意思了。于是花了两天时间研究了一下ActionScript,发现这个东东语法跟Java极像...话说回来现在学习一门新的编程语言两三天就差不多够了(当然我说的是基本的东西),因为语法及许多机制都是一样的。还记得以前有段时间对脚本语言像JavaScript、vb一类的比较反感,后来发现不同的语言是用在不同地方的,没有好不好之分,反而是学了python以后被其简洁优雅的语法吸引了。在游戏中把脚本语言语言的使用提升到一个高度,尤其是魔兽世界把lua一战成名了。当然脚本语言扩展性以及容易编写程序的特性使其成为游戏开发中必不可少的东西。
4、国内游戏与国外游戏
  打游戏多了自然有对比,特别国内游戏和国外游戏形成了极大的不同引起了很高兴趣,就简略说说自己的一些感受吧。国内游戏基本上都是网络游戏,像点样的单机游戏几乎没有(什么连连看、对对碰之类的小游戏不算);国外则是有更多高质量的单机游戏,而相对而言网游则没有国内的泛滥。当然,这里面包含了市场和技术的因素,因为一款单机游戏很难长时间吸引玩家的,而且中国盗版严重,做单机游戏几乎是无利可图的。至于国内网游,基本上有两种,一种是可以长时间运营的,这种可是最能赚钱的,不过这样的游戏不多的,另一种则是3个月挂到的靠短期的运营捞取一匹。至于这种情况在国外多不多就不太清楚了。接着说说技术方面,国内游戏技术值得自豪的应该是网络这一块,因为国内游戏人数远比国外多,因此构建高性能服务器成为亟待解决的问题,这方面的技术基本与外国持平或者甚至超越。至于在客户端游戏表现和游戏AI上,国内与国外相比还是有不少的差距的。特别在3D和高级的AI上更是差距明显,国外的单机游戏像极品飞车、NBA、FIFA、无冬之夜等在3d表现和游戏AI上国内暂时是无法企及的。国外的许多单机游戏真的能长时间给人回味然后成为经典。

5、游戏与C++

  做游戏脚本语言必不可少,而C++就是核心,所有核心的算法都是C++写的,这样才能保证运行的效率。近来自己也抽空深入一点地学习了一下C++,主要看了《深入浅出MFC》、《Effects C++》、《more Effects C++》,虽然还有很多没看完和不理解,不过确实都是好书,至于那本《深入C++对象模型》实在太难给我暂时放下了。其实《深入浅出MFC》简介的介绍了windows编程,C++的一些方面特性以及对一些英语用词的准确翻译令我印象深刻,是值得推荐的一本书,名符其实的“深入浅出”。至于《Effects C++》、《more Effects C++》比较精辟讲到了使用C++的关键点而且深入到一些编译器的机制也另我这个C++的菜鸟大开眼界,不过碍于水平有限以后还得多读多想才能真正的理解。

  好吧,今晚就记录到这里了。

基于NavMesh寻路、漏斗寻路、RVO动态避障自创的服务器大规模寻路+动态避障算法的实现 一、描述 TW项目是一个拥有较广阔野外空间的SLG游戏,玩家的军队方阵可以在野外进行长距离行军、短距离自由行军、占领要塞、驻扎、形成战斗阵型战斗等行为。其中,野外的山脉、河流等会产生静态阻挡;而由玩家迁城、把守要塞、驻扎等行为,会在野外地图上产生动态阻挡。 每个服务器活跃军队方阵目标5万个,每天产生的长距离寻路请求可能达几十万或者百万个,并且都需要在服务器端计算,用常规的A*寻路、navmesh寻路、ROV避障算法计算量巨大,影响服务器效能。所以我们可以采用两种解决方案:第一... 阅读详情

相关推荐

S3PathFinding:RTS游戏S3的寻路算法,算法采用A-Star算法实现

S3寻路 RTS游戏S3的寻路算法,算法采用A-Star算法实现

即时战略游戏中实用的寻路算法分享

GameRes游资网授权发布,文 / 伍一峰   RTS中的寻路系统一般需要满足有以下几个条件:   1. 效率高,因为rts普遍地图大,单位多,所以处理效率很重要。   2. 易编辑,以便于level design。   3. 效果真实,如能找出最优(或者是看上去合理)。   4. 可以应对动态的游戏世界,例如起建筑。   一般用于rt

caoshulin1989的专栏 2243

js 模仿魔兽争霸

js 模仿魔兽争霸

关于VO、RVO、ORCA的个人理解

VO,RVO,ORCA的个人理解

zzzzzzz12345699的博客 7172

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

从解压到编译:手把手带你用TeXstudio搞定第一篇ACM LaTeX论文

本文详细指导如何使用TeXstudio从解压ACM LaTeX模板到成功编译第一篇学术论文的全过程。涵盖环境准备、模板配置、TeXstudio设置及常见问题排查,特别针对ACM会议论文格式要求,帮助学术新人快速掌握LaTeX写作技巧。

weixin_30655569的博客 254

游戏那些事儿

聊一聊游戏那些事儿

whq789456的博客 541

【博弈论基础与几大经典模型】古诺模型、斯塔克尔伯格模型Stackelberg Game、价格领导模型、Bertrand模型、Sweezy模型

博弈论中经典模型☞古诺模型、斯塔克尔伯格模型、价格领导模型等

学习记录 3万+

游戏评测是怎么一回事儿

游戏评测是对一款游戏进行综合分析和评价的过程,旨在帮助玩家了解游戏的优缺点,从而决定是否购买或尝试该游戏。游戏评测通常由专业的游戏媒体、游戏评测师或普通玩家完成,内容涵盖游戏的多个方面,包括但不限于画面、音效、玩法、剧情、创新性、可玩性等。

纸上得来终觉浅,绝知此事要躬行 1328

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

从法律文档到知识图谱

这里我们定义了两个 Pydantic 模型:Location 用于捕捉结构化的地址信息,包含可选的国家、州和地址字段;Party 用于表示合同参与方,包含必填的名称和可选的位置详情。字段描述通过告知 LLM 每个字段具体需要查找哪些信息,来辅助提取过程。"""包含结构化地址组件的位置信息。"""country: Optional[str] = Field(None, description="国家")

Anspire的博客 3030

4399游戏存档的那些事儿

4399游戏存档的那些事儿 本文旨在简单分析4399游戏存取档的加解密 工具在吾爱都有提供下载 工具名称 用途 ffdec 反编译swf文件 charles 抓包 开发IDE(随意) 存档加解密复现 一、抓包 随意找一个支持存档的游戏进行抓包, 这里不分析如何定位存取档数据包~直接说了 [留白,上传图片] 之前大概了解, 存档数据采用zlib压缩, 这里我们直接对抓包的存档[data]进行zlib解压,确实解出来了, 但是发现解压后的数据前会多出几个字节 [留白,上传图片]

lao3.me 5370

PCL 最小生成树用于法向量定向【2025最新版】

PCL 最小代价生成树用于点云法向量的定向。博客长期更新,本文最近更新时间为:2025年9月15日。

点云侠的博客 2067

研发游戏的那点事儿

  如果一个程序员真的投入进去那个世界,是难以自拔出来。一个游戏世界的缔造者,那种成就和期待是任何东西都不可比拟的。以前喜欢玩金山的游戏,我有部分朋友以前是金山的,金山的技术那是行业内顶尖的。所以玩金山的游戏,我愿意花钱,我也不是金山的拖。现在一个个的大游戏公司:完美,网易,盛大,蜗牛,百游等这些都是国内顶尖的虚拟世界制造商。制作游戏和应用不同,这也有本质的区别,做游戏为了什么,为了赚钱,那做出来...

weixin_30633405的博客 95

YOLOv11改进 - 卷积Conv | RFAConv:感受野注意力卷积动态调整感受野,提升小目标检出精度

本文介绍了感受野注意力卷积(RFAConv)及其在 YOLOv11 中的结合。空间注意力虽广泛应用但有局限,RFAConv 是将空间注意力与卷积操作融合的新型注意力机制,通过强化感受野空间特征关注、解决卷积核参数共享挑战、增强大尺寸卷积核处理能力等策略优化卷积核功能。它有基于 Group Conv 和 Unfold 两种实现方式,实验表明前者性能更好。我们将 RFAConv 集成进 YOLOv11,在数据集实验证明了方法优越性 。

魔改工程师的博客 1220

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动分类、检测和分割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性。

Snu77的博客 2748

十分钟读懂游戏研发、发行、渠道那些事儿

转载地址:https://www.gameres.com/854957.html 国庆在家写了7天东西,实在是累得够呛。我重新梳理了一下以前做过的事儿,正好把去年年初发到腾讯GAD的文章拿过来做个修改补充,算是再做个总结吧。 这篇文章主要是介绍游戏行业的上下游产业链有哪些玩家,游戏渠道SDK是什么,还有最后文末我的一些不怕打脸的预测。 游戏行业公司大体可以分为四类:研发商、发行商、游戏平台或渠道、...

疯狂的程序员 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【构】游戏状态机的那些事儿

游戏中,很多模块或游戏个体都是处于一定状态中,并且他们的状态还会根据不同条件进行切换。例如:进局的时候,需要先进入Loading状态,加载相关资源,加载完毕后播放过场动画,之后进入战斗,战斗结束时还会进入结算状态。再例如NPC或者怪物的AI,都可以分为例如行走、警戒、攻击、死亡等状态。 这些状态设计和实现的好坏,直接关系到一个游戏的丰富程度。 本文就聊一聊这些状态的事儿。

Kingous-惊蛰 1572

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

游戏配音中那些事儿

人们都知道在录音棚里需要绝对的安静,甚至不能有鞋底摩擦地板的声音,更不要说大声喧哗。当调好配音演员与话筒的位置,就不允许前后左右的乱动,如果是激烈动作中的台词,则要求演员做到内动外静,台词的动感即要身临其境,又要保证强弱远近的稳定。 一动一静听起来很矛盾,但这也正是考验...

chuozuo1195的博客 117

游戏音乐制作中必须要了解的事儿

对于玩游戏的小伙伴们来说,游戏音乐并不陌生,伴随着游戏音乐在游戏内欢快的任务,杀敌。游戏有多种类型,游戏类型与风格的定位是一款游戏音乐走向的重要依据,那么在游戏音乐制作中要了解哪些事儿呢?今天跟着游戏音乐制作小编一起来看看。 一、游戏的类型 不同的游戏所搭...

chuozuo1195的博客 182

游戏音乐外包中的那些事儿

游戏音乐外包对于游戏开发商们来说并不是一件陌生的事儿,游戏音乐外包找什么样的公司比较好呢?什么样的游戏音乐外包公司能做出来我想要的音乐呢?对于很多新游戏开发商来说游戏音乐外包是必备不可缺少的经费支出了。奇亿音乐来跟大家说一些在游戏外包过程中的痛点吧! 首先要确定需求,游戏制作组需要先行确实需...

216

3D游戏建模师介绍,来看看3D游戏模型师要做哪些事儿吧

现在3D建模是非常热门的行业,很多同学想入行,但是多数人对于3D设计师的概念非常模糊,这里我介绍一下3D设计师大概有哪些职业: 1.3D游戏设计师 2.效果图设计师(室内,建筑等等) 3.工业设计师 4.3D动漫设计师 基本就这4类,这里我要介绍的是我的职业,游戏设计 首先介绍的是建模,建模是游戏设计中最重要的环节,占整个模型制作的70%,建模的方法很多,游戏模型常用的是polygon...

juan2222的博客 1856

游戏服务器的那些事儿

https://www.fgba.net/sitemap.xml

august5291的博客 3545

【构】游戏命令模式的那些事儿

游戏中,经常会出现各种不同模块之间的调用,如玩家通过手柄Joystick的方向键控制角色Player的移动,或者角色Player调用Weapon的开火等等。面对这类调用,最简单的方法就是 被调用者 暴露出相关接口,提供给 调用者 使用。然而这种看似简单有效的方法(会写程序的都知道),在实际使用中却隐藏了很大的问题。本文针对这些问题,谈一谈游戏中关于 命令 的那些事儿。 1 我们的问题让我们来考虑一个

Kingous-惊蛰 1250
上一篇: 人工神经网络
下一篇: C/C++拾遗
magic_feng
博客等级 码龄19年 17粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值