网络游戏服务端客户端之间一般都是通过TCP协议通讯,所以服务端用什么语言和客户端用什么语言没有关系。甚至一套服务端的代码可以同时用于iOS版本和Android版本,如果有网页版和端游版理论上也是可以通用的。不过各平台在协议上可能会有不同。
培训机构培养网页开发的比较多吧。培训做游戏的,我就知道一个游戏学院。我以前有同事是从那里边出来的。他们好像主要是培训客户端的。说到客户端难还是服务端难,这两个都各有各的难。客户端做图形渲染的比较牛逼吧,服务端主要牛逼在网络、分布式方面。如果说普通的写逻辑,应该是服务端更难。基本做一个功能,都是由服务端设计,客户端在写逻辑方面真的很简单。。。
单纯写做游戏服务器的书,我是没见过。因为做服务器真的是很多种技能的组合。首先,它最麻烦的一点我觉得就是分布式和负载均衡。就是如何承载更多的人还能保证服务器的稳定和高效。就这一点就需要操作系统的知识以及网络的知识。对我影响比较大的两本书:>和>,我现在其实建议做服务器的多接触接触UNIX类的系统,做服务器还是UNIX的比较爽。
其实做服务器的程序员,在公司里的压力是最大的。因为服务器如果出了问题,一般都是大事儿。比如如果服务器有个bug会导致崩溃,那所有人都上不了游戏,还有可能导致玩家数据丢失。如果服务器有某个漏洞会被利用刷东西,额,这个太可怕了,因为都是涉及到钱的问题。可能你一个非常微小的错误,都可能早成难以弥补的后果。客户端一般出不来大事。说到待遇,怎么说呢,还是和能力有关,这个和行业没什么关系。做客户端的和做服务端的工资水平是差不多的(虽然我觉得服务端程序员价值更高一些)。公司的地位,这个不同的公司地位是不一样的。一般来讲是比客户端的程序员高一些的。但是,只是个程序员而已,如果你碰上一个技术出身的老板,在公司里可能会比较受尊重。但是如果你的老板只是个商人,那你就只是一头牛而已。
另外,你既然想做服务器,为什么还要限定在手机游戏呢?对于服务器来说,手游还是页游真的没什么区别。
(2)如果是socket方式联网的,比如mmo的,对性能要求比较高,数据主要存储在内存里,db只是定时异步存储。
答1:网游的服务器端语言很多,java,c#,c ,c,golang,erlang等等,这些我都见过.不同平台仅仅是客户端不同,但服务器都是可以共同的,就好比,你可以用不同的浏览器去访问相同的页面,差不多是这个意思.
答2:因为后端技术都是非常非常基础的东西,不像web开发,有那么多的套件,游戏服务器开发都是很基础很底层的,培训机构没有这种实际开发经验的老师,是肯定不会教的.然而有游戏服务器开发经验的,应该没有愿意去做培训的吧,毕竟游戏开发的待遇还是比较高的.
答3:服务器端开发用的都是非常基础的东西,基础一定要扎实.每个公司甚至每款游戏用的引擎都不一样,所以基础好了才能快速的接受这些结构,普通的开发用到的很少有特别深的东西.如果到了想开发引擎或者服务器架构的程度,那就得看计算机网络底层,开发语言的网络底层之类的比较深层次的东西.刚开始基础最重要..
答4:不管是客户端还是服务器,刚开始的待遇都差不多,肯定普遍会比做web的要高些,尤其是做到核心开发或者主程.公司地位这个就不好说了,看人,看公司.
想做服务器开发,最最重要的是责任心,其次是一定要细心,毕竟服务器关系着玩家数据和整个游戏的稳定性,对于一个游戏来说是非常非常重要的角色.