29 02月 游戏开发者心得分享中心 移动游戏战斗系统实现方式探讨 GameRes游资网授权发布 文/zwg 腾讯一下出了两款MOBA游戏,全民超神,王者荣耀,玩了一下,效果不错,就分析了一下它底层的一些技术,发现一个是采用的状态同步,TCP协议,另一个是采用的帧同步,UDP协议。自从去年了解到即时游戏帧同步这门技术,我就一直关注使用这个技术的游戏,一直没有发...
25 02月 游戏开发者心得分享中心 游戏中常用的寻路算法(5)预先计算好的路径的所用空间 有时候,影响计算寻路路径的不是时间,而是计算路径所需的上百个单元格所占的空间。寻路是需要内存来运行寻路算法,还需要额外内存来存储寻到的路径。运行寻路算法(A*,开集或闭集)所需的临时空间经常会比存储这些寻到的路径所需的空间更大。通过在同一时间内只进行一条路径计算来限制游戏中的计算量,可以将你需要...
23 02月 游戏开发者心得分享中心 关于类DOTA游戏多样化技能系统的设计思考 GameRes游资网授权发布 文 / 洛城 在游戏里,每一个人物都有很多的技能。像DOTA,英雄联盟一样,技能也不都是单一的直线判断,而是有很多的花样。这类游戏的技能系统是如何设计的呢? 这里想从自动机的角度来抽象这个问题,以期得到一个更泛化的解决方案。因为我是引擎程序员而非game pla...
22 02月 游戏开发者心得分享中心 使用行动列表去创造简单且可扩展的AI 文/Jesse Crafts-Finch 作为人类,我们似乎总倾向于使用自己所熟悉的解决方法。我们总是会按照我们所知道的方式去做某些事,而不是按照做这些事的“最佳”方式。因为总是带着这种想法,所以我们很容易使用一些过时的技术,并使用那些同时代人所不理解,或者并不是那么有效的方式去执行特定功能。所以...
22 02月 游戏开发者心得分享中心 趣说游戏AI开发:曼哈顿街角的A*算法 那么A点到B点的实际距离是多少呢?考虑到我们只能沿着街道行走,而无法从街道围成的区块中穿越,因此在这种情况下A点到B点的实际距离并不是它们之间的直线距离,而是应该如下图所示的这样: 转换成数学语言就是这样: dis = abs(A.x - B.x) + abs(A.y - B.y) 对了,...
18 02月 游戏开发者心得分享中心 依赖注入 这样的坑游戏编程要谨慎 文/T2噬菌体 1 IGame游戏公司的故事 1.1 讨论会 话说有一个叫IGame的游戏公司,正在开发一款ARPG游戏(动作角色扮演类游戏,如魔兽世界、梦幻西游这一类的游戏)。一般这类游戏都有一个基本的功能,就是打怪(玩家攻击怪物,借此获得经验、虚拟货币和虚拟装备),并且根据玩家角色所装备的...
18 02月 游戏开发者心得分享中心 游戏中常用的寻路算法的分享(4)处理移动中的障碍物 一个寻路算计算出一条绕过静止障碍物的路径,但如果障碍物会移动呢?当一个单位移动到达某特定点时,原来的障碍物可能不在那点了,或者在那点上出现了新的障碍物。如果路线可以绕过典型的障碍物,那么只要使用单独的避障算法来配合你的寻路算法。寻路算寻找到期望的路径,并且在沿着路径的同时绕过障碍物。但是如果障碍物可...
18 02月 游戏开发者心得分享中心 一个菜鸟程序员的游戏开发心得 图集还有一个一个妙处就是可以增强游戏绘制性能,在WebGL渲染方式下,图集的使用可以减少绘制时图集的频繁切换,形成批量绘制,让游戏表现更流畅。但是要达到批量绘制的效果的话,UIImage节点就需要尽可能的排布在一起,为什么这么说呢,在游戏中少不了有文字的存在,如果在一堆的UIImage节点中添加...
17 02月 游戏开发者心得分享中心 迷宫寻路系列常用算法逻辑探究 关于该问题,大家肯定不假思索的提到: 宽度优先遍历(BFS)。 // 1).初始化工作// 1.1). 把源节点坐标放入队列中queue.push((x, y,step=0));// 1.2). 标示该节点访问过visited[(x, y)] = true // 2).BFS procedur...
17 02月 游戏开发者心得分享中心 魔方游戏实现:任意阶魔方的表示 图2.1 魔方六面的空间位置 由此确定了各个面的空间方位,给SurfaceClass添加如下定义: <summary>当前表层的相邻表层(顶、底、左、右、前和后)</summary>Public NeibourSurface(5) As CubeSurfaceClass图2...
17 02月 游戏开发者心得分享中心 关于烂代码的那些事(下) 假设你已经读过烂代码系列的前两篇:了解了什么是烂代码,什么是好代码,但是还是不可避免的接触到了烂代码(就像之前说的,几乎没有程序员可以完全避免写出烂代码!)接下来的问题便是:如何应对这些身边的烂代码。 1. 改善可维护性 改善代码质量是项大工程,要开始这项工程,从可维护性入手往往是一个好的开始,...
17 02月 游戏开发者心得分享中心 数独游戏求解:解法适用于任意阶数的数独 2)9阶(可填数字范围1~9,宫格3阶) 3)16阶(可填数字范围1~16,宫格4阶) *见附录 1、数独的表示 对于N阶数独可以用一个N*N的二维数组表示 1)数独阶数GridRank=N 2)宫格阶数SubGridRank=Sqrt(N) 3)数独包含宫的阶数SubGridIn...
16 02月 游戏开发者心得分享中心 游戏物体的力与运动:用unity实现磁体相互吸引和排斥的效果 GameRes游资网授权发布 文 / Xylitogum 本文基于Unity 5.3版本和C#语言,使用前请注意本文未必适用于其他的版本。 前言 我们知道在诸如Unity此类的游戏引擎中,游戏内物体是已经有现成的力与运动的物理模型的。我们可以调用相关的API来对物体施力(比如Unity的A...
16 02月 游戏开发者心得分享中心 游戏中常用的寻路算法的分享(3):A*算法的实现 概述 剥除代码,A* 算法非常简单。算法维护两个集合:OPEN 集和 CLOSED 集。OPEN 集包含待检测节点。初始状态,OPEN集仅包含一个元素:开始位置。CLOSED集包含已检测节点。初始状态,CLOSED集为空。从图形上来看,OPEN集是已访问区域的边界,CLOSED集是已访问区域的内部...
16 02月 游戏开发者心得分享中心 VR游戏制作中“延迟”的优化方法 GameRes游资网授权发布 文/逍遥剑客 VR中的”延迟”, 特指”Motion-To-Photon Latency”, 指的是从用户运动开始到相应画面显示到屏幕上所花的时间。 这中间经过了大概这么几个步骤: 传感器采集运动输入数据采集到的数据进行过滤并通过线缆传输到主机游戏引擎根据获取...
15 02月 游戏开发者心得分享中心 如何利用多核CPU提高虚拟现实性能? 虚拟现实引领新时代令人惊喜的新体验,但也带来了各种新的挑战。其中之一就是虚拟现实应用“耗能”问题。 虚拟现实挑战了图形和仿真技术,以至于创造优秀虚拟现实体验的硬件需求成为日前热点。这些高要求给虚拟现实体验背后的软件带来了巨大的压力。这些软件该如何充分利用现有的硬件,包括如何更好利用多核CPU。 ...
14 02月 游戏开发者心得分享中心 Unity超级角色研究(四)——地形检测 GameRes游资网授权发布 文/瀚阳 虽然此前写了5篇角色的文章,但我只是简短地提到了地形检测。知道角色站在什么地形上是非常重要的话题,因为很多角色的行为往往都取决于所站的地形。做好地形检测,可以明显提升体验的流畅度。 射线直接从底部球心直接向下打出。在角色站在斜坡的情况下,下面的点是不正...
14 02月 游戏开发者心得分享中心 VR开发入门:3D图像的处理过程 在进行第一个VR应用开发之前,我们来看看几个重要的概念: 搭建场景:创建一个可视化、可交互、脚本驱动的虚拟现实环境。 立体渲染:用两个相机渲染场景分别表示用户的左右眼,然后通过Oculus Rift头显的透镜,这两幅图片被重合在一起,从而形成清晰且具有深度视觉的场景。 头动追踪:通过捕获Ocu...
06 02月 游戏开发者心得分享中心 CC++服务器架构机制设计总结 作者: 徐波 来自:战魂小筑 - C++博客近期在写基于go的游戏服务器框架,在全面脱离C/C++前,需要对老架构进行一个总结。基于C/C++游戏服务器框架总体设计的还是不错的,兄弟们总体使用效果都是好评。因为在技术上喜欢偷懒,所以在很多设计上,都是力求简单,高效(开发效率)。基于任务的异步DB查询...
04 02月 游戏开发者心得分享中心 游戏制作中合用的遮挡剔除技术分析 GameRes游资网授权发布 文/韦易笑 umbra具体怎么搞的不得而知,在用不了umbra的情况下,推荐几个固定管线时代就出现的确实能在一周内实现的纯软件方法: 传统标准PVS 标准 PVS其实就是两步: 1. 先求解简易模型:减面,枚举模型上每个顶点,找到一个点使得删除该顶点,模型变...