我的编程经历与我所热爱的游戏服务端开发

从零开始搭建游戏服务器 第一节 创建一个简单的服务器架构 从零开始用java编写一个游戏服务器。涉及分布式开发、netty、mongodb、redis。没有难点,对新人友好。 阅读详情

嗨,大家好,我是风雅,有一段时间没写博客了,其实我在持续进步中,每天都成长很快,这段时间有很多次想写博客的想法,但都因为当时的状态更想敲一些代码或是看一些书而没有立马去写博客总结,后来再想去写时,灵感过了,也写不出什么东西了。所以这次,借着最近的一些想法和成长,我知道我必须得留下点什么了,感谢我身边很多和我一样对技术执着的人,在过年期间依旧不断给自己充电,让我在这个技术氛围里过年也没有停止过提升自己,年后要去网易游戏实习了,是我喜欢的游戏服务端开发,我又做了很多与之相关的研究和加紧学习,之前没看完的经典书籍又在继续看了,也敲了很多代码写了一些demo,希望能最大程度发挥自己所能带来的价值。

  这篇博客主要是回忆我过去的一些编程经历,希望这些故事大家读了也能有一点收获,共勉。

♦缘起♦

  第一次想要学习编程,是因为爱玩游戏的缘故,小学玩的第一款网游《大话西游》,初入江湖,NPC“宠物仙子”送给我一只宠物,让我欣喜不已,觉得游戏世界太神奇、太有趣。那段期间玩了很多游戏,叫的上名的基本都有玩过,记得当时很火的国产网游还有《梦幻西游》《传奇》《征途》《qq幻想》《qq堂》《跑跑卡丁车》《街头篮球》等,也都玩的不错,经常凌晨上线,以至于不少朋友调侃过我的性别。我曾在后来又重新玩了一遍这些的童年时玩的经典游戏,发现大多数游戏服务器的人都已经寥寥无几了,不由得感慨游戏的兴衰与更新迭代之快。当时一起玩《梦幻西游》的朋友,把号和装备卖了很多钱(这些玩家远比我这个做游戏的人更会赚钱),我的号还舍不得卖,《梦幻西游》十年,依旧是个经典的回合制游戏,依旧火爆,现在这些童年经典的游戏也大多出了手游。

  那时也尝试着自己写一些软件小工具小脚本,觉得十分有趣,创造东西的乐趣总是无穷的。于是便有了想做游戏想学编程的想法,嗯,做游戏,感觉就像是创造一个虚拟的世界,这太神奇有趣了,我无法抗拒。

  也让我十年后对此依然热爱如初,热血沸腾。


♦启蒙♦

  第一次正式接触编程,是在初中的时候,我的一位编程老师,对我的编程启蒙影响深远。选那个课的人,全班仅有我一个女生,年级最低,却意外的成为了学的最好的人。当时用的还是VB语言,每周最期待的便是这节课,课后也痴于研究,积累了不少代码量,不过现在倒是不记得什么具体的代码了,唯一剩下的,便是对编程的启蒙和兴趣。结课项目时,老师问我们想做一个什么样的项目,我至今仍记得我当时说:“做一款网游吧?”,老师说:“做一款网游我们团队的水平还达不到,不过你以后可以尝试,我相信你一定可以的。”,而我现在也确是走在这条路上了。

  小升初考了本地一所最好的学校的第一名,但由于一些家庭变故,妈妈带我到了西安上学,人生地不熟,便就读了一所不太好的学校,养成了不少学习的坏习惯,至今还仍需“洗经伐髓”去改变,不过倒是给我继续玩游戏提供了不少便利。在那所学校,安逸的当第一,不过这也源于妈妈对我的教育方式:平时考试第一名奖励200元游戏点卡,期中期末就有500之多。高中依然在接触编程,喜欢自己折腾一些小东西,老师建议我去参加竞赛,但我对那并不太感兴趣,我更想做一些自己喜欢的,有价值的东西。高一高二依然成绩是班级第一,但到高三高考复习开始时,我的成绩开始忽高忽低,没有用功的劣势渐渐明显,班主任多次找我谈话,但我也没有放在心上。有人说高考就是把人的缺点放大,是的,在高考,我的缺点确实被放大了,没有了平时的考好的侥幸。拿了几所计算机名校的自主招生加分,但都因高考成绩不如意而无法去成。那时还不懂事,不懂得什么叫自我实现,妈妈对我的教育也希望我平庸一些,快乐就好。对过去不够努力没有如愿的经历我还是抱有遗憾的,不愿再提。因为读研满足不了我的求知若渴程度和对做工程的热忱,把我这个工作狂放在学校也未免有点可惜,所以我可能注定与名校无缘了。不过,就业、读研、出国每一条路都很好,我敬佩能够选择适合自己的路并在这条路上发光发热的人,而我的选择早已做好,虽有惋惜,从未犹豫。

  过去的,好或不好,都过去了。

  ♦痴迷♦

  虽然没有考上理想的大学,但仍旧是我喜爱的专业,软件工程,这里依然有一些优秀的人值得我去学习。大学我一个人在一所城市,足够自由,可以努力成为想要成为的人。好像一切都重新开始了,我与过去的网瘾少女开始变得截然不同,我很喜欢我的专业,能专注于做自己热爱的事,应该是天底下最幸福最幸运的事了——我找不到比这更能吸引我的了。学技术于我而言变成了一件很自然的事,每天超过十几个小时都在做与编程相关的事,每天超过五百行的代码量,节假日无休,这件事,我一坚持就是两年多,与之相应的,技术成长也非常迅速。

  经常有人把我的编程能力归功于我过早便接触过编程,我想,或许确有一些帮助,但这种帮助,更多的是使我对编程的兴趣,超过了绝大多数人。而真正的快速进步,都来源于现在的热爱和持之以恒的坚持。可能你已听过太多如微信之父“张小龙”前辈,搜狗CEO“王小川”前辈等等这些技术出身的传奇故事,我也很喜欢读,备受激励,这些故事都是真的,但是都是不完整的,坚持+热爱,然后站在风口上,成就互联网传奇,别人的人生,有太多坚持是短短一篇文章没有办法描述的,成功从不是一蹴而就的,技术也是如此。

  但我所确信的是,艺痴必精,坚持做热爱的事,就会发现成功变得前所未有的容易,只是持续努力的副产品。

  ♦知遇♦

  知遇之恩,除了要感谢我初中的第一位编程老师,还有太多要感谢的了。技术人的圈子很纯粹,我喜欢这个圈子。学校的工作室,是我大学编程生涯第一个重要的转折点,当时面试通过,主要是源于我做过的一些游戏和对编程的热爱打动了学长学姐。印象深刻的是,高考结束时写游戏,经常睡觉时一整晚都在想怎么把游戏做的更好玩,怎么敲代码,以至于失眠严重,整夜都是头脑兴奋而清醒的。那段时间的睡眠都是靠家人买的安神补脑液勉强入睡休息,爸爸看着我每天都一边喝着药一边写游戏心疼,而我却乐在其中。大一下学期,在学校的工作室主要负责网站后端的开发,后来竞选了工作室的技术部后台部长,主要负责工作室后台技术发展的推动以及后台技术讨论班的开展和纳新讲座培训。那段时间对我锻炼很大,我负责了很多的项目,也开了很多次讨论班,经历了很多次培训和被培训,不断的尝试将工业界的一些技术引入工作室分享,只要没课的时间我都会呆在工作室学习研究和做项目,工位就在进门的第一个位置,不求采光良好,只为图个方便,一进门就可以立马专注于编程,工作室其他人和学弟学妹每天不管什么时候来一进门就能看到我已经在敲代码了也觉得被激励。后来我参加了腾讯组织的游戏开发暑期训练营,对游戏开发有了更全面的认知,也参加了类似gamejam的游戏极限开发比赛,结识了很多腾讯的讲师,对我帮助很大,最后我决定把游戏开发和我一直从事的后端开发结合起来,去做游戏服务端开发,两个我同样热爱的事结合在一起,事实证明一加一的效果远远大于二。还有后来去上海参加的C++大会,也结识了很多对我影响深远的人,看看那些业界牛人此刻正在做些什么,让我眼界更加开阔,这影响不是一点儿半点儿。

  我所理解的游戏服务端开发,是集所有复杂技术为大成,服务端本身对编程能力就有很大的提升,C++,linux,TCP/IP协议,网络编程,数据库……,学习服务端的好处在于,你能够理解为什么学校的每一门课对你而言都如此重要,你需要并愿意把它们学扎实,如果不然,那所谓的研究技术恐怕还不抵参加一个培训班培养出来的人才精英。而游戏开发是在创造一个虚拟世界,那么所能应用的技术就不言而喻了,你甚至可以把你所学的所有技术都用在这里去创造这个虚拟世界,人工智能、分布式、图形学、机器学习、ARVR……只要你想。大三这一年我去了很多第一次去的城市去学习交流,上海,武汉,深圳……马上又要去杭州实习了。

  “看书很重要,看世界更重要。”这句话出自马云前辈,我深受其益。

  ♦热爱♦

  除了技术书籍外,我还喜欢在kindle上看些其他有意义的书,《游戏改变世界》里有一段话让我印象深刻,大意是“游戏开发是具有很多积极意义的,它正改变着世界,作者相信,在未来25年里,游戏开发者获得诺贝尔和平奖并非不可能。”我在感觉有些累时很喜欢看云风叮当那一辈的故事,很有趣,在云风的那些日子系列博文,给了我很多坚持下去的激励,读过的一个印象深刻的故事:在那个时代开始做网游的公司已经非常多了,《大话西游》属于开始做的比较晚的了,本以为在那个时候再跟风做网游意义不大,但是意外地《大话西游》第一个成功了,因而成王败寇的被加冕了“国产第一款网游”的称号。

  很幸运,第一次找工作就全部拿到了offer,兜兜转转,我竟离我最初的十年前懵懂年少时的梦想越来越近了。但这只是过去的十年,对20岁的我而言,只是编程生涯的一个开始。未来,还有更多想法,稍远一点,想成为这个领域的专家,想在这个行业发挥自己的价值,想游戏行业能够在浪潮下达到巅峰,真的改变和影响世界……稍进一点,想不断提升自己的技术,想一直从事最热爱的工作,想看到《天谕》大卖(我现在所负责的mmorpg端游)……

有意义的游戏开发经历 游戏开发,听上去似乎很遥远,在你心中,或许它只是一块神秘的领域。但是,实际上,游戏开发和每个人的生活息息相关。今天,我想和你分享我在这个领域中的一点经历和感悟。希望这些分享能让你对游戏开发有更深的理解。 阅读详情

相关推荐

游戏服务端开发之基础概念扫盲篇

从事手游服务端开发也快3年了,整理了一份资料,介绍在开发过程中碰到的概念以及自己的理解,希望能够帮到即将从事该职业的朋友。

littleschemer的博客 1万+

浅谈游戏服务端开发-架构

网络游戏程序分为客户端和服务端。客户端负责图形渲染、交互和一些简单校验处理,服务端负责业务逻辑处理、数据存储。 我们开发一个游戏demo,服务端程序可以是一个单线程的服务进程。它包含网络通信、业务逻辑处理、数据存储。服务端打开网络端口监听,客户端通过网络连接到服务端,服务端接入连接。客户端发包给服务端,服务端接收到包后进行解析,调用对应的处理程序进行处理,处理程序处理成功后,修改数据并保存下来,再把响应包封包发送给客户端。 简单的数据存储可以保存在文件里。当用户量逐渐增加,数据存储的性能、完整和安全

m0_73635418的博客 4360

R语言影像组学实战:从医学图像到预测模型的完整流程(附代码)

本文详细介绍了使用R语言进行影像组学分析的完整实战流程。从环境搭建、数据准备,到医学图像的特征提取与筛选,再到利用机器学习构建预测模型并进行评估,提供了清晰的步骤和可运行的R代码示例,帮助研究者和数据分析师掌握从医学图像到临床预测模型的核心技术。

qsc901234的博客 732

游戏服务器需要学习哪些知识(Java)

为什么游戏服务器很多都用Java开发 Java 做游戏服务器开发的优势还是很多的,《我的世界》的服务器就是Java开发的。Java技术比较成熟,大数据,云计算,网站App后台,基本都采用Java开发,同时跨平台,游戏服务器这个领域,使用Java的公司月越来越多,一是技术成熟,简单,有很多框架可以使用,二来是招人也比较方便。 这里有个游戏开发交流小组点击可以直接加入 Java游戏服务器的网络通讯技术 游戏服务器和应用服务器不一样,游戏服务器是需要让多个玩家同时在线,而应用服务器是玩家和系统之间的数据交

voidinit的专栏 1553

Visionpro 使用CogPMAlignTool工具提取匹配轮廓点

【代码】Visionpro 使用CogPMAlignTool工具提取匹配轮廓点。

weixin_43947315的博客 2092

解决Anaconda环境下catkin_make编译报错:Python路径冲突与empy模块缺失

本文详细分析了在Anaconda环境下使用catkin_make编译时出现的Python路径冲突与empy模块缺失问题,提供了快速解决方案和永久性环境配置方法。通过显式指定Python解释器路径或调整Anaconda配置,有效解决编译报错问题,适用于ROS开发与科学计算并行的场景。

weixin_28829629的博客 353

【使用SpringBoot进行游戏服务器开发】1.整体架构

之前一直只考虑用JavaSe进行游戏服务器开发,目前项目使用了Spring,发现还是非常好的,尤其是依赖管理等,只使用Spring最基本的功能即可,这样子就算是有一些模块不使用Spring管理也是非常方便的,因为我现在已经能轻松控制住Spring容器的声明周期。

focus-unchanged-thing 2009

Nangate 45nm FreePDK开源工艺库:从RTL到GDSII全流程实战

在数字IC设计中,标准单元库是连接逻辑综合与物理实现的基石,它定义了每个单元的逻辑功能、时序延迟与物理尺寸。开源EDA工具链的成熟,使得个人也能借助免费工艺套件完整跑通芯片设计流程。Nangate 45nm FreePDK作为一套经典的开源工艺库,凭借结构清晰、配套完善的特性,成为学习数字后端和时序收敛的理想训练场。从综合工具Yosys读取Liberty文件进行逻辑映射,到OpenROAD执行布局布线与时钟树综合,再到使用OpenSTA分析关键路径延迟,这套流程涵盖了数字设计最核心的环节。通过亲手操作,开发

weixin_29168393的博客 273

招聘篇

因项目开发需要,石家庄游戏团队现在招聘游戏开发人员,策划人员等! 你不一定要有很专业的技能,我们这次只想招聘一些应届毕业生,或者保证上班时间的实习生! 策划类工作: 工作职责 1、包括但不限于游戏系统和功能设计、游戏世界观设定、任务剧情编写、游戏数值设 定等; 2、 根据游戏世界观和剧情需要以及美术资源需求,设定能支持游戏的系统和各种玩法,制作游戏剧情并跟...

weixin_33909059的博客 88

[计算机头歌]爬虫进阶

【代码】爬虫进阶。

M_inherit的博客 921

基于3D相机的人体穴位识别与标注系统——完整Python实现方案

摘要 本文提出了一种基于3D相机的人体穴位识别与标注系统完整实现方案。系统采用Intel RealSense D435相机实时采集RGB-D数据,结合MediaPipe Pose模型进行人体33个关键骨骼点的三维姿态估计。通过建立穴位与骨骼关键点的映射关系,利用相机内参和深度信息将二维图像坐标转换为三维空间坐标。系统采用模块化设计,包含数据采集层、算法处理层、坐标转换层和可视化层,实现了穴位定位、三维坐标转换和点云可视化功能。关键技术包括:基于骨度折量法的穴位映射算法、深度图像到三维点云的转换方法,以及Op

AI的内部世界的博客 270

我做游戏开发这八年

我做游戏开发这八年简述与编程擦肩而过从图像设计到痴迷编程入门编程沉迷编程Java的图形编程就职游戏开发2011,第一次面试&实习生第一个游戏2012年,第二个重量级IP游戏2013年,转战手游与创业2014-2015,第一次创业2015,西山居和多益网络2016-2018,第二次创业2018至今,360游戏艺术(岂凡网络)技术总监 简述 这篇文章并不是想教会大家如何开发游戏,更不能教大家如...

游戏开发者 6万+

电子电气架构 --- 整车电源管理

保证启动能力:防止因电池电量耗尽而导致的车辆无法启动,这对于确保车辆在任何时候都能可靠运行至关重要。 延长电池寿命:通过避免电池深度放电,有助于延长其使用寿命,减少更换电池的需求和成本。 提升用户体验:虽然负载被关闭可能会暂时影响舒适度,但通过在必要时自动采取行动,可以减少驾驶员的焦虑和不确定性,提高整体的用户满意度。

Soly_kun的博客 1084

从Java到C++:一个游戏服务端开发者的转型思考

你在游戏服务端开发中遇到的技术选型困惑?或者你对C++/Java的看法?

weixin_45160006的博客 1578

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

不要轻易在简历上写我热爱编程,我热爱学习—兄弟连IT教育

不要轻易在简历上写我热爱编程,我热爱学习—兄弟连IT教育 “收到私信咨询,统一回复下。进入互联网行业,多把玩产品就够了。比如说,把玩Appstore每个分类下TOP20-50的产品,挨个写分析总结,整两三个月,比看书考证强多了。对编辑和运营职位来说,在知乎混得好会有很大的加分,玩简书和lofter这类小众创作产品也有加分。总之得有创作出来,潜水转发跟帖就算了。” “如果是一个不进行任何形式的创

gcq1301958013的博客 1051

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

我来谈谈我的游戏经历和“游戏三境界”

说到三境界,很多人怕是首先想到王国维: 王国维在《人间词话》说: 古今之成大事业、大学问者,必经过三种之境界: "昨夜西风凋碧树。独上高楼,望尽天涯路。"此第一境也。 "衣带渐宽终不悔,为伊消得人憔悴。"此第二境也。 "众里寻他千百度,蓦然回首,那人却在灯火阑珊处。"此第三境也。 此等语皆非大词人不能道。然遽以此意解释诸词,恐为晏欧诸公所不许也。" 如果上面看不太懂的,请自行百度吧:) 由此我也想要总结一下我玩游戏的三境界:玩游戏,改游戏,造游戏。下面我就谈谈关于游戏,我的经历吧。 学编程.

august5291的博客 389

一个无知oier的娱乐——我的游戏开发经历

2023年LPL春季赛季后赛正在火热进行中,你们心中的总冠军是哪支队伍呢?作为热爱游戏的程序猿,一起来聊聊你那些有意义的游戏开发经历吧!一个材料,让我根据这个写一篇作文。(题目自拟)行吧,开始!

aliyonghang的博客 693

从建筑师到程序员,我的五年游戏引擎开发之路

【优快云 编者按】这篇文章讲述了作者从建筑师转变为软件开发人员的五年经历,并分享了他如何通过制作游戏引擎找到编程的乐趣。文章详细描述了他从制作 Pong 和 Tetris 的克隆版本,到创建自己的 3D渲染世界的过程。原文链接:https://dev.to/lkatkus/why-you-should-make-a-game-engine-5-years-as-a-developer-3ij1未...

优快云资讯 5970

自己怎么一步步喜欢编程

在夜深人静的时候我整理一下思绪:自己当年是如何从爱玩游戏的小孩子一步步成长为一名热爱编程的程序员。 1、玩电脑 要编程就要触到电脑,我喜欢电脑原因很简单,我喜欢玩游戏。一开始家里没电脑就跑去亲戚家玩。人们都说玩游戏是学电脑最慢、最傻的办法。但是我必须要再添加一句:也是最有效的办法。一个事物当能勾起你强大的兴趣的时候,你便会无比热爱这个事物。        细细想来很多事物是相通的

林海潜的博客专栏 6138
上一篇: 其实以前也会有陆续的用户反馈不减少
下一篇: ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据
超级的时光
博客等级 码龄145天 0粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值