我之前进入要玩,其实很大一部分工做仍是在提高c++的编程技能、多进程通讯、游戏逻辑 这几方面的学习研究;整我的的视野和思惟还定位于程序开发 和 程序设计;说的简单点,就是如何将一个程序代码写好,没有机会、时间和精力 扩宽认知视野和深度。
离职后,接触了游戏开发和互联网 两大领域的面试。在游戏开发方面,会更多涉及服务器框架,也就是端游的框架啊,加一些脚本啊,用一些现成的框架;还好,主要可以知晓数据流的处理便可,很大的一个缘由是,面试公司通常都有本身的一套框架,进入后熟悉下就能上手,剩下的各类时间,就是堆逻辑、堆功能;另外,通常的游戏公司受于投资的压力,会趋向于快速开发成本,不多有研究性的态度 -- 像我之前的一些游戏公司,直接要求玩家人数累积达到一千人、不管是否活跃,就开新服,咱们coders 哪有激情澎湃去深造 -- 也许这也是形成我在更高层面的成长较薄,累积的知识业务逻辑经验 -- 不过,一步一个脚印儿,至少要能增值。
另外是大型互联网公司,也主要问框架,但都会涉及容灾、扩展机制。我能答上的,就是一个世界服务器 全权掌管各个场景服务器的生死;可是万一这个单点的世界服务器宕了呢?场景服务器又如何维护玩家数据的试试有效性呢(例如按期存盘)等等,虽然如今有不少解决方案,但当时面试时,只能忽悠。
后来一段时间的研究才发现, 其实游戏服务器框架,也是分布式的一种,只是一直我视野较窄:如今才知道 redis、nginx 在游戏开发方面的好处,不管是框架仍是 coding 复杂度,要是早前我只会以为,nginx就是开发网站用的嘛,跟游戏有什么关系;也知道 为何之前会有人用 php、java写游戏服务器,固然现在我开始选择 golang 了;更重要的是,memcached、hadoop、openstack、redis 都已经提供了很好的分布式、大数据、负载均衡方面的解决方案,此前公司和本身都只是在造轮子。
个人想法是,若是仍是作游戏开发,那也要在心态认知上,将它做为互联网产品来作,不少实现可参考现成的解决方案,而非仅仅是作游戏。