240 发简信
IP属地:黑龙江
  • 不好意思,很久没登简书了,这种框架是有这个问题,我们用了一个“跨进程锁”,但它其实是采用CAS打上一个业务状态标记(un_lock,locking,locked,lock_fail),表明该玩家的业务正在锁定状态(locking或locked),后续业务(002)如果发现正是锁定状态,就会放入任务队列里等待执行。

    Java游戏服业务线程模型二

    要永远相信你的灵魂。 --卡尔玛 在《游戏架构方案》一文中提到了游戏架构无非就是看网络框架,业务线程池,数据存取线程池如何实现的。在《Java游戏服业务线程模型一》一文中,我...

  • 120
    还在使用if else写代码?试试 “策略模式” 吧!

    来自公众号:程序员小灰作者:LA 我们使用的app大多都有分享的功能,我们可以选择分享到不同的地方,比如微博、微信、QQ等等,虽然是同一个内容,但是分享到不同的平台就会有不同...

  • @林_509b 这个是模拟大量客户端密集访问游戏服的,可以在游戏服写个协议监控工具,与我的另一篇文章 协议调用时长监控 的工具类似

    制作游戏压测机器人工具

    世间万物,表里如一者,又有几何? --婕拉 当游戏项目开发到后期,进入全面内测阶段时,很多项目团队会开发一款游戏压测机器人工具去测试本游戏的各种性能,如支持的最高在线人数,...

  • @codingdd 以我的理解,回合制战斗是允许一些不合理的,允许一些不精确的,比如我伤害,我回血,对面回血和变成我伤害,对面回血,我回血这都可以说得通的,因为我的回血不影响打它的伤害和它的回血。可以问策划,一个攻击行为是先触发它的被动还是先触发我的被动,策划定了,那代码就定了,以后就都这顺序了。如果策划说有些被动要先触发我的,有些被动要先触发它的,那就给技能配个触发优先级即可。一个攻击行为产生的连锁被动,最后都变成Action<subActions>,里面的一些subAction谁在前谁在后其实没多大关系,只是前端特效播出来赋予了它们先后顺序,只要这个顺序看起来合理即可。战斗的伤害也可以灵活的算,可以一整个行为的算,一个行为有多个效果分段也可以分段的算,比如一个技能连续放三道天雷,对面可能在第二道就挂了,那我到底要不要打出第三道呢?这其实打不打出都说得通,全凭策划一句话,所以战斗没有绝对精确,只要绝大部分时候合理即可。至于一个复杂技能效果的灵活配置,是需要先拆分一个个基础效果实现之后才能让策划去配才可以支持的,应该难做到随便策划想个技能配了就能实现了,不然英雄联盟和王者荣耀也不会那么久才出一个英雄了,肯定有些技能效果还不能支持的情况存在。

    论卡牌类战斗的实现

    我于杀戮之中盛放,一如黎明中的花朵 --烬 卡牌类游戏战斗,这种类型游戏战斗如下图所示:典型的代表有《放置奇兵》,《少年三国志》等,市面上很多这种类型游戏。 放置奇兵战斗.j...

  • 开始我在分析放置奇兵的技能时,发现一个复杂的技能,都包括一个基础效果,n个额外效果,n个buff,他们都各自有各自的选择目标,各自的触发条件,各自的伤害计算方法,所以最后把技能表拆成两个表了,一个是技能表,里面是基础效果的触发条件,选择目标,技能效果,伤害参考目标参考属性,额外效果id列表,额外buff事件id列表,后两个id列表的额外效果和buff都配在另一个技能额外事件表里,这样配是因为有些技能有很多额外效果和buff,而这些效果和buff都有自己的触发条件和目标选择,和伤害参考目标参考属性,配在一个表里太臃肿了,还有些特殊技能,比如你说的延迟触发的,他的实现途径之一可以是再触发一个被动技能放到目标身上,由这个被动技能的触发条件再自行触发,这样就和技能走一样的流程了,触发后可以删除它,这些都提现在上面的doaction方法中了,先是触发基础效果,再触发加buff列表,再触发额外效果,然后触发自己的被动,触发攻击目标的被动,触发其它单位的被动,每一个技能效果用枚举的方式写的,这样可以逻辑解藕,再各自的效果里实现各自的效果。

    论卡牌类战斗的实现

    我于杀戮之中盛放,一如黎明中的花朵 --烬 卡牌类游戏战斗,这种类型游戏战斗如下图所示:典型的代表有《放置奇兵》,《少年三国志》等,市面上很多这种类型游戏。 放置奇兵战斗.j...

  • @阿宇_548a 😀不是大佬

    制作游戏压测机器人工具

    世间万物,表里如一者,又有几何? --婕拉 当游戏项目开发到后期,进入全面内测阶段时,很多项目团队会开发一款游戏压测机器人工具去测试本游戏的各种性能,如支持的最高在线人数,...

  • 如果你出现了下面的信息:
    “Whitelabel Error Page
    This application has no explicit mapping for /error, so you are seeing this as a fallback.

    Sat Sep 29 09:11:19 CST 2018
    There was an unexpected error (type=Not Found, status=404).
    /WEB-INF/jsp/index.jsp”
    说明了不是配置依赖问题,是IDEA的内置tomcat问题,这个时候请使用IDEA插件的方式运行程序,具体方式如下(由于评论不能贴图,囧,所以只能描述了):
    1.打开Maven Project,找到maven的依赖菜单
    2.在Lifecycle,Plugins,Dependencies中选择Plugins
    3.在Plugins中找到springboot
    4.spring-boot:run双击运行或者右键(run maven build)都可以!
    希望能够帮助到你!

  • 协议调用时长监控

    罪恶潜伏在各个角落。 --VN 游戏中的业务逻辑,通常是不建议在网络数据包接收线程池中处理的(如Netty Worker线程组),最好在自己的业务线程池中处理。但是,不管在哪...

  • Java游戏服使用Groovy在线修复玩家内存数据

    生命不息,战斗不休。 --剑魔 当玩家因为逻辑bug导致其游戏数据错乱时,通常的做法是停服写SQL脚本修复或在重启服务器时写代码修复。在《Java游戏服热更新》一文中,我们已...

  • 120
    Java游戏服热更新

    荣耀存于心,而非留于形。 --亚索 有时候,游戏服线上出了逻辑bug时,及因此可能导致玩家内存数据也错乱时,我们希望不停服就能修复bug或玩家数据,以避免停服维护可能造成的巨...

  • 120
    面试问我,创建多少个线程合适?我该怎么说

    来源公众号:于日拱一兵作者:tan日拱一兵 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想If you can NOT explain it simply, yo...

  • 120
    史上最全的RabbitMQ-总结

    原文来自于:公众号三不猴子[https://mp.weixin.qq.com/s/iUsjGgpD1HsEU9AkJBw3RQ]欢迎关注我的公众号,公众号内回复666获取面试...

  • 120
    Carson带你学序列化:Protocol Buffer序列化原理大揭秘-为什么性能这么好?

    前言 习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google出品的一种轻量 & ...

  • 120
    回形针为什么惹众怒,谈谈“回形针”事件

    这几天回形针再次登上了微博热搜,原因还是是台湾地图问题。有细心的网友发现,回形针在外网YouTube和微博2018年6月1日发布的第16期科普视频《自来水从哪里来》中使用的中...

  • Java游戏数据缓存与存储

    树叶的一生,只是为了归根吗? --亚索 在前面的博文中,我们讲了客户端和游戏服之间的通信,分别讲了使用Netty实现客户端和服务端的tcp通信及webSocket通信;后面...

  • 120
    数据连接学习(二):DBCP连接池的简单使用

    0.学习原因 学习Spring时涉及到了这方面的知识,就来学一下。以前学过,但是忘的差不多了。 学习博客:http://blog.csdn.net/shuaihj/artic...

  • 120
    游戏任务系统实现思路

    怀疑是最强大的敌人。 --剑圣 每个游戏,几乎都有任务系统,比如王者荣耀,它有成长任务,成就系统,战令系统,每日任务,还有活动任务。这些本质都是任务系统,其余的游戏,或多或少...