一,游戏服务器编程语言的选择

所谓的游戏服务器编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言。这需要根据自己游戏的类型和要求加以选择。比如C++,Java ,Erlang,go等等。目前我用过的只有C++和Java.但是以Java为主。所以接下来就以自己的经验,谈谈以Java为核心的游戏服务器开发技术体系。

Java目前作为游戏服务器开发语言已经很是普遍。但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。C++效率高,但是掌握度难些。没有Java易于掌握。而目前对于追求快速上线率的页游和手游来说,Java成了一个不错的选择。

二,Java的技术系统

需要学习的技术:

(1)Java基础知识

(2)JavaNIO编程

(3)Netty,Mina网络框架精通一种,其它作为了解。

(4)一种缓存框架:Redis;memcache熟悉使用一个。

(5)SQL语言,用于数据库:mysql

(6)springmvc主要用于http协议的服务器

(7)多线程编程,明白线程安全的重要性。

(8)Java并发集合的掌握。

(9)Linux常用的基本命令及shell脚本。

(10)数据库操作,比如mybatis。

以Java为服务器编程语言来说,掌握Java的基本知识就不必说了,是必不可少的。可以参考《Java编程思想》,《Java核心技术》等书。根据游戏通信协议的不同,大致有两种实现方式:Socket和http。先说简单些的http协议,这个协议已经很成熟的应用到了网站上。而Java语言也可以用于网站开发,所以相当就简单些。现在有很多开源的服务器软件,比如:tomcat ,resin等。游戏前端不管是页游flash,还是手游的Android,IOS都支持http协议,只要把游戏的逻辑数据按post方法向服务器发出请求即可了。

而对于socket来说,就需要掌握一些深入的网络通信知识。对于Java来说,一般选择NIO(非阻塞)开发方式。可以参考Java NIO编程相关资料。为了适应这个需求,现在有很多网络通信框架,比如Netty,mina。目前已经成熟的应用到了游戏开发当中。这些都是开源的,有兴趣可以阅读它们的源码。

游戏服务器开发过程中,会涉及到很多多线程的应用。这样可以提高服务器的性能和实现某些特定的操作。比如组队打怪,竞技场的事实排名。这些涉及到了并发对共享数据的操作。为了防止数据的错误,一定要做好数据的同步。这里推荐一本书《Java并发编程实战手册》。

三,学习流程

当然了,学习这些东西并不是一蹴而就的。需要根据实践循环渐进,这里推荐一个学习流程:

(1)对于初学Java的人来说,如果自学能力好些,可以买些书自己练习,而现在又更的多选择参加培训机构的培训,以快速的掌握Java的知识。

(2)掌握了Java知识之后,要多写代码实践。这个时候可以结合mysql学习SQL语言,掌握数据库的操作。比如用springmvc写一个小网站,用mybatis实现网站数据的增,删,改,查等功能。

(3)完成上步之后,可以在服务器程序和数据库之间加一个缓存,学习redis或memcache。

(4)把程序部署到linux服务器上,练习linux的基本命令及shell脚

游戏服务器开发需要学习的技术相关推荐

  1. 2020最新版C/C++学习路线图--游戏服务器开发重点

    黑马程序员C/C++学习路线图大纲中第六阶段的学习是游戏服务器开发的学习:主要介绍了C/C++学习路线图的游戏服务器开发的学习目标,C/C++学习路线图的游戏服务器开发的市场价值,C/C++学习路线图 ...

  2. 学习JAVA游戏服务器开发需要了解的情况

    一,游戏服务器开发的工作介绍 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻炼自己,或许觉得想换个环境等 ...

  3. lt;转载gt;游戏服务器开发都要学什么?

    2018年3月3日 欢迎扫二维码关注公众号,获取技术干货 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻 ...

  4. 游戏服务器开发(基本需求)

    1,团队沟通 基本上不管做什么开发,都是一个团队来完成的,游戏也是如此,游戏团队一般由老板,总经理,CTO(技术主管),主策划(领导一些人,包括数值策划,系统策划,特效策划),主美(领导一些人,包括原 ...

  5. 游戏服务器开发需要学什么

    一,游戏服务器开发的工作介绍 近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻炼自己,或许觉得想换个环境等 ...

  6. 2020,游戏服务器开发需要掌握哪些,你都具备了吗

    序言 一.游戏服务器开发工作介绍 有很多朋友会问我,想从其它开发领域转到游戏服务器开发上来,需要学什么? 或许是因为游戏服务器开发工资高,或许是因为感觉做游戏服务器需要掌握的技术更高级,更具有挑战性, ...

  7. 多人网络游戏服务器开发基础学习笔记 II: 帧同步 | 游戏客户端预测原理分析 | FPS 游戏状态同步

    这篇是对书本 网络多人游戏架构与编程 的学习第二篇(第一篇:多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | ...

  8. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

    C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...

  9. 游戏服务器开发技术小结

    转载请自觉标明原创出处 原文链接:http://gameislife.info/archives/category/游戏开发    游戏服务器开发技术小结 1 概述 本文从开发者的视角,浅析游戏服务器 ...

  10. 如何学习java游戏服务器开发?

    为什么游戏服务器很多都用Java开发 Java 做游戏服务器开发的优势还是很多的,<我的世界>的服务器就是Java开发的.Java技术比较成熟,大数据,云计算,网站App后台,基本都采用J ...

最新文章

  1. BCH社区意见分歧:引领市场VS迎合市场?
  2. JScript多语言语法加亮引擎显示(代码精简)
  3. PHP7实战开发简单CMS内容管理系统(8)登录权限控制功能分离
  4. vue2.0 练习项目-外卖APP(2)
  5. java图片预览上传_java实现文件上传、下载、图片预览
  6. 学习ssm框架的顺序
  7. About Undefined Behavior[译文]
  8. python 驱动级鼠标_电竞极速鼠标
  9. python代码的注释只有一种方式、那就是使用#符号_知到智慧树营养与食疗学多选题答案...
  10. 开源实时视频码流分析软件 VideoEye
  11. 纸筒制作机器人_卡纸手工制作方法_机器人DIY制作教程图解
  12. fastjson解析json文本
  13. 电脑发出很大的嗡嗡声_跟踪嗡嗡声的十大方法
  14. 极光小课堂 | 极光一键登录集成手册--Android
  15. 我的北京工作居住证申请之旅
  16. 【瑞萨RA4系列】开发环境搭建和点灯指南
  17. Could not find a getter for name in class org.tarena.entity1.City
  18. 【数理统计】F检验与单因素方差分析
  19. android 能调用gcc_Android:交叉编译总结
  20. 薅羊毛 | Python 自动化带你轻松赚钱(完结版)

热门文章

  1. QTreeWidget的右键菜单实现
  2. 2021Eclipse最新下载与安装教程
  3. a标签的href属性 download属性
  4. 超越GraphCL,GNN+对比学习的节点分类新SOTA
  5. C语言课程设计——电影院订票系统
  6. matlab 非线性误差,matlab处理非线性误差估计.doc
  7. android设置ip地址连接网络打印机,如何使用IP地址的方式连接网络打印机
  8. 阿里云(飞天)里的 盘古
  9. 微信小程序选择图片更换背景
  10. 仿9GAG制作过程(一)