最新 | 最热门 | 最高评价

+0  Paradox 的数据文件格式

Tag: 游戏开发
云风 发于 2017年08月08日 20:06 | 点击: 606 | 展开摘要
Paradox 是我很喜欢的一个游戏公司,在所谓 P 社 5 萌中,十字军之王和钢铁雄心都只有浅尝,但在维多利亚和群星上均投入了大量时间和精力。

这些游戏基于同一套引擎,所以数据文件格式也是共通的。P 社开放了 Mod ,允许玩家来修改游戏,所以数据文件都是明文文本存放在文件系统中,这给了我们一个极好的学习机会:对于游戏从业者,我很有兴趣看看成熟引擎是如何管理游戏数据和游戏逻辑的。

据我所接触到的国内游戏公司,包括我们自己公司在内,游戏数据大都是基于 excel 这种二维

查看全文: http://www.udpwork.com/item/16338.html

+0  浅谈《守望先锋》中的 ECS 构架

Tag: 游戏开发 | 语言与设计
云风 发于 2017年06月27日 09:47 | 点击: 552 | 展开摘要
今天读了一篇 《守望先锋》架构设计与网络同步 。这是根据 GDC 2017 上的演讲 Overwatch Gameplay Architecture and Netcode 视频翻译而来的,所以并没有原文。由于是个一小时的演讲,不可能讲得面面俱到,所以理解起来有些困难,我反复读了三遍,然后把英文视频找来(订阅 GDC Vault 可以看,有版权)看了一遍,大致理解了 ECS 这个框架。写这篇 Blog 记录一下我对 ECS 的理解,结合我自己这些年做游戏开发的经验,可能并非等

查看全文: http://www.udpwork.com/item/16328.html

+0  MMORPG 客户端的网络消息框架

Tag: 游戏开发
云风 发于 2017年04月21日 12:33 | 点击: 1311 | 展开摘要
昨天和人闲扯,谈到了 MMORPG 客户端的网络消息应该基于怎样的模型。依稀记得很早写过我的观点,但是 blog 上却找不到。那么今天补上这么一篇吧。

我认为,MMO 类游戏,服务器扮演的角色是虚拟的世界,一切的状态变化都是在游戏服务器仲裁和演化的。而客户端的角色本质上是一个状态呈现器,把玩家视角看到的虚拟世界的状态,通过网络消息呈现出来。所以、在设计客户端的网络消息分发框架时,应围绕这个职责来设计。

客户端发起的请求分两种:一种是通知服务器,我扮演的角色状态发生了改变,

查看全文: http://www.udpwork.com/item/16219.html

+0  为什么美术和策划在使用 git 时会遇到更多麻烦

Tag: 简悦 | 游戏开发
云风 发于 2017年04月11日 10:50 | 点击: 696 | 展开摘要
我们公司有两个项目的客户端在使用 git 做项目管理,三个项目使用 svn 管理。程序员比较爱 git ,但是为什么 svn 还存在?主要是在做客户端开发时,策划和美术人员始终迈不那道坎。即使已经在用 git 的项目,策划们还是反应用起来比 svn 跟容易犯错误,遇到自己无法解决的问题也更多。

我是非常想在公司全部推广使用 git 做项目管理的。所以需要仔细考察到底是什么东西阻止了策划(及美术)们掌握这个工具。

思考一番后,我认为一套完整的培训机制还是得建立起来。完全靠自

查看全文: http://www.udpwork.com/item/16208.html

+0  Unity3D 的大场景内存优化

Tag: 优化与技巧 | 游戏开发
云风 发于 2017年04月06日 11:34 | 点击: 492 | 展开摘要
我们公司的一个 MMORPG 项目最近在内存方面碰到了红线,昨天开会讨论了一下。我提出了一个改进方案,写篇 blog 记录一下。

问题是这样的。在当下的手机及平板硬件设备条件下,操作系统留给应用的可用内存并不多,大约只有 500M 左右。

和 PC 环境不同,手机上是交换分区的机制来对应一些临时突发性内存需求的。而手机必须保证一些系统服务(某些高优先级后台业务)的运行,所以在接电话、收取推送等等意外任务发生时,有可能多占用一些内存,导致操作系统杀掉前台任务让出资源。



查看全文: http://www.udpwork.com/item/16200.html

+0  10 连抽保底的概率模型

Tag: 概率与桥牌 | 游戏开发
云风 发于 2017年01月16日 23:18 | 点击: 721 | 展开摘要
网游里有很多抽卡、开箱子之类的赌性玩法,在最开始,游戏设计者实现的时候,仅仅给这些抽取概率简单的设置了一个值。比如抽卡抽出橙卡的概率是 10% ,那么就是说,玩家每次抽一张卡,有 90% 的可能是白卡,10% 的可能是橙卡。

但大 R 玩家是大爷,需要小心伺候。如果感受不好,人跑了就亏大了。概率这个东西靠改进伪随机数发生器是解决不了体验问题的,大爷要是连抽 20 张都出不来橙卡,那是要怒删游戏的。

连抽 20 张 10% 概率橙卡一张都抽不到的机会多不?一张抽不中的概率是

查看全文: http://www.udpwork.com/item/16064.html

+0  在 Unity3D 的 Mono 虚拟机中嵌入 Lua 的一个方案

Tag: lua与虚拟机 | 游戏开发
云风 发于 2017年01月08日 22:39 | 点击: 584 | 展开摘要
很多使用 Unity3D 开发的项目,都不太喜欢 C# 这门开发语言,对于游戏开发很多人还是更喜欢 Lua 一些。而 Lua 作为一门嵌入式语言,嵌入别的宿主中正是它说擅长的事。这些年,我见过许多人都做过 U3D 的 Lua 嵌入方案。比如我公司的阿楠同学用纯 C# 实现了一个 Lua 5.2 (用于在 U3D web 控件中嵌入 Lua 语言的 UniLua );还有 ulua slua wlua plua xlua ... 数不胜数。我猜测,a-z 这 26 个字母早就用

查看全文: http://www.udpwork.com/item/16056.html

+0  用分布式压缩贴图加快 Unity3D 的打包过程

Tag: 我爱折腾 | 游戏开发
云风 发于 2016年12月12日 14:38 | 点击: 510 | 展开摘要
U3D 的打包流程,谁用谁知道。

由于输出 ios 包必须在 xcode 环境,跑在 Mac 系统上,所以为了定期版本打包,我们采购了配置比较高的垃圾桶来做。一台大约要三万 RMB 左右。

但我觉得这个方案的性价比太低了。

经过简单的考察,我发现,打包流程中最慢的环节是贴图压缩。在不同的平台,需要把原始贴图文件压缩成对应平台的压缩贴图格式: ios 平台对应的是 PVR 压缩格式;Android 平台对应的是 ETC 压缩格式,等等。

u3d 自己也意识到压缩贴图太慢

查看全文: http://www.udpwork.com/item/16000.html

+0  ETC 图素的合并

Tag: 游戏开发
云风 发于 2016年11月16日 16:55 | 点击: 435 | 展开摘要
在制作 2d 游戏时,通常我们需要把大量小图素合并到一整张大贴图上。这可以使用装箱算法 (Bin Packing)完成。当然,很多人很懒,那么就用别人做好的工具,比如 Texture Packer 。

但是在实际开发中, Texture Packer 有几个严重的缺陷 ,我个人还是建议自己来做合图的工具,完善工具链。

缺陷 1 :装箱过程其实并不需要了解图片上的内容,而只需要知道图片的尺寸。所以装箱过程需要的内存量应该只和被装的图素个数相关,和图片大小无关。而 textu

查看全文: http://www.udpwork.com/item/15927.html

+0  继续谈网络游戏的同步问题

Tag: 游戏开发
云风 发于 2016年10月18日 10:07 | 点击: 541 | 展开摘要
前面一篇谈了 放置类游戏的网络同步 ,我想把其方法推广到其它类型的游戏,比如 MMORPG ,比如动作游戏。尤其是动作类游戏,非常需要客户端可以即时处理玩家的操作,而不能等待服务器确认。

我们来看看这些类型的游戏和放置类游戏的不同点。

放置类游戏大部分是玩家个人和服务器在玩,不涉及第三方的干扰。所以,只要操作序列一致,那么结果就一致。

MMORPG MOBA 动作游戏这些,是多人在玩。如果我们能同步所有玩家的操作,让所有玩家的操作序列在一条线上,那么也一定可以保证结果一

查看全文: http://www.udpwork.com/item/15877.html

+0  放置类游戏的网络同步

Tag: 游戏开发
云风 发于 2016年10月17日 16:33 | 点击: 713 | 展开摘要
最近想试着做一款类似 Shop Heroes 的放置类网络游戏。总结一下此类游戏的客户端服务器同步问题。

传统放置类游戏,比如小黑屋,是单机运行,不需要和服务器同步的。但出于防止作弊的目的(作弊会使玩家迅速失去游戏乐趣)或者希望加上多人玩法,我们通常希望把游戏进程放在服务器上管理,这样就有了网络同步问题。

加上了服务器后,我们依然想保持玩家单机游戏的流畅体验,这里该怎么做,还是有许多门道的。

对于 COC 类的城市建设那部分,我们可以看成是一个简单的放置类游戏:等待、收

查看全文: http://www.udpwork.com/item/15871.html

+0  Shop Heroes 的公会系统

Tag: 游戏 | 游戏开发
云风 发于 2016年09月14日 17:17 | 点击: 434 | 展开摘要
上一篇谈到了 Shop Heroes 的经济系统,这一篇想谈谈它的公会系统。

和很多其它网络游戏不同,Shop Heroes 的公会系统并不是一个可以被剥离的系统,它和整个游戏,包括其经济系统是密不可分的。我觉得这个系统是为了完成其游戏的根本设计目的:引导玩家差异化发展从而制造出市场需求,而设计出来的东西。

在游戏中,不存在未加入公会的玩家。玩家在新手教学阶段就会被强制引导到一个叫做外城的环境,也就是游戏中的公会。你必须选择加入一个已有公会,或是自己创建一个单人公会,否则

查看全文: http://www.udpwork.com/item/15824.html
|<<<1234567>>>| 一共9页, 98条记录