关于本站

本站用于记录我在工作、学习中遇到的一些问题,分享一些程序相关的问题总结,主要涉及的内容如下。

  1. 游戏服务器架构设计逻辑实现。

  2. 游戏开发中常用的算法分析。

  3. 其他与程序设计相关的问题。


本人简介

 

大家好,我叫陈顺根,英文名chet,是一名游戏服务器开发工程师,擅长以C++/Go语言进行游戏服务器开发设计,目前就职于上海淘米游戏。

曾就职于上海巨人网络、上海恺英网络担任游戏服务器开发工程师,工作以来一直致力于游戏服务器的开发相关工作,在游戏服务器的研发、设计方面有丰富的经验。

未来计划加深计算机底层技术的了解,学习算法设计相关知识,学习人工智能领域相关知识。

期望未来能够用技术改变自己的生活。


me.jpgqrcode_for_gh_35edc6b2f43c_344.jpg

 

我的游戏服务器开发之路

今天想根据自己的游戏开发经历写一写作为一个游戏服务器开发人员的成长历程,总结这些年的游戏开发经验以及探索未来的游戏研发之路该怎么走。
我跨入游戏开发这个领域起源于大学时期,那时我是一名软件工程专业的学生,因为不是很想按照当时学院的主流教学培养计划走,机缘巧合的走上了游戏开发之路。当时学院教学计划基本上是期望将大多数人都培养成一个java工程师,当时也花了很多时间精力学习java,但是始终对于java以及java的生态系统还有极大可能的未来投身于web服务器的开发当中十分不感兴趣。在这种困境中,我觉得还是得找到一条成长的道路。就这样,我一边上着不怎么感兴趣的java J2EE Spring相关课程,一边思考着其他的学习之路,有种骑驴找马的意思。
大约是大学三年级的时候因为一些机缘巧合了解到我的一个大学老师李华旸老师的工作室想招一些学生进行游戏的开发。当时听到这个消息的时候第一感觉是对游戏开发很感兴趣,思考一番后决定去尝试了解一下,就这样算是踏上了游戏开发的"不归路"了。起初在游戏开发这条路上李华旸老师给了我很多帮助,解决了我对游戏开发领域的很多的困惑。后来的很多次别人我问我是怎么开始做游戏开发的时候,我都会想起这段经历都觉得很庆幸。
当时加入工作室时有3个选择,游戏客户端、游戏服务器、游戏策划。当时感觉自己对于前端展示方面的东西不太感兴趣做得也很不好,对于策划写策划案这件事情也不太太兴趣,最终觉得自己对于程序逻辑方面更感兴趣一些所以选择了游戏服务器开发。从大三开始一直到大学毕业,总共大概有2年的时间,这期间经历了2款游戏的开发,一款moba游戏一款战略养成类的游戏。技术栈从php的workerman socket框架到后来的c++实现服务器框架,数据库从mysql到memcacahed再到后来的mongodb、redis等等。这期间基本上算是蹚了一趟服务器开发的浑水。这段经历对于我后来的工作也起到了很大帮助,它让我能够快速的几乎没有缓冲期的适应到后来的游戏服务器工作中。
第一份工作是在恺英网络参与一款回合制页游(蜀山传奇)的服务器的开发维护工作,这份工作经历让我更加真实的了解到了c++在游戏服务器上的应用,也更加深度的看到MySQL的工业级应用是什么样子的。当时感觉服务器的技术栈有很多我基本上都有涉略,苦于没有完整的一款游戏研发经历(ps:我这里说的完整是指从立项到项目上线运营),因此我换了一份工作来到了巨人网络,在巨人的2年时间里参与了moba、tps类的好几款游戏的研发,其中有一款游戏算是比较完整的参与研发的全过程了,只是苦于最终没能上线。基于对于完整参与一款游戏的执念,我开启了我的第三份工作,这份工作最终实现了我的这个最早的目标。
第三份工作就是我于2018年10月加入了上海淘米,到今天我已经在淘米工作了3年多了,期间作为服务器主程从头到尾完整的参与了摩尔庄园手游的研发,这段研发经历可以算得上很有收获了。这款游戏让我有机会使用Go语言从0到1的研发了一套新的服务器框架,让我有机会使用了很多成熟的新技术例如consul服务发现、nsq消息队列、Mongodb分片集群等分布式技术手段完成了整个摩尔庄园手游的底层架构。最后也算功夫不负有心人摩尔庄园手游开服时服务器承载住了一百多万的同时在线以及接近千万级别的DAU。
我的游戏研发经历并不算特别,未来会在游戏研发领域继续探索,希望有一天能做出一款让人们耳熟能详的游戏。