31 03月 游戏开发者心得分享中心 移动游戏性能优化技术干货分享——CPU篇 性能优化是游戏项目开发过程中一个永恒的话题。玩家的需求和项目的要求永远在不停增长,同屏人数、屏幕特效和场景复杂度永远在向着“榨干”硬件的趋势逼近。所以,无论硬件设备发展到何种程度,无论研发团队有多么丰富的经验积累,性能优化永远是一个非常棘手而又无法绕开的问题。 就当前游戏而言,性能优化主要是围...
29 03月 游戏开发者心得分享中心 Unity VR游戏开发干货教程:VR中的用户界面 GameRes游资网授权发布 文 / 王寒 在设计VR应用的用户界面时要考虑很多因素,而这些因素对于传统应用或游戏的界面设计可能都不是事儿。下面我们会看看作为一个VR开发者在设计用户界面时可能会遇到的一些问题,以及跟硬件相关的一些东西。 UI分辨率和画质 目前DK2的分辨率是1920*10...
28 03月 游戏开发者心得分享中心 H5版俄罗斯方块游戏开发:游戏的AI算法 点击tetris.html, 在浏览器上运行(由于HTML5程序, 最好在Chrome/Firefox上运行)。 算法分析: 核心算法参考了如下博文: 传统规则俄罗斯方块AI技术介绍控制台彩色版带AI的『俄罗斯方块』 本程序也采用改进的Pierre Dellacherie算法(只考虑当前...
25 03月 游戏开发者心得分享中心 Erlang 游戏开发经验总结 GameRes游资网授权发布 文/没有开花的树 早早就想写这篇文章,但这段时间忙于工作的事情,就不自觉地给了自己各种懒惰的理由。现在回头看下这个问题,总结下erlang 游戏开发经验。就当是,为我过去一段时间的erlang开发经历,画上一个小句号。 在写这篇文章前,我看过孔庆泉同学写过的Er...
24 03月 游戏开发者心得分享中心 Unity VR游戏开发干货教程:VR中的交互方式 该脚本需要和Main Camera关联。在每次调用Update()时,该脚本都会使用Physics.Raycast来投射一条射线,以确认该射线是否命中任何collider(碰撞体)。使用该脚本还可以排除特定的Unity - Manual: Layers-在某些场景中,我们可能为了性能考虑,把所有...
22 03月 游戏开发者心得分享中心 解密:腾讯如何打造一款实时对战手游 2015年以来,的市场偏好,逐渐从早期的休闲类、跑酷类、卡牌类游戏,转向重度、操作性更强的ARPG 、FPS、MOBA类游戏。因此实时对战这一游戏玩法,也逐渐成为了的一个核心玩法。纵观AppStore畅销榜前十的游戏,过半都支持玩家实时PK或者合作攻关。由于实时对战有玩家之间自发进行强互动的特点,活...
22 03月 游戏开发者心得分享中心 H5版俄罗斯方块游戏开发:需求分析和框架实现 GameRes游资网授权发布 文/mumuxinfei 前言: 俄罗斯方块和五子棋一样,规则简单,上手容易。几乎每个开发者,都会在其青春年华时,签下xx到此一游。犹记得大一老师在布置大程作业的时候提过:“什么都可以写,唯一不能写的是俄罗斯方块”。 这次想借学Html5的机会,重温下俄罗斯方...
21 03月 游戏开发者心得分享中心 揭秘《英雄联盟》的自动化测试 大家好,我 Jim ‘Anodoin’ Merrill,我的工作是致力于英雄联盟的自动化测试,特别关注的是游戏中的体验。我现在担任一个技术团队的负责人,致力于构建验证系统开发(BSV-Dev)团队。主要工作是构建自动化测试工具,帮助团队书写更棒的测试。 在过去的几年当中,我们致力于改良我们的测...
21 03月 游戏开发者心得分享中心 Unity游戏逻辑服务器实践 文/武龙飞 前言 由于服务器需要做客户端战斗模拟,我们的服务器是用python写的,理所当然我们战斗服务器也采用python重写了一套战斗服务器,遇到了哪些问题: 1、浮点数运算精度问题 2、运行效率问题 3、Unity核心库源码问题 奇思妙想 我们团队内部想,既然客户端有现成的代...
21 03月 游戏开发者心得分享中心 游戏编程实用技能:2D游戏中坐标转换 GameRes游资网授权发布 文/肥宝传说之路 游戏里面经常用到坐标转换,例如地图、战斗技能等。 一、直角坐标和极坐标的转换 前提条件: 1、两坐标系原点重合 2、两坐标系x轴正半轴重合 3、两坐标系单位长度相同 变量关系: 如上图,M的直角坐标为(x,y),极坐标(ρ,Θ)。 ...
18 03月 游戏开发者心得分享中心 游戏服务端开发:如何精确计算MMO游戏技能攻击区域? GameRes游资网授权发布 文 / 肥宝传说之路 游戏技能攻击区域的计算,关乎服务端的效率。需要确保正确,简洁地计算攻击区域,才能快速寻找攻击对象。 今天只讨论地图上距离的问题。 一般情况下攻击区域分为以下几种: 1.点对点,对个人进行攻击 2.射线攻击,其实就是矩形区域 3.扇形...
17 03月 游戏开发者心得分享中心 扩展性、易用性 浅谈游戏状态机的设计与实现 首先是通过接口定义通用状态机接口,然后定义了单间的接口。这种方式统一让所有的状态实现三个函数,这三个函数分别对应切入状态,在状态中,退出状态,需要执行的逻辑分别放在这三个函数里执行,通过这样的分割,状态很容易扩展,也不会混乱。具体代码实现,请看下面说面里面github的地址。 在StateMa...
16 03月 游戏开发者心得分享中心 AtomCat:可以做“软”物体的游戏物理引擎 AtomCat物理引擎程序由C++开发,渲染是基于OpenGL,内嵌于Cocos2d-x。这款引擎在原子(分子)级别上模拟物理运动和受力碰撞的,擅长模拟软体,流体,比如果冻,泡泡,皮筋,细胞,微生物,还有液体表面的波纹等等。这个引擎不只是视觉特效层面的,也可以在运用在游戏的逻辑层面。 一般的非物理引...
16 03月 游戏开发者心得分享中心 关于手游客户端网络压力的一些思考 GameRes游资网授权发布 文/Ron Ngai 场景背景 毫无疑问,策划都喜欢多人同屏战斗。什么万地图,这肯定是策划的最爱了。可是对于游戏来说,这并不是什么非常好的设计。即使解决了服务端计算的性能压力,客户端显示的性能压力。万万没想到的是我们游戏在客户端网络带宽上面遇到了压力。 假设1...
16 03月 游戏开发者心得分享中心 Crytek公布CE5引擎:引入开发者自由定价模式 2016 GDC游戏开发者大会上,《孤岛危机》开发商Crytek宣布了其研发的最新游戏引擎CryEngine 5,同时,引入了用户自由定价的商业模式,学习慈善包Humble Bundle的做法,而Humble Bundle也同时推出了Humble CRYENGINE Bundle包,向用户出售 Cr...
15 03月 游戏开发者心得分享中心 台球游戏的核心算法和AI:box2d模型抽象 如图所示, 其抽象为6个球袋和6个边框构成, 球袋是球落入的目标, 边框则限定了台球的活动范围。 边框抽象 台球边框相对简单, 其可视为静态物体。 其物理形状就是一条边。 // 设置为静态物体类型wallBodyDef.type = b2Body.b2_staticBody; // 采用多...
15 03月 游戏开发者心得分享中心 游戏编程:二叉树实验中Verlet树叶子节点的GPU碰撞算法 GameRes游资网授权发布 文/paraself 最近在FISH当中,我所做的工作是为整个游戏世界构建基于真实物理模拟的树。FISH中的树,利用Verlet物理算法来进行模拟,主要形态为二叉树形式。 FISH中的二叉树实验 对于一棵树来说,他所拥有的数据类型主要有2种:节点和约束。其中节点...
11 03月 游戏开发者心得分享中心 技术干货:赛车游戏中最短路径和最小曲率路径算法 分段的办法是在轮廓中心线上取间隔相等的垂直线段,然后将赛道上的控制点坐标表示为在垂直线段上的相对位置。比如上面这幅图中的第i个线段,假设这个线段的上面端点叫 ,下面的端点叫 ,令 ,则线段上任意一点 可以表示为: 这样做的好处是把需要用二维点坐标表示的赛道转化为一维的在赛道上的相对位置...
10 03月 游戏开发者心得分享中心 游戏编程技术贴:AI设计的若干规则阐述 文/鱼骨头 一般来讲,网络游戏的AI历来就是很简单的AI。相比之下,很多单机游戏的AI就要得复杂一些。而笔者并未从事过大型单机游戏的AI设计,所以也就不班门弄斧了。但至于网游的AI,还是略知一二。 目前游戏中的AI,都是事件引发行为的机制。它们并不会自我学习和成长,都是写死的一些事件(条件)...
10 03月 游戏开发者心得分享中心 技术干货:如何高效实现地图自动拼接功能 一个类似的技术需要使用供过渡的tile,比如草地-水,草地-荒漠等如上图所示的块。但是,把这些过渡块手工放置在合适的位置工作量非常大。一个复杂的地图编辑器会允许用户标记哪些块,然后自动混合。 自动拼接 大部分自动拼接几何包括14个块,包括内部块和外部块(比如全部是草地和全是水的)、上、下、左...