2016总结

2023-05-16

欲言又止:
每年的年终总结是要在新年之前发表在博客上,今年的年终总结拖到现在完成,我也是服自己。这里要感谢我的高中好友@万学清同学,在我去年微信发表的有关年终总结的朋友圈下,催促我完成2016的总结。先前写博客,写总结更多是希望其他人了解自己,希望自己写的文章有更多的访问量和评价。随着时间的洗礼,逐渐的明白了,博客主要是写给自己看的,对自身日常所思所想,以及一些常用资料的记录。为啥博客写的少了,一方面发现自己想写的东西,网上已经有了更好的。另一方面就是懒,对自己的所思所想,以及收集到的好文章都放到Evernote,并没有二次加工分享出来。但我认为写作和分享本身是另外一种高质量的思考和学习。
创业维艰:
当前岁月最重要的事情就是工作了。从2014年的年度总结里就提到我在开发一款叫《山口山战记》的手游。在2016年终于开花结果,虽然说在金钱上几乎没有大的回报,但是在游戏群,贴吧,看到玩家在游戏里获取到的乐趣,是开发人员最开心不过的事情。
游戏在开发中并不是一帆风顺,项目组走了很多弯路。在刚测试的时候我们服务器使用的缓存组件memcache丢失数据,导致游戏在首次测试的时候,出现过玩家丢档,玩家数据错乱情况。后来在@贺老板的努力下,服务器最大的隐患解决了。还记着当时为了排查这个问题,构造了很多测试用例去查找这个问题。最后问题定位在连接池这块。通过此事,对于第三方组件我的理解改变了。虽说现成模块可以快速实现原型,但对于这种商业级的项目,还是需要对整个项目用到的边边角角有深入理解,在开发中多一份安心,才可以发挥的游刃有余。
2016的农历年我没有回家过年,当时很重要的一个因素是因为游戏需要开发服务器计算模块,这个事情的难度在于给相同的参数,服务器和客户端必须计算完全一致。在立项的时候并没有这种需求。由于我们的服务器端是python写的。我和@小黄同学商量后,认为用python写,服务器好部署一些,正好那段时间学习了python,也想练练手,于是我就将客户端技能逻辑用python 重写了一遍,@小黄同学负责将战斗逻辑移植过来。一切看似非常顺利,当整个功能完成之后,到测试阶段,发现计算结果很不准。分析原因如下:
1、我们自己并没有Unity的源码,所以很多Unity API 函数和我们自己实现的函数,计算结果不一致。
2、跨平台浮点数问题,由于不同的硬件,操作系统,编程语言,计算结果会有差异
3、两边代码不一致,客户端和服务器不共用代码,有遗漏
4、编程语言之间的差异。例如我们遇到的一个问题关于角色谁先释放技能。实现方式是通过英雄和敌人的距离判断,当两个角色距离敌人的距离相同,这时通过距离排序就非常危险,因为对于这种情况不进行特殊处理,不同语言的排序函数给出的结果也不一样。
后来一狠心将这部分模块的代码全部删除。分析讨论得出结论,服务器和客户端共用代码才是正道。一开始我们想用windows服务器来单独跑这个服务,直接用Unity编译出Windows版本就好了,可现实很残酷。Unity编译出来的版本必然对图形显卡有最低的要求,通过和运维同学沟通,知道没有服务器提供带显卡的服务器,这个想法只能搁置了。看来还是要做代码和显示分离,当时项目并没有这样的需求,所以渲染层的抽象程度不是很高。方向定好了,就开始实现。在解决完多线程操作数据导致的bug,浮点数这些问题后,项目中最难的事情算是解决了。这个模块的实现也没有让我们失望,很多玩家玩的很开心。
五月六日,《山口山战记》正式上线。由于是正式上线版本,我特意将版本号调到了,1.0.36,这也算这款产品的小故事。当日上线的是收费榜,很快游戏就窜到了第一名,当天收入据说是破了龙图所有产品的首日收入记录。那天整个项目组都非常开心,很多人发了图晒朋友圈,确实自己的产品这么成功谁不开心呢。想起了当时开发的《疯狂烈鸟》上线后,很快就排到IOS免费榜第一时高兴的心情。那时的我连IOS设备都没有,听@九天讲他每天要去微博,IOS排行榜实时关注游戏的评论,以及排名,大家都觉着很夸张。当《山口山战记》上线后,我变成了昔日的九天,去贴吧,微博,IOS排行榜时刻关注大家的评论,遇到的问题。更有甚者,自己也买了游戏,和玩家一起玩。话说我是IOS第一个下载游戏不足为过。截止我写这篇总结,游戏已经到了1.0.53版本。虽说物质上没有得到很好的回报,可是我一点都不后悔,做游戏的一辈子能做成功几个游戏?
游戏上线后,在后续的运营过程中出现过一些问题。影响很深的一次是,版本已经发布到了外网,还没有正式上线。这时组内成员发现天赋系统的UI打开会导致游戏闪退,但内网没有问题。查找问题根源,原来我在合并代码的时候,代码自动合并了,但是资源没有提交上去,这是个未来的功能。这时我羞愧的恨不得找个地缝钻进去。我们的项目经理没有埋怨我,而是了解这个失误会对产品带来那些风险,了解清楚现况后,他决定撤掉这个版本。这意味着很多宣传工作,运营工作都白做了,还会导致产品发布到玩家手里延期。这时组内相关成员帮助了整个项目组,想到了通过修改新手引导参数的手段屏蔽这个功能。很快测试通过,发布后补丁及时掩盖了问题。通过这件事情后,我们团队及时总结了经验教训,改善了发布流程。后面再也没出现这类问题。
对于游戏开发人员,外挂绝对令大家闻虎色变。我们项目在开发前期就做了一些关于程序安全的工作。比如对代码二次加密,内存变量隐藏,协议包加密,数据表格加密。可是外挂人员还是修改了我们攻击的函数,这对一个战斗计算放在客户端的游戏是致命的。我们和外挂人员斗智斗勇,但总是处于下风。后来发现只有服务器验证计算结果,加上后台数据的智能分析,才是打击外挂人员的最有效的方式。通过这套系统,加上强大的gm工具,总算是彻底的解决了挖掘外挂作弊人员的难题。
游戏刚上线只有三个渠道,IOS,Android混服,应用宝。发布补丁需要配置后台文件,更新服务器代码。这几项工作都属于重复性很高,但非常繁琐的事情,而且千万不能错。最尴尬的是当发布文件如果出错,千千万万的玩家就会报错。因此我每次都会检查很多遍,保证没有错误,可是人在做大量重复,复杂的工作的时候,总是有大意的时候。在发生几次错误后,我坚定必须要用工具实现这些功能。工具实现后,后面的工作就是简单的敲几个命令,然后玩会游戏,所有事情都完成了,还保证不会出错。生活立马变的快乐惬意了。这也让我深刻理解到,能通过计算机做的事情,一定要交给程序做。人总是有疏忽犯错的时候,但机器不会。
天天向上:
游戏在线上运营,每天都有很多繁杂的事情。我时刻都没有忘记:“以提升自身能力的工作,才是健康可持续的工作”。对于组内的技术建设,每周坚持写周报,整个一年没有漏过一次周报。周报的结构如下:

周报总结——>工作内容总结
组内大事——>项目大事,公司大事,组内成员大事
成员周报:
    工作内容
    下周计划
    叽叽歪歪——>见闻,分享,建议
通过周报形式,组内成员及时互相了解工作,生活,学习情况。对于周报这件事,对于我们技术团队是非常正确有利的事情。
为了给大家指出明确发展方向,我自己添加了Unity技术树。让大家结合自身情况,查漏补缺,很好的发展自身技术。当然我们的传统习惯Code Review也是认真履行的。
开心时刻:
在媳妇的带领下(本人很宅,很懒),对公司附近的房子了解后,贷款买了一套小房子。由于是装修好的房子,也不需要自己花心思装修(甚合我意)。选购好家具,家电,就入住自己的小窝。有了自己的房子,对生活质量有了更高的需求。买了很好的智能路由器,以及自己的服务器,把家里的网络打造成了畅游网络的天堂。媳妇还买了书架,我的几大箱书终于也有了自己的窝。有了自己房子,自己不在是毫不相关的过客,有了很好的归属感。
有朋自远方来不亦乐乎,@志成的到访,非常开心。那天真是糊涂,没有备好酒。我俩就用家里的日本清酒喝了一阵。第二天和志成一起逛了市中心,爬了岳麓山。在西北餐馆吃饭,少喝了一点啤酒,过的很开心。十一放假,姐夫携妻子到访,一起吃了很多美食,逛了很多商场。最开心的是一起在游乐场玩,当时玩跳楼机,看着不咋害怕,当被机器拖到几十米高空,被阵阵凉风吹着,恐惧感开始增加,当自由落体时,连我这种胆子比较大的都吓的尖叫。再也不想玩第二次,这也算是增加了一点人生经验。后面一起玩碰碰车,唤起儿时和表弟第一次玩碰碰车的美好回忆。
年前,表弟和妹妹的孩子相继出生。由衷的感到高兴,当看到小孩子萌萌的视频,整个心都被融化了。生命的传承就这样发生了。自己成了叔叔和舅舅。
心花怒放:
在2016年给我最大惊喜属于Wings战队TI6夺冠。还记着那天凌晨五点总决赛开始,没有定闹铃我自动4点50就醒了。对于有拖延症的人,很难瞬间起床,那天我毫不犹豫起床,蹑手蹑脚到客厅打开电脑开始看比赛,其实正式比赛6点多才开始。其它强队都有自己的绝活,这些绝活英雄的集合称作英雄池,Wings战队的绝活英雄被称作英雄海。因为对于外人来说,不清楚Wings到底有多少套阵容,我想Wings战队自己也搞不清楚自己到底有多厉害。Wings诠释了天道酬勤,努力不一定会得到回报,但是不努力必然得不到任何回报,感谢Wings带来精彩的比赛,护国神翼扬我国威。
一整年来,另一个让我倍感惊喜的事是AlphaGo战胜了人类九段围棋大师李世石。当时看了很多分析,大家都预测AlphaGo不是李世石对手。当AlphaGo赢了之后,大家开始关注自己会不会被替代?人工智能纪元是否开启?做为程序员我是盼望人工智能快速发展,一方面是希望大量的非创造性工作被机器人代替,让人类解放出来做更多创造性的工作。另一方面想让人工智能辅助人类探索智慧的极限。
今年我最喜欢的游戏莫属皇室战争了,在加拿大上线当天,花费15块在淘宝买了一个加拿大区账号,完了大半年,一直是我最喜欢的游戏。这游戏考察兵种搭配,运气,操作,计谋,是我喜欢的游戏类型。
略有小成:
这一年里最大的成就必然是《山口山战记》取的较好的成绩。作为年度优秀员工我是不会轻易告诉别人的,哈哈。在腾讯GAD发表了一篇关于Unity性能优化的文章,获得了三等奖,还是很开心。
继往开来:
年龄也不小了,今年最想做的事情就是结婚。再就是发力做下一款成功的游戏,来弥补在《山口山战记》没有得到的物质回报。新的一年加油。 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2016总结 的相关文章

  • 2016年7月21日学习笔记

    2016年 7 月 21 日学习笔记 Linux安装以后出现的文件目录的作用 xff1a 文件系统的类型 LINUX有四种基本文件系统类型 xff1a 普通文件 目录文件 连接文件和特殊文件 xff0c 可用 file 命令来识别 普通文件
  • Windows Server 2016-重置目录还原模式密码

    目录还原模式 xff1a Directory Services Restore Mode xff0c 简称DSRM xff0c 又称目录服务恢复模式 是Windows域控制器的服务器安全模式启动选项 DSRM允许管理员用来修复或还原修复或重
  • 中兴2016校招软件在线笔试题

    面试经验可以参考我的另一篇文章 xff0c 是7月初参加openday面试的 xff0c 文章链接http blog csdn net dandelion1314 article details 47009585 招聘群里有人发的招聘时间安
  • 2016 CSDN最佳博客(Android)

    无意中在CSDN上看见了今年的十佳博客 xff0c 虽然现在还没有分出伯仲 xff0c 但是结果大概已知 xff0c 其中看了几篇文章 xff0c 感触挺深 xff0c 故把几大博客整理下来 xff0c 一方面方便广大博友 xff0c 另一
  • office 2019 & visio 2016安装

    安装包和相关工具 xff1a visio 2016 专业版 xff1a office 2019 xff1a 相关工具 xff1a 安装步骤 xff1a visio 2016 和 office 2019 安装存在问题 xff0c 笔者安装遇到
  • UOJ 2016 [APIO 2016] Gap

    传送门思路参考代码交互题 交互题大致形式Windows 平台下 xff08 Dev C 43 43 xff09 Ubuntu 平台下 传送门 思路 唉 xff0c 我太弱了 xff0c 什么都不会 xff0c 题也做不来 这道题简直就是利用
  • Luogu 1712 [NOI 2016] 区间

    传送门思路参考代码 传送门 思路 唉 xff0c 我太弱了 xff0c 什么都不会 xff0c 这么个傻逼题 xff0c 居然把离散化写错了 xff0c 唉 xff0c 我太弱啦 xff01 显然我们可以考虑枚举最短长度和最长长度 xff0
  • Outlook 2013/2016 显示“正在启动...“ 无法进入Outlook的解决方案

    因上次非正常关闭 xff0c 导致Outlook 2016启动时 xff0c 一直处于启动界面 xff0c 无法进入主界面正常工作 刚开始Outlook 2016启动界面显示的是 34 正在处理 34 查询网上各种方法 xff0c 安全启动
  • 随着稻香河流继续奔跑 ——致2016

    写在前面 xff0c 2016于我而言 xff0c 是丰收的一年 这一年 xff0c 我收获了能力与本领 xff0c 收获了美丽与自信 xff0c 收获了欣赏和肯定 2017 xff0c 我会不忘来时路 xff0c 继续前行 2016的驿站
  • 2016你配得上更好地自己

    传统里我一直觉得过完春节才是一年结束的时候 xff0c 但是现在慢慢习惯阳历的计算 xff0c 2017年1月1日 xff0c 看着空间里面新年祝福和期待 xff0c 突然觉得这才是过年 2016年就这样走了 xff0c 以后我再也回不到2
  • 2016 CSDN最佳博客(Android)

    无意中在CSDN上看见了今年的十佳博客 xff0c 虽然现在还没有分出伯仲 xff0c 但是结果大概已知 xff0c 其中看了几篇文章 xff0c 感触挺深 xff0c 故把几大博客整理下来 xff0c 一方面方便广大博友 xff0c 另一
  • 2016

    2016 最近 xff0c 许多朋友兴起总结2016了 xff0c 看得我心痒 xff0c 心热 我自己不禁也总结起来了 别人的总结要么是 2016XXXX 要么是 2016OOOO 我苦思2秒 xff0c 却想不起一个标题来 xff0c
  • 2016你配得上更好地自己

    传统里我一直觉得过完春节才是一年结束的时候 xff0c 但是现在慢慢习惯阳历的计算 xff0c 2017年1月1日 xff0c 看着空间里面新年祝福和期待 xff0c 突然觉得这才是过年 2016年就这样走了 xff0c 以后我再也回不到2
  • 告别2016,展望2017

    2016工作总结 2016年已经过去 xff0c 曾经列过一个2016的计划清单 xff0c 却一直没有能够很好的完成 如下是我2016的目标 xff1a 读完在书柜放了三四年的算法导论这本书 还是没有读完 xff0c 完全可以挤出来一点时
  • leetcode题解日练--2016.6.17

    编程新手 xff0c 尽量保证每天至少3道leetcode题 xff0c 仅此记录学习的一些题目答案与思路 xff0c 尽量用多种思路来分析解决问题 xff0c 不足之处还望指出 今日题目 xff1a 1 罗马数字转整数 xff1b 2 找
  • Windows Server 2016 路由和远程访问

    本次实验是将Windows Server 2016 配置成一个路由器 xff0c 为此网络上的客户端和服务器启用多重协议LAN到LAN xff0c LAN到WAN xff0c 虚拟专用网络和网络地址转换路由服务 使用路由和远程访问需配置下列
  • 中兴2016校招软件在线笔试题

    面试经验可以参考我的另一篇文章 xff0c 是7月初参加openday面试的 xff0c 文章链接http blog csdn net dandelion1314 article details 47009585 招聘群里有人发的招聘时间安
  • 安装Windows Server 2016 服务器 标准版

    注意事项 xff1a 安装带桌面版的 管理员密码设置 xff0c 要 注意大小写加数字 xff0c 不然会设置失败 安装文件下载 xff1a MSDN 我告诉你 PE U盘 微PE 服务器的驱动 xff0c 可以自己到对应服务器厂家的官网上
  • 华为机试题(一) 最高分是多少

    老师想知道从某某同学当中 分数最高的是多少 现在请你编程模拟老师的询问 当然 老师有时候需要更新某位同学的成绩 输入描述 输入包括多组测试数据 每组输入第一行是两个正整数N和M 0 lt N lt 30000 0 lt M lt 5000
  • 【系统篇 / 域】❀ 06. Windows10 加入域 ❀ Windows Server 2016

    简介 众所周知 Windows Server 2016 与其它版本不同的地方就是支持 Windows10 加入域服务了 修改 DNS Windows10 加入域之前 需要把网卡的DNS指向域服务器 在Windows10系统中 鼠标右击右下角

随机推荐

  • 用哈希简单封装unordered_map和unordered_set

    哈希表的改造 哈希表的改造unordered map和unordered set的基本结构哈希表改造节点结构体迭代器哈希表改造 unordered map和unordered set封装unordered map封装以及测试代码unorde
  • 位图的基本原理以及应用

    位图 位图的应用场景位图的基本概念位图 位图的应用场景 假设生活中有以下这种应用场景 xff1a 有未排序的40亿个数 xff0c 需要在其中查找一个数字是否存在 如果直接使用数组来存放这些数 xff0c 那么一个整型的数占4个字节 xff
  • Retrofit 结合 Lifecycle, 将 Http 生命周期管理到极致

    code小生 一个专注 Android 领域的技术平台 公众号回复 Android 加入我的安卓技术群 作者 xff1a xcheng 链接 xff1a https www jianshu com p 07fe489a53f2声明 xff1
  • 实践App内存优化:如何有序地做内存分析与优化

    code小生 一个专注Android领域的技术平台 作者 xff1a 舒大飞 地址 xff1a https www jianshu com p f3e8c34d0803 声明 xff1a 本文已获 舒大飞 授权 xff0c 转发等请联系原作
  • Android 面试题集(2019-04-04总结)

    作者 xff1a ClAndEllen 链接 xff1a https www jianshu com p 98255550b41e 一份Android面试题集 xff0c 适应于实习 amp 初级工程师 amp 中级工程师 xff0c 高级
  • 虚拟主机和服务器之间的区别

    很多人都容易将云服务器与虚拟主机混为一谈 xff0c 大致因为他们性能及安全性方便有不少相似的地方 xff0c 那么云服务器与虚拟主机究竟有哪些明显区别呢 xff1f 概念区分 xff1a 云服务器是一种简单高效 安全可靠 处理能力可弹性伸
  • MySQL编码详解及中文乱码问题解决方案

    最近 xff0c 在项目组使用的MySQL数据库中 xff0c 插入数据出现乱码问题 xff0c 出现诸如 或者 等字符 为了防止在 今后项目中再次出现相类似问题 在这里对于MySQL编码问题做 一个详细的介绍并对于乱码问题提出一些解决方案
  • XCOM V2.6 串口打印出来中文乱码,字体格式错乱的一种原因(设置没问题,突然乱码)

    一 问题重现 XCOM V2 6里 xff0c 完全一样的设置 xff0c 之前显示的好好的 xff0c 后来突然中文出现乱码 xff0c 字体格式也大变 xff0c 如下图 xff1a 二 解决方案 一般这种乱码 xff0c 往往都是因为
  • 生产者与消费者模型

    1 三种关系 1 生产者和生产者互斥关系 2 消费者和消费者互斥关系 3 生产者和消费者同步互斥关系 2 生产者和消费者模型 生产者消费者模型就是通过一个容器来来解决强耦合问题的 耦合 xff1a 2个或2个以上事物相互作用 xff0c 相
  • Windows server 2016基本设置

    windows server 2016相比较而言具有更加稳定的特性 xff0c 但不免有些繁琐 xff0c 可以通过一些设置可以使其更加易用 一 组策略 WIN键 43 R键 xff0c 输入gpedit msc xff0c 进入组策略设置
  • 收藏 | 阿里程序员常用的 15 款开发者工具(2020 版)

    简介 xff1a 本文精选了一些阿里经济体内部最受开发者欢迎的开发者工具 xff0c 筛选出一些带有普适性同样适合外部开发者的 xff0c 希望能助力开发者们提高开发效率 来源 阿里巴巴云原生公众号 本文精选了一些阿里经济体内部最受开发者欢
  • root登录卡在tty,登入root

    ubuntu桌面使用root直接登录的方法 Linux系统下文件的权限十分重要 xff0c 大多数操作都需要一定的权限才可以操作 xff0c Ubuntu18 04默认安装是没有设置root账户的 xff0c 因此想要获得root账户登录可
  • 使用Python做一个语音播报温湿度系统,元气满满的一天从听到他开始

    来这里发现更多有趣案例 HaaS开发框架 HaaS积木方案 xff0c 赋能生态开发者 xff0c 让您快速找到自己需要的解决方案 xff0c 硬件主板与外设 xff0c 以及各种应用组件 https haas iot aliyun com
  • 基于MVC模式实现用户注册和登录功能

    目录 1 实验简介2 具体细节分析3 实验工具4 整体框架截图5 代码实现1 login jsp2 ok jsp3 register jsp4 list jsp5 edit jsp6 DBConn java7 User java8 User
  • 十大远程控制软件(远程控制软件推荐)

    远程控制软件可以跨空间的操控对方电脑 xff0c 被广泛用于远程办公 远程教育 远程指挥 远程协助 远程维护 xff0c 已成为电脑必备应用 xff1b 那么纵观全网 xff0c 有哪些好用的远程软件 xff1f 这些远程控制软件有什么优势
  • 程序员永远的痛之字符编码的奥秘

    字符编码相信是每个程序员的噩梦 xff0c 只要是有中文的地方 xff0c 总是会遇到各种编码的问题 xff0c 并且这种问题还非常难缠 xff0c 尤其在linux上 xff0c 因为上面很多软件都是针对英语国家开发的 xff0c 是不会
  • C++11 之for 新解

    前言 C 43 43 11这次的更新带来了令很多C 43 43 程序员期待已久的for range循环 xff0c 每次看到javascript xff0c lua里的for range xff0c 心想要是C 43 43 能有多好 xff
  • c++11之初始化列表

    一 前言 C 43 43 的学习中 xff0c 我想每个人都被变量定义和申明折磨过 xff0c 比如我在大学笔试过的几家公司 xff0c 都考察了const和变量 xff0c 类型的不同排列组合 xff0c 让你区别有啥不同 反正在学习C
  • Unity Update 详解

    0x01 简介 Unity的脚本继承了Monobehaviour类 xff0c 在脚本中定义函数 xff1a void FixedUpdate span class hljs list span void span class hljs k
  • 2016总结

    欲言又止 xff1a 每年的年终总结是要在新年之前发表在博客上 xff0c 今年的年终总结拖到现在完成 xff0c 我也是服自己 这里要感谢我的高中好友 64 万学清同学 xff0c 在我去年微信发表的有关年终总结的朋友圈下 xff0c 催