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个块,包括内部块和外部块(比如全部是草地和全是水的)、上、下、左...
09 03月 游戏开发者心得分享中心 揭秘《英雄联盟》的数据服务器 没有漂亮的界面 当然,我创建这个例子是为了强调一些我们在编辑.ini文件时遇到的一些共同的问题。这离用户友的界面相差甚远。编辑原始文本时非常容易混乱——缺乏重要的内容,而其他字段又重复。设计者们每天不得不处理这种混乱,这里总共有 977 种法术,这些功能(当然忽略)位于“MissileEffect...
09 03月 游戏开发者心得分享中心 对抗网络延迟 手游服务器实时同步方案分享 GameRes游资网授权发布 文 / 深圳-宝爷 网络延迟是所有实时同步的游戏都会遇到的问题,下面是关于实时同步问题的一些思考和处理方法。具体的解决方法可能比较特殊,首先这里的服务器并不跑定时器(除了一个游戏结束倒计时的定时器),由前端驱动,延迟的情况下主要是由前端来预测或纠正,服务器辅助,处...
07 03月 游戏开发者心得分享中心 台球类html5游戏的AI设计与核心算法的实现 本文想讲述下台球游戏中核心算法的实现, 以及游戏AI的设计技巧。 当然自己也有个小愿望, 希望能实现一个html5版的台球游戏。 基础物理知识: 1、摩擦阻力 其满足牛顿第二定律: f = m * a 速度与加速度关系公式: vt = v0 + a * t 地面摩擦力与运动物体的方...
03 03月 游戏开发者心得分享中心 《炉石传说》架构设计分析:卡牌技能数据 GameRes游资网授权发布 文 / 燕良@游戏开发 经过前面几次的尝试,我们对炉石的代码已经不陌生了。除了网络机制还没有了解以外,本机的逻辑已经比较熟悉了。 接下来继续向暴雪最NB的技能系统进发,我们的目标是: 分析技能的静态数据描述;分析技能的运行时数据、逻辑组织; 这篇笔记主要记录...
02 03月 游戏开发者心得分享中心 《炉石传说》架构设计分析:Gameplay与Asset管理 如上图所示: 炉石根据资源的不同类型进行分别的AssetBundle打包,一类资源对应一个或者多个资源包;(一类资源分多个包的规则不得而知); 有的资源包真的本地化单独打包,例如“fonts0.unity3d”==》“fontszhCN0.unity3d”; 在程序中,资源包的分类对应枚举...
02 03月 游戏开发者心得分享中心 游戏中常用的寻路算法(6)长期和短期目标 我已经集中讲过了从一个地方到另一个地方寻找路径的任务。然而,一个与之同等重要的问题是:一旦我有一个路径,我该怎样沿着它移动?最明显的答案是从一个位置到另一个的位置的直线移动。然而,你可能想在曲线上移动,或者多次的移动。你可能想把位置偏离成为低优先级的目标。一个更高层次的问题是:你要去哪里?除非你先回...
01 03月 游戏开发者心得分享中心 游戏编程设计模式——Double Buffer 这看起来很直观,但如果我们就保持这样,会带来问题。问题在于显卡驱动可以在任意时刻调用getPixels,甚至是在这里: buffer_.draw(1, 1);buffer_.draw(4, 1);// <- Video driver reads pixels here!buffer_.dr...
01 03月 游戏开发者心得分享中心 Medium开发团队谈架构设计 背景 说到底,Medium是个社交网络,人们可以在这里分享有意思的故事和想法。据统计,目前累积的用户阅读时间已经超过14亿分钟,合两千六百年。 我们支持着每个月两千五百万的读者以及每周数以万计的文章发布。我们不想Medium的文章以阅读量为成功的依据,而是观点取胜。在Medium,文章的观点...
01 03月 游戏开发者心得分享中心 Unity5实用教程:光照技术的使用技巧 unity5中的光照可以用整本书来说明,此文是过去几个月使用Unity5的简单汇总。下面主要分6个部分来讲解。 Forward(前向)与Deferred(延迟)渲染Realtime(实时)与Baked(烘焙)光照引擎的光照工具光照场景性能技巧后期处理 上述的大部分对于Unity制作的内容都是适用的...
01 03月 游戏开发者心得分享中心 《炉石传说》架构设计分析:启动流程与Scene管理 这是我猜测的这些类和游戏内容的对应关系,没有太仔细分析,可能有些对应是错误的: 下面我们就挑选一个简单的Scene来分析一下它的内部运作机制,我们来看一下AdventureScene吧。Adventure相关的Class很多,我们只做一个粗略的分析,只涉及到下面这几个类和接口: 首先我推测,...
29 02月 游戏开发者心得分享中心 分享:游戏新手引导程序框架设计3要点 GameRes游资网授权发布 文 / 傅建钊 新手引导确实是个麻烦事,逻辑杂乱,而且跟界面的逻辑常常交叉在一块,弄的不好的话代码里到处都是if else,保存各种临时状态变量。但这里面其实也是有规律可循的,不说完美解决了所有问题,但至少可以提供一个框架,一种问题解决的思路。这里面有3个关注点:...
29 02月 游戏开发者心得分享中心 游戏编程设计模式-state 恭喜,你已经创建了一个有限状态机(FSM)。这出自计算机科学的一个叫做自动机理论的分支。这个家族里里还有大名鼎鼎的图灵机。FSM是这个家族最简单地一个成员。要点如下: 1、状态机的状态集合是确定的。例如在我们的例子里,有站立、跳跃、下蹲和俯冲。 2、状态机在某一时刻只能处于一种状态。我们的h...
29 02月 游戏开发者心得分享中心 游戏中常用的寻路算法(6):地图表示 在本系列文档大部分内容中,我都假设A*用于某种网格上,其中的“节点”是一个个网格的位置,“边”是从某个网格位置出发的各个方向。然而,A*可用于任意图形,不仅仅是网格,有很多种地图表示都可以使用A*算法。 地图表示可能对性能和路径的质量产生很大影响。 寻路算法不是线性的,而是越来越差。如果需要行进...