java游戏服务端开发的总结及开发的经验分享

java游戏服务端开发的总结及开发的经验分享

一款网络游戏的开发和上线是团队共同努力的结果。 每个成员都是这个游戏成功的基石。 mysql

1. 学习与Linux沟通

游戏开发团队的角色主要由:总经理、技术总监、策划组(游戏数据、系统、特效、玩法设计)、美术组(游戏原画、UI、特效设计)、客户端开发团队(客户端程序员……),服务端开发团队(服务器程序员……),测试团队,加上运维。 游戏的大部分逻辑和数据验证都是在服务器上进行的手机游戏服务端开发,因此与策划人员沟通并清楚了解需求非常重要。 由于游戏逻辑的复杂性,会出现无法通过规划预测的情况,所以在服务器端开发时必须完善这个逻辑。 这时沟通之前就必须要有规划,以保证所实现的功能的正确性。 同时,与客服方的沟通也必不可少。 双方选择的处理方式和交互方式决定了游戏的功能能否实现以及游戏性能的可靠性。 因此,作为一名游戏程序员,必须具备良好的沟通方法和技巧。 git

2.用好架构程序员

建筑设计就像房屋建筑结构。 房屋结构设计的质量是保证建成的结构安全、适宜,能满足规定时间内各种预期功能的要求手机游戏服务端开发,且经济合理。 软件架构的设计有好有坏。 软件架构的设计通常有几个特点。 网络

易用性:架构完成后,在开发过程中必须易于使用。 例如:网络通信架构设计完成后,其他开发人员就不需要关心客户端数据如何传输到服务端了。 这时候对于服务端开发者来说,只需要实现一些简单的接口就可以直接与客户端进行通信了。 处理客户端发送的请求。 雷迪斯

可扩展性:代码可扩展性和部署机器可扩展性。 例如,游戏中有多种活动,并且可能会不时增加。 每个活动的开始和结束、奖励分配、活动启动事件等一系列常用功能都要集中管理,抽象出基类,形成一个活动表,然后具体的活动区域继承这个基类区域以便实施。 不要每个活动都出现,而是单独实现这些重复的功能。 例如贴图笔刷,当数据库太大,需要分成单独的数据库时技能特效,需要能够动态添加机器,而不影响其他服务器的运行。 当压力下降时,可以拆除某些机器,合理利用资源。 春天

高吞吐量:可以最大限度地利用固定的计算机资源来处理更多的请求并更快地响应客户端。 在设计服务器架构时,要考虑异步处理、减少IO等待时间(如请求redis、存储数据库、与其他服务器通信)和数据缓存。 说到异步,肯定会涉及到多线程、并发等相关技术。 sql

建筑设计不仅仅用于游戏的整体布局,在设计每一个功能时也应该考虑到。 逻辑发展是一个漫长而艰巨的过程。 对于同一个问题,可能有多种实现方法。 不同的实现方法对效率和吞吐量有很大影响,因此需要对所需功能有深入的了解。 ,不同功能之间的关系一定要明确。 了解如何使用常用的设计模式.数据库

3、辅助工具开发

一款游戏的成功运营需要很多服务来支撑,比如sdk接入、充值接入、日志统计、游戏运营管理系统(通常称为后台管理系统,是内部人员开发的用于管理游戏的系统)。 例如修改用户等级、禁止等。管理系统通常采用Web开发与游戏服务器进行通信; 比如服务器开放工具、日志分析工具、数据处理工具等,凡是用程序能完成的繁琐、重复的事情都可以写出来,提高效率。

随附的:

如果要开发Java游戏服务器,需要掌握以下技术:

1.网络通信框架,Mina或者Netty必须熟悉之一。 而且你必须自己构建过它并了解其他原理。

2. 开发通信协议并处理数据包断开和数据包粘连。 这通常是网络通信框架要解决的问题。

3.数据缓存框架,选择redis或memcache之一,并能熟练使用其客户端命令。

4. Java基础知识、Java NIO通信原理、Java集合的使用、Java多线程开发、Java锁的使用

5.了解一些设计模式。 最好阅读全部23种设计模式,并结合自己的开发经验,看看哪些设计模式可以使用。 但是,不能严格遵循设计模式并灵活运用。

6. 熟悉使用Mysql数据库

7、了解数据库连接池的一些框架,如Mybatis、hibernate

文章来源:http://www.noobyard.com/article/p-klfpjzfb-ct.html