雄联盟工程师独家分享:如何使开发更有效率

Hey,大家好!我是 Bill “LtRandolph” Clark,一名英雄联盟的游戏工程师。许多 Rioter 工程师关注大量的内容需要直接发送给玩家问题——这是两个我最近最喜欢的例子之一,包括最新的冠军Jhin及项目重构的支持。而我的团队使得这个过程变得又快有简单。

我们有一个简单的目标:即允许参加游戏试玩项目的暴民,能够创建两倍于任何给定的LoL(英雄联盟)补丁的内容。这说起来容易,但是执行起来却是一个充满挑战的任务。

今天,我们讨论实现这一目标我们所铺设的基础:Riot 游戏数据服务器(GDS)。虽然这是一篇技术文章,但是我会站在一个较高的层次来解释这个问题。如果你是一个在做多系统间传送数据工作的工程师,我希望这能让你特别感兴趣。

游戏数据:
首先,我们了解一些背景。在LoL的工作中,存在两种类型的游戏数据:一种是 key-value 对,被称为属性数据(如 Black Cleaver HP 奖金是300),另一种是不透明的二进制数据(如,大文本、动画和视频)。在这篇文章中,我们只讨论属性数据,二进制数据处理是未来潜在的一篇博文。

在LoL的所有历史中,属性数据由一堆松散、混乱的文件组成,这些文件存储在一个大的名为 DATA 的文件夹中。

早期,我们将数据存储在.ini的文件中(对,就是 Windows 下 .ini的文件格式)。类似如下所示:


没有漂亮的界面

当然,我创建这个例子是为了强调一些我们在编辑.ini文件时遇到的一些共同的问题。这离用户友的界面相差甚远。编辑原始文本时非常容易混乱——缺乏重要的内容,而其他字段又重复。设计者们每天不得不处理这种混乱,这里总共有 977 种法术,这些功能(当然忽略)位于“MissileEffect=AnnieBasicAttack_mis.troy”行中,在很早的LoL开发中,每个冠军涉及一个令人愉快的场景:“Death=Cardmaster_Death.wav。”

下面是当前数据系统面临的一些关键问题:

1、使用 Notepad++ 来编辑属性数据
2、对已存在的字段没有清晰的定义
3、缺乏类型安全
4、多人同时编辑同一个文件时会有合并冲突问题

………………………………

转自:解放号IT众包微刊

请查看全文>>

看了又看:

小偷被抓叫嚣:我不偷警察没饭吃

什么样的电脑配置比较适合开发?效率更高

李开复:我在硅谷看到的最前沿科技趋势

程序员如何在北京买套房,十大赚钱技巧

时间: 2024-08-08 16:34:45

雄联盟工程师独家分享:如何使开发更有效率的相关文章

python-使用字典使Fibonacci更有效率

原代码: def fib(n): if n == 1: return 1 elif n == 2: return 2 else: return fib(n-1)+fib(n-2) 改进后: def fib_efficient(n,d): if n in d: return d[n] else: ans = fib_efficient(n-1,d) + fib_efficient(n-2,d) d[n] = ans return ans d = {1:1, 2:2} print(fib_effic

Android无线开发的几种常用技术(阿里巴巴资深工程师原创分享)

本文由阿里巴巴移动安全客户端.YunOS资深工程师Hao(嵌入式企鹅圈原创团队成员)撰写,是Hao在嵌入式企鹅圈发表的第一篇原创文章,对Android无线开发的几种常用技术进行综述. 嵌入式企鹅圈现拥有七个专栏(Linux内核驱动情景分析.资源紧缺型SOC嵌入式架构设计.嵌入式交叉工具链及其应用.嵌入式设计和编程.微信硬件平台和物联网解决方案.Android开发.开发资源共享).更多Android.Linux.嵌入式和物联网原创技术分享敬请关注微信公众号:嵌入式企鹅圈.我们百分百原创,资深工程师

Android平台第三方应用分享到微信开发

[转载]Android平台第三方应用分享到微信开发 一.申请APPID 微信公共平台和微博分享一样,也需要申请一个ID,来作为调起微信.分享到微信的唯一标识. 申请微信APPID可以到微信平台http://open.weixin.qq.com/app/list/?lang=zh_CN上申请.具体的申请流程网站上有很详细的介绍,我这里就仅列出一些注意事项: (1)申请APPID时的应用名字审核通过之后将不允许更改,所以申请时的应用名字一定要提前确定好.微信官方也有详细说明,如下图: (2)应用签名

分享影视软件开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

分享影视系统开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

分享影视APP开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

分享8年开发经验谈职业规划

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下. 明确入行的目的 很多人干IT这一行都冲着"收入高"这一点的,因为只要学会一点HTML.DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容易找到工作,收入比普通的工作还要高一些,所以成为了很多高校毕业生的选择.如果您只是抱着这样一个心态来入行的话,那

分享Java web 开发必游之路

一.开始,万事开头难啊! Java的学习很难,因为它太庞杂了,有很多令人恐惧的(并非语言本身的)细节. 让我们先看看,我们将碰到哪些难关: 1. 表示 脸面的部分,这里将用到的技术和知识:JSP,Servlet,XML,HTML,JavaScript,CSS等,最好能了解网络基础(TCP/IP协议等). 2. 业务逻辑 核心的部分,这里将用到的技术和知识:Java Bean,XML等. 3. 数据库 存储的部分,这里将用到的技术和知识:数据库的知识,JDBC,XML等. 4. 部署 必备的部分,

MyEclipse 的智能提示设置 使开发写代码的速度更快

MyEclipse 是学习java 的人 最常用的IDE ,常常看到很多人写代码的速度很快,其实他们大多数都使用了代码提示功能,代码提示有好有坏,好的方面就是使在项目开发中速度更快,不用去记那些较长的关键字,而坏的方面就是如果使用代码提示的时间较长,自己便会便懒了,下面就是设置MyEclipse 使其在输入任何字符的时候都可以代码提示. 打开MyEclipse 在菜单栏中找到WIndow-->Preference.找到后找到如下红色的笔标注的地方 找到 Auto activation trigg