手游服务端框架之使用事件驱动模型解决业务高耦合

游戏里经常有这样的业务,当玩家触发某个动作时,有若干与之关联的业务也要一起执行。诸如这样场景,我们选择引入事件驱动模型来帮助我们解决业务代码耦合的问题。本文实现一个工具库,来解决监听器与事件多对多的关联问题。...
阅读(148) 评论(0)

手游服务端框架之使用Guava构建缓存系统

缓存,在项目中的应用非常之广泛。诸如这样的场景,某些对象计算或者获取的代码比较昂贵,并且在程序里你不止一次要用到这些对象,那么,你就应该使用缓存。缓存,在项目中的应用非常之广泛。诸如这样的场景,某些对象计算或者获取的代码比较昂贵,并且在程序里你不止一次要用到这些对象,那么,你就应该使用缓存。...
阅读(226) 评论(0)

手游服务端框架之配置与玩家数据库设计

一款网络游戏的设计,至少需要策划数据库和用户数据库两种数据库。本文主要介绍这两种数据库的设计及使用,同时,介绍如何通过ORM框架来完成玩家数据的持久化。...
阅读(1246) 评论(0)

手游服务端框架之消息线程模型

玩家的消息请求如果放在mina的io线程池进行处理,当业务处理非常耗时,会严重影响io的吞吐量。所以,我们应该另起用于处理业务逻辑的线程池,采用生产者消费者模型,异步处理玩家请求。...
阅读(1397) 评论(2)

手游服务端框架之使用控制器来处理玩家消息

经典web开发项目通常采用三层架构来组织代码。典型的,第一层为表现层,通常使用MVC模式;第二层为业务逻辑层,该层主要是各种service业务操作类;第三层则为数据访问层。类似的,我们的游戏项目也可以采用上面的三层架构,使用Controller注解对应MVC模式的控制器,使用RequestMapper注解对应的消息处理。...
阅读(493) 评论(0)

手游服务端框架之网关

游戏服务器的网关,主要是用于手机客户端与游戏业务服务端通信的中转器,负责接收来自手机客户端的请求协议,以及推送服务端的响应包。在建立socket连接之后,服务端需要知道客户端发来的数据流是什么含义,同时,客户端也要能知道服务端推送的数据内容。这便有了消息编码器解码器的设计。...
阅读(828) 评论(2)

游戏开发的艰辛历程与升级展望

从第一款游戏《贪吃蛇》开始,到《水果忍者》、《时空猎人》,再到如今风靡全国的《王者荣耀》,手机游戏迎来了百花齐放的繁华时代。怀着对游戏行业的热爱,一批一批游戏开发大军加入了队伍。即使从业道路很艰辛,我们还是一如初衷,希望在奉献自己力量的同时,能够从中收获财富与自我成长。...
阅读(348) 评论(0)

游戏服务端防御式开发

游戏服务端承担着游戏复杂业务逻辑实现,玩家数据持久化等重要作用。作为一个合格的服务端开发人员,我们有必要遵守一些好的防御手段,让自己的代码少踩些坑,或者当出现了bug,能够在第一时间进行抢救。本文是我在开发过程中的经验总结。...
阅读(804) 评论(0)

自定义orm框架解决玩家数据持久化问题

使用持久化框架诸如Hibernate过于重量级,使用原生jdbc又显得非常啰嗦。本文通过几百行代码,演示一个轻量级的持久化框架。可以用于游戏服务端的数据持久化方案。...
阅读(2306) 评论(0)

使用JMX监控游戏服务器

游戏服务器运行过程中,我们希望能够对游戏里各种资源进行监控。比如,查看在线玩家总人数,查看内存使用情况,统计请求消息数量等等。这种问题归结起来就是,我们希望查看游戏进程的内存数据。本文将介绍一种黑科技(JMX),让监控游戏服务器更加方便快捷。...
阅读(358) 评论(0)

游戏服务器关于玩家数据的解决方案

玩家数据是游戏系统的血液,必须保证有高效正确的处理方案。本文将从持久层框架的选择、数据表结构设计以及数据入库模型三个方面,讨论玩家数据的相关解决方案。...
阅读(1988) 评论(0)

手游实时对战初步解决方案

对于一款战斗手游来说,如果没有实时对战,那么它就是不合格的产品,也不能够在玩家里产生江湖的战场。实时战斗的设计开发是一项重大工程,保证玩家双方表现尽可能一致以及数据的完整性和可靠性,是我们设计的重点。本文介绍了自己项目在实现pvp的设计理念,希望其他有经验的同行好友,能够一起交流,互为补充。...
阅读(1221) 评论(1)

手游服务端开发基础概念扫盲篇

从事手游服务端开发也快3年了,整理了一份资料,介绍在开发过程中碰到的概念以及自己的理解,希望能够帮到即将从事该职业的朋友。...
阅读(3828) 评论(4)

游戏服务端线程模型——无锁处理玩家请求

采用线程池组技巧,实现游戏服务端为每一个角色指派固定线程,从而达到无锁处理玩家个人请求。...
阅读(2091) 评论(0)

手游服务端代码热部署

采用jdk6的Instrumentation接口,动态改变已加载到JVM的类文件的方法体定义,实现在不重启应用的情况下,修改文件源代码...
阅读(2772) 评论(0)
    个人资料
    • 访问:102630次
    • 积分:1430
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:0篇
    • 译文:0篇
    • 评论:27条
    博客专栏
    最新评论