java做游戏-qt 做界面 java做后台服务器
1、游戏服务器编程语言的选择
所谓的游戏服务器编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器编程语言。 这个需要根据自己游戏的类型和要求来选择。 比如C++、Java、Erlang、go等,目前我只用过C++和Java。 但是Java是主要的。 那么接下来,我就结合自己的经验来谈谈以Java为核心的游戏服务器开发技术体系。
Java 现在作为一种游戏服务器开发语言非常普遍。 但是大多作为页游或者手游的服务器,端游一般选择C++,因为端游对服务器的性能要求比较高。 两种语言各有利弊。 C++ 高效,但难以掌握。 没有 Java 是那么容易掌握的。 目前,Java已经成为追求快速在线速度的网页游戏和手游的不错选择。
二、Java技术体系
学习技巧:
(一)Java基础知识
(2)Java NIO编程
(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做游戏,有兴趣的可以阅读他们的源代码。
在游戏服务器开发过程中,会涉及到很多多线程应用。 这样可以提高服务器的性能,实现一些特定的操作。 比如组队打怪,竞技场的实际排名。 这些涉及对共享数据的并发操作。 为了防止数据出错,必须做好数据同步。 这里有一本《Java并发编程实战手册》。
三、学习过程
当然,学习这些东西不是一蹴而就的。 需要循序渐进,循序渐进。 这里推荐一个学习过程:
(1)对于刚接触Java的小伙伴来说,如果自学能力比较强,可以买一些书自己练习,但是现在越来越多的选择参加培训机构的培训来快速掌握知识点爪哇。
(2)掌握Java知识后,多写代码练习。 这时候可以结合mysql学习SQL语言,掌握数据库的操作。 比如用springmvc写一个小网站,用mybatis实现网站数据的增删改查等功能。
(3)完成上一步后java做游戏,就可以在服务器程序和数据库之间添加一个缓存,学习redis或者memcache。
(4) 将程序部署到linux服务器,练习linux的基本命令和shell脚本