最近研究开源游戏服务器框架的时候找到了云风大侠的skynet,一下是知乎上的评论
skynet是我们游戏服务端的底层框架,当初在技术选型的时候仔细阅读过它的源码,发现它是一个C语言的工程典范。大多数游戏服务端,要么使用C++,要么使用java,使用C是非常少见的。但是skynet通过C和Lua的结合,实现了一个高效的游戏框架,C层没有多余的一堆三方库,只有紧凑的核心结构,提供最核心的消息处理框架;Lua层用来写游戏逻辑,降低了开发门槛。
之后关注了云风大侠的博客 https://blog.codingnow.com/
发现云风对lua的研究很深入,且skynet的脚本语言就是lua,博客里面有很多文章是对lua的分析,时间轴更是很长2005~2021,我非常钦佩云风大侠的技术之路,现在的时代各种新技术层出不穷,我时常会迷茫在各种新技术中,东一锤子西一棒子,一直也没有对某个技术有深入的了解,所做的工作也是浮于应用层面,对于一个36岁的老程序员来说没有什么可以拿的出手的项目和研究,自己也觉得非常惭愧。
我是2004年上的大学,2006年参加的工作,一直做手机客户端研发,对服务器的一些技术和实现方案不了解,直到2016年前后,通过PHP学习才了解了一些web相关的技术,之后又赶上房卡棋牌的兴起,有一个机会做了一段时间C++游戏服务器开发,算是对服务器开发入了一个门。当时游戏服务部署也是只会部署在windows server上,由于我大学的时候Sql Server学的还不错,所以数据库这块整体问题不大。在房卡棋牌服务器项目里面,我发现了解了服务器开发和部署的相关技术之后,剩下的大部分工作还是写逻辑,这个是我的强项。陆陆续续也做了一些地方的玩法,大庆麻将、吉林麻将、四川血战、幺地人,干瞪眼等。我发现用C++写服务器的逻辑其实问题不大,就是一些扩展我还不太会,比如支持websocket,支持mongodb,支持redis等。到了2018年左右,房卡棋牌做的人越来越多,房卡棋牌监管越来越严格了,我就没怎么做房卡棋牌了。2019年我觉得我比较欠缺web这块的技术,想以后从事web开发,研究了一下当时python比较火,于是我学习了python,学习了python的web框架django和flask,之后又学习了python爬虫相关的技术,再后来不能说是学习应该说是了解了python机器学习方面的知识,由于大学数学都还给老师了,所以很多公式看不懂也没有继续这个方向。本来打算找python方面的工作,最终也是由于理解不够深入,以及工资等各种原因,没能从事python相关工作。又回到了老本行手机游戏这块。用的是CocosCreator自己之前也没用过,上手很快,很快就能出活,从2020年初~2021年底这两年再做这块。期间业余时间研究了一下golang,由于是业余时间所以没有坚持下来。
我断断续续的学了很多东西,由于没有跟工作想结合,只是业余研究,没有做相关的项目,学过的东西也都在慢慢的忘记。
2011年学的Unity,熟练,做点东西很快,后来没用上,到现在仍了10年了
2016年学的PHP,算不上熟练,能做些东西,后来没用上,到现在扔了6年了
2016年学的C++游戏服务器,熟练,做了3年,后来没用上,到想在扔了2年多了
2019年学的Python,算不上熟练,能做东西,后来没用上,到现在扔了3年了
2020年学的golang,算不上熟练,能做东西,后来没用上,到现在扔了2年了
2014~现在,cocos,熟练,经历了cocos -> cocos2dx -> cocos2d-js -> cocos2d-lua -> cocoscreator
我一直在做2d前端,且一直在写业务,慢慢的我有些厌倦了,想做出一些改变。
1> 渲染方向
这么多年一直写业务,也没有涉及多少渲染方面的知识,面试的时候人家看你工作10多年了,都会问一些渲染方面的知识,我也不太 懂,觉得这块是我的短板,所以想系统的学习一下
2> 3d前端方向
错过了Unity的10年,我一直觉得很遗憾,现在我还在做2d的游戏,觉得作为一名游戏开发者不会用Unity就好像没有与时代接轨,更别说现在还有虚幻,我还能再工作几年,留给我的时间可能不多了
3> 机器学习方向
我想做机器学习与游戏方面的结合,这个现在就有很多应用案例,我在做棋牌的时候就想做一个聪明的机器人,这个是我的愿望,由于数学这个拦路虎,不知道什么时候才能在这个方面有些进展
4> 服务器方向
再做房卡棋牌的时候我就是全栈开发,在开始阶段我投入了很多时间和激情,慢慢的我掌握了方法hold住了C++游戏服务器和cocos-lua客户端,我非常享受当时的开发过程,非常享受那种不受任何人的制约,制作属于自己的游戏的过程。所以我想在这个方向有进一步的发展。所以才想到找一个开源的游戏服务器研究的念头,之前研究过golang的leaf。
写了一些自己的感想,我发现把自己的想法写出来,是一件让人身心愉悦的过程,梳理思绪,发现我还是比较享受自己能创造一些东西的过程。创造东西,往往需要工具,其实Unity也好,Cocos也好,PHP也好,Python也好,golang也好,现在想想其实都是工具。我想一个手工匠人,一个艺术家能被人记住的,能拿来跟别人交流的本质上应该是自己的作品,而我貌似在这个过程中忘记了自己的初心,我始终在寻找工具,什么工具符合我的审美用的趁手,在这方面用的时间太多了。忘记了自己想要做的东西到底长成什么样子。
时间不能倒流,从开始工作到现在已有15年,如果对我这15年打个分我想我最多能打60分,但是这个事实我必须得接受,作为一个程序员,今年我36岁,如果下一个15年我不能做出改变,那么到了50岁,我肯定会后悔,看着车库里各式各样漂亮的工具,有的买来甚至没有使用过,但却找不到哪个东西是我做的,我拿什么跟儿子吹牛逼,儿子爹这一车库的工具留给你了…,无疑是个悲剧,如果能留给儿子一些技能,我更希望是留给儿子的是,通过自己的双手创造自己想要的东西技能。