进入游戏行业1年的总结

  从我知道有编程这回事以来,就把编程作为理想职业了,可惜我直到大二才知道有这回事。而且由于悟性不高见识不够,在成为一名真正意义上的程序员的路上走了不少弯路。直到我进入游戏行业之后,才找到了作为一个程序员的感觉。其实真正的程序员都是希望开发系统软件的,操作系统、编译器、数据库之类,不过游戏作为一种软件算是离系统开发最近的一种商业软件了,而游戏引擎也算是一种系统软件。入行晚就要多接触多理解才能赶得上大家的节奏啊,我一年内换了三个工作,来到现在这家公司的原因是想参与一个从头开发的项目。不得不说工作和生活还是息息相关的,工资低、离家远、项目对自己没帮助,都有可能让人无法忍受。

  下面进入正题,我做的是手游服务器开发,目前手游服务器的特点是:短连接、高并发、轻逻辑。和网站服务器的要求非常一致,以至于大家都用网站服务器稍微改装一下就搞起了。我们的server底层用的是端游改装的,简单的ping-pong测试也能达到1w的并发(系统功能开发前的测试),不过一旦加上系统功能逻辑,连2k的并发都达不到。所以这样的底层只能作为开发版本,过完年必须换血。现在有很多基于Nginx的网络服务器框架,应该是非常适合手游项目的。这个我也决定不了,暂且不提。

  我是做逻辑开发的,慢慢来吧。幸好手游项目小,逻辑简单周期短,我大概做了15个系统功能,而且具体实现比较符合我对程序的理解。为了纪念这个愉快的过程,我把整个项目开发的过程概括一下吧。

  项目开工之前的准备工作:

  1.招人。整个项目周期内普通的团队都要经历人员流动的问题,项目负责人的性格和领导能力决定了团队的氛围。所以公司老大要先搞定项目制作人和程序主管这俩职位,然后是主策划,前后端主程,我们团队的配置就是以这5人为核心的。所以公司给他们分配的资源也最多,毕竟这个项目缺了其他人就如同少了个工具,缺了这几个人就像缺了胳膊腿一样。所以没办法大家还是努力成为骨干吧,7分技术3分运气,毕竟游戏行业还算是科技领域,技术水平业务水平还是硬道理。

  2.游戏定位。一个项目总得有个吸引人的地方才有吸金能力,我们这个项目有个天然优势就是ip很火。但是光有一个好ip没用,这个ip以前也做过页游和手游,都石沉大海了,不知道是运营问题还是作品差。最终项目制作人确定的玩法是“第一人称射击类手游”,融合卡牌游戏和rpg的元素,说白了就是主角带着小伙伴打僵尸的游戏。

  3.策划总纲。这个就是考验制作人的经验和创新能力了,手游不能做得太大,也不能太普通,要结合ip的特点进行取舍和创新。策划总纲里面指定了游戏要完成的基本功能和基本效果,还有收费原则(坑要多要深,兼顾平衡)、吸引留存的方式(简化注册登录,所有功能设计没有理解成本但要有创新)、付费方式(简化付费流程,多种vip等级)等。

  4.项目工期。这个是程序主管的工作,根据工作量确定需要多少人,工期进度计划,对有经验的程序来说问题不大。这个阶段要把前后端选用的技术方案大致定下来,比如前端unity3d,后端C++ lua这种典型方案。然后是人员配置前端6~8人,后端3~4人,对于手游项目已经比较豪华了(看水平。。)

  基本人员到齐,项目工期已定,进入项目的前期Demo阶段:

  1.招人。还是得扩充军备,人齐了才能尽快进入稳定期。

  2.运营宣传。这年头都是兵马未动,声势先传出去,给人宣传个一年半载的才看到庐山真面目。抢眼球的时代。

  3.策划分解。根据总纲分解出系统策划、数值策划、关卡策划的工作范围,然后出一个策划案demo版本。

  4.程序框架。前后端都要制定技术框架,前端unity3d比较薄弱,需要先解决技术问题才能出方案。后端比较成熟,只不过需要敲定用哪些技术,结合运营部署的要求给出部署服务器方案、开服合服方案、统一管理接口。这里必须吐槽的有两点:一是前后端开发分离,这会导致前后端开发不同步问题、前后端对接问题、不同人的对接方式不一致问题,可谓是万恶之源,极大的拖慢开发进度。但也没办法,前端的程序不会C++,后端的lua接口又没接上;后端的程序不懂unity,本身前端就有没解决的技术问题;导致开始的时候没法按功能把前后端工作都分给一个人,只能两边配合,说白了还是码农水平的问题。二是server跨平台,在我看来,除了通信协议和语言标准是平台无关的,其他的东西都是平台相关的,POSIX不过是一厢情愿。跨平台不是一件简单的事情,但是人们都有这样的愿望,所以除非我们已经有了跨平台的支撑框架(比如QT对于GUI)否则千万别自讨苦吃。windows和linux版本的程序写的越好就越没有相似性,其实他妈本来就是两套代码。至于为啥我们选择跨平台捏,说出来让人很无语,linux适合做server(免费+稳定),但是程序员不会在linux下开发,尼玛还是码农水平的问题。我能说在linux下开发其实比在vs下更有效率吗,vs除了complate和reflact是优势,其他方面和linux比(工具链方面)甚至稍逊一点。关键的问题在于程序运行机制的问题,linux下是统一的思路:server程序做成Deamon进程(windows下一般不做成服务进程,可能是不好管理),输出日志可以用tail实时查看(windows下要打印到屏幕上一份),shell启动和停止脚本完美配合(windows下可以用脚本启动停止,但是没法传递消息给程序,只能在cmd上Ctrl+C让程序捕获),程序宕机自动dump(windows下需要借助SEH的特殊处理方式产生dump文件),等等问题吧。

  5.流程和规范。

工作流程有:

    每周总结会、每周周报、每天站立会

    svn权限分配

    从策划草案-定案-程序执行-策划验收-测试版本-测试验收的整个流程

    每个人的任务分配方式,任务时间评估

    测试bug管理流程

制定规范:

    策划文档、程序文档、美术文档、测试文档等的命名规范和格式模版

    前端代码规范

    后端代码规范,这个是我出的,基本和google的C++规范差不多,做了点扩展,然后定了一套我觉得好的命名方案。我觉得比较成功的一点就是规定了代码注释必须用中文,说实话能用中文写明白注释的人都不多。

  7.服务器压力测试。首先要有一个可用的服务器底层,这个底层上面也说了,是从一个端游抽出来的,仅保留网络连接和数据库连接两个功能。然后要做一个压力测试机器人,这个是我做的,第一版的机器人是单机模拟一组机器人并发。因为要有界面反馈,我选用C#的wpf做的UI,确实很强大。第二版的机器人就牛逼了,我做了一个控制中心连接所有的机器人客户端,然后统一下发配置和启动测试。目前已经是第三版,可以用真实的客户端服务器交互信息,在server端录制交互报文(这应该在client端录制,可惜前后端是分离的,我改不了前端的代码),然后作为机器人的测试脚本做压测。有了机器人,我把服务器的登录部分第一版完成(基础逻辑就是玩家登录的时候发送一个设备id到gateserver,如果已经缓存此设备id就返回对应的guid给客户端,表示已经登录。否则去db查找设备id对应的guid,如果找不到就创建一个guid绑定设备id,存入db;找到则通知gameserver从db查找玩家数据初始化,初始化完成后通知gate,再通知client)。

  8.前后端对接。前后端都会完成几个基本系统功能,比如主角系统、武器系统、副本系统,通过这几个系统,实现系统功能和关卡玩法对接,前端表现和后端逻辑对接。对接成功之后算是基本的技术开发流程走通。然后是打包发布apk和ios版本测试,于是乎Demo完成。

  OK,经过第一个Demo版本,团队配合也差不多磨合出来了,进入铺量开发期:

  上个阶段因为处于磨合期,很多流程规范是逐步建立的,会留下很多问题。这个阶段会把所有的系统从新设计一遍,按照流程逐个开发,直到完成一个各方面符合预期的版本。这个时候前后端开发是并行的,前端系统开发和关卡开发是并行的。这个周期比较关键,前后端都要出来一个逻辑上的框架统一管理所有模块。前端需要管理场景、预设、美术资源、声音、逻辑模块划分、怪物ai状态机等等。后端需要管理client-gate-game通信模型、日志输出、数据库操作封装、玩家管理(登录、踢出、封号、解封)、配置文件管理、逻辑模块划分、公共数据管理、时间管理(定时器和计时器)等等吧。解决完这些问题之后,整个开发过程就顺畅了许多。不过这个时候前后端配合开发的问题就暴露出来了,不同的人对前后端的分工见解不一致,最终导致了最后开发高级功能的时候各种接口不一致。以此为鉴吧大家,要想前后端配和开发,必须有很强的预见性,对通信协议和逻辑划分都全面考量。对推脱责任消极怠工的员工陷害踢出(招人的时候干嘛了)。

  说说这个阶段的完成的功能模块,登录-武器-副本-伙伴-主角-任务-背包-签到-竞技场-排行榜-图鉴-成就-vip-队伍-商店-装备-解密-佣兵团-GM-招募-修炼-信息提示-新手引导。。大概这些,可能有忘了的,不过没关系,做系统功能的特点是,做10个和做20个差不多。有时候好几个功能一块做,都分不清谁是谁了。我觉得只要把系统功能背后的支撑框架做出来,或者找到一个适合表达的模型出来,剩下的就是往上面一套。说白了就是机制和策略分离的原则,系统功能会不断添加,所以必须把新功能向目前的功能系统框架下正交分解,如果没法分解,就增强系统框架。

  铺量开发的后期是出问题的阶段,因为开发模式的问题,前后端很多逻辑层次的划分不同导致了开发综合功能的时候不能统一处理。前端尤其严重,比如前端的数据同步,A系统使用了B系统的数据,而B系统可能没有从服务器同步数据,这时候A怎么办?向server请求B的数据显然不对;在A系统加载之前加载B系统会导致登录的时候要加载大部分的系统;登录的时候分步请求所有系统的数据会导致登录延迟或者server承载过大。目前的解决方案就是第二种,不过我觉得还是第三种好点,只需要前端把登录分两步,一步是loading核心数据,第二步是弹出公告信息和玩家登录后的收益什么的,先进界面再说。整个过程实际上还是在后台加载数据(好像是windowsxp的作风)。再吐槽一个例子,A系统调用了B系统的功能,B系统界面关闭之后,A系统不知道B系统干了什么。这是因为每个系统单独开发的时候,都是依赖后台通知的,前端系统互相之间没有建立数据接口,导致这种简单的增加一个数据接口或者回调接口就完成通知的事情,变成了问题。这就是前后端开发没有逻辑上划分清楚,导致前端只管表现,后端只管奶妈的情况。

  暂时写到这里吧。项目还没开发完,和平台对接的大战还没开启,估计又是各种扯皮的问题了。

时间: 2024-08-27 03:44:09

进入游戏行业1年的总结的相关文章

G2R(Game to Reality) 游戏行业的O2O

线上到线下的对接过程,其实就是虚拟与现实的对接.这种对接不仅仅是电商.团购.企业管理的对接,其实对于游戏行业来说,更是机会多多.特别是互联移动化时代,智能手机和云计算给游戏的虚拟到现实的对接提供了最有价值的基础.当然,不是所有类的游戏都能对接上,但虚拟现实类的游戏的机会是非常大的.而且这种游戏由于有现实的参与会提供更多的趣味性,如果设计合理,还会给参与游戏者带来现实的利益,会吸引更多的人的参与.举个简单的例子,一款游戏有三个角色,游戏运营者,玩家和商家.商家可以在游戏中注册自己的店(游戏场景物,

关于游戏行业

中国游戏行业 中国的游戏行业发展的空间其实还是非常大的. 网游(魔兽世界).次时代(合金装备.鬼泣).手游(王者荣耀).PC单机游戏(暗黑破坏神). 中国的游戏行业的发展速度非常惊人,在全球都是领先的. 国内游戏行业百分之八十以上来自网游,手游和页游,单机游戏在国内没有发展起来的原因之一就是盗版太多,而网游,手游和页游通过它们自己很好的收费模式,注册或者点卡方式等等,杜绝了这个盗版的问题. 中国网络游戏里面其实有百分之六十多是自主研发的.完美世界,诛仙很不错. 在全球里面,中国的网络游戏是领先的

年度移动游戏行业观察:腾讯或将涉足新品类

时至新年,各行业领域不免开启年度盘点的工作,各大媒体也将此视为吸引读者眼球的新闻点,近日有媒体根据2014年iOS榜单畅销榜前36名游戏产品做出盘点,并结合中国古典名著<水浒传>整理出了一组36天罡星盘点.结合移动游戏行业一段时间以来盛行的"手游冬天论",我们或许可以从这组图片中看到2014年移动游戏市场的变化与发展,以及未来这一产业的走势. 相比安卓市场内鱼龙混杂的产品质量,iOS方面尽管产品数量少,但普遍质量较高.而从登上天罡排位的这36款产品来看,2014年移动游戏产

DDos游戏行业受攻击最多

游戏行业遭遇DDOS攻击现状. 游戏一直是最易遭受黑客攻击的行业,高居全年DDOS攻击的48%.大规模攻击居多,平均值均超过100Gbps,攻击峰值急速上升,同比2015年增加了137.1%,其中攻击频率.时长剧增,平均攻击时长为28.72小时. 2 至少2台以上独立运行服务器. 棋牌游戏运营一般至少要准备2台以上的服务器,最好不要把运行程序和数据库放在同一台服务器上,分开放置能让2台以上服务器各司其职,分担流量,还能严格控制网络访问,从而减少攻击或漏洞的出现,最大程度保证棋牌游戏平台的稳定运行

游戏行业因虚拟现实而改变,北京华锐视点

华锐视点主营业务是为国内政府单位和民营企业提供专业的虚拟现实解决方案,包括:智慧城市综合解决方案.商业地产虚拟仿真系统.数字城市.展览展示.城市规划.数字沙盘.城市应用.三维动画.模型数据业务.环幕立体.园林景观.工业流程模拟.Ipad售楼系统.景区三维展示.网络三维展馆.三维培训课件.水利电力GIS系统等一体化的服务以及全方位的解决方案. 在虚拟现实成为主流以后,游戏行业会出现什么样的变化. 长期以来,虚拟现实和意念控制是科学家和科幻小说爱好者关注的两个主要方面.随着Oculus Rift的开

2012年游戏行业五大趋势-吉网

在即将过去的一年里,有许多值得注意的消息,但在这些之间,我们可以清晰的看到2012年里,游戏行业的5个大的趋势: 众筹的新机遇 过去几年里,有很多的kickstarter筹资活动,但是今年2月份tim schafer的double fine adventure才真正为游戏行业敲开了众筹的大门,为行业带来了新的机遇,也为游戏业以后的发展奠定了基础. double fine adventure筹集了超过330万美元资金,比目标数40万美元高了将近10倍,刷新了kickstarter有史以来的筹资记录

盘点游戏行业的那些干货网站

对于游戏行业的从业者来说,每天看看行业资讯,了解些游戏数据,学习写游戏干货,已经成为每日的必修课程了,现在推荐一些比较好的游戏行业分享干货的网站供大家学习: 1.游戏数据分析 http://www.gamedatas.com 分享游戏行业的数据分析方法,运营经验,数据分析工具的教程等等,内容很多都是原创,非常给力. 2.GRG游戏研究组 http://www.grg2013.com 分享国内外游戏分析方法,原创翻译文章较多,对于分析方法和讲的比较深. 3.游戏陀螺 http://www.youx

游戏行业灵魂——需求至上

目前的网络棋牌游戏行业,可谓百花争鸣好不热闹.大家都沉醉在这场饕餮盛宴之中,从无到有,从名不见经传到无人不知,究竟是有那么大的魔力,吸引了数以亿计的庞大玩家?游戏的设计开发是以玩家为中心的,玩家是所有游戏产生的根源,当然网络棋牌游戏也不例外. 早期的网络棋牌游戏产生基本上是为了顺应互联网的发展,为已有棋牌游戏习惯的线下玩家提供线上游戏平台,属于一种休闲棋牌游戏,这个阶段的灵魂在于消遣. 到后来,棋牌运营商发现纯休闲已经很难满足玩家需求,粘性逐渐下降,进而挖掘了客户新的需求,这个时候,通过技术开发

游戏行业DDoS 6年谈:什么样的架构才可以对DDoS免疫?

摘要: 接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题. 在我看来,游戏行业一直是竞争.攻击最复杂的一个"江湖".许多游戏公司在发展业务时,对自身的系统.业务安全,存在诸多盲区:对DDoS攻击究竟是什么,怎么打,也没有真正了解. 接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题. 在我看来,游戏行业一直是竞争.攻击最复杂的一个"江湖".许多游戏公司在发展业务时,对自身的系统.业务安全,存在诸多盲区:对DDoS