盗賊の極意

Feed Rss

新坑,(移动端?)MOBA游戏探索!挖坑的不嫌坑多,多线并进保护研究热情!

06.04.2015, 未分类, by , 2,329 views.

听说有拖延症的人怕自己完不成任务,所以尽量少接任务,结果完成效率还是不尽如人意。

结构化拖延理论认为,有拖延倾向就更应该多接任务,这样为了逃避任务A而去做任务B,不知不觉就能搞定大部分工作了。

所以我要挖新坑,哼哼。

最近在看很多通信协议的东西,也需要看Unix网络编程。但网络编程这东西,没有个具体的需求的话,我也不知道这么些函数,这些模型都适合什么场景。

为了给自己一个练手的空间,这次准备尝试一下对实时网络通信质量要求非常高的领域——MOBA类游戏。

以往做的游戏都是websocket就能搞定的小玩意儿,一点儿也感觉不到各种网络通信方式之间的性能差别。MOBA类游戏有一个最重要也最容易分辨的质量标准,就是延迟。UDP到底比TCP快多少?怎么能在保证快速响应和在有丢包风险的连接上保证逻辑正确呢?还是实践出真理吧。

新坑,(移动端?)MOBA游戏探索!挖坑的不嫌坑多,多线并进保护研究热情! 有 5 条回应

  1. 2015-06-05 在 17:47 FreeKnight

    哈哈哈~~学到了一种自我安慰的好理论。我这是典型的“结构化拖延理论”实践者嘛。哈哈哈哈~~
    总之,挖了不计其数的坑呢~
    对了,如果Kira做MOBA得到一些什么成果的话,求分享。我这边也很适合挖这个坑。

    回复
    • 2015-06-05 在 21:53 基拉铃妖

      Moba这个坑对我来说真是挺现实的,我也准备多投入一点在里面了。
      L2TP over IPsec的坑牵扯到太多厚重的基础知识,我估计暂时不会有什么大进展。
      本来想业余做一个我最近最拿手的HTTP代理缓存服务器的java版,但是考虑到这个最后可能要拿给公司用(今天上班偷偷把原型做出来了,准备下周拿给领导看),就不拿出来公开了。
      只有MOBA这块,在TCP/UDP层的通信是触手可及的技能,但怎么设计又有点悬念,看起来比较可爱。
      说起来,笃志是端游的网络游戏出身的,我研究的MOBA相关知识估计都是你们早些年玩剩下的了(汗)

      回复
  2. 2015-06-06 在 15:45 FreeKnight

    我没有做过MOBA,基本做的都是MMOAPRG,对于移动同步,数据信息同步,角色场景管理有自己的方式,但是MOBA,特别是应付“卡”所做的缓冲,重连等机制我一直有好奇,团战时(特别是兵多)的瞬间的大量数据同步,以及部分的物理效果,我也很有兴趣。还有该死的(蚂蚁的大)时光返照之类的我很有兴趣了解最佳实现方式是什么。

    回复
    • 2015-06-06 在 16:01 基拉铃妖

      嗯,MOBA说到底是从war3发展来的,其中的技术应该和RTS比较接近,而不是MMO。
      war3应该是强制逐帧同步,所以一个人网络不好会拖累所有参与者。
      MOBA怎么利用UDP设计不卡的游戏体验,是挺有趣的。估计得找点文章看看了。
      我搜了搜github,也没找到比较靠谱的开源moba,特别是服务器端的实现。
      现在有个问题是,我想研究moba的服务器端,但是没有一个可用的客户端的话,测试都不好测。而我的3D编程能力之薄弱,真是对这个需求望而却步啊。
      目前考虑用Unity做一个简单的客户端试试看。至于怎么在Unity上搞底层通信,看看Photon的PUN吧,希望不用写native代码,不然Unity的傻瓜式跨平台的优势又没有了。
      我在公司是native engineer,但工作上真是能避免尽量希望避免使用native,像android开发中引入NDK的话,要给所有平台编译对应的库,体积又大,debug任务也重,能用的api还少,jni效率也低,真是下下策。我现在比较相信开发效率更重要了。native作为个人兴趣我还是挺喜欢的,但是作为工作技能,我还是想多掌握一些泛用的引擎,具体来说就是Unity了。

      回复
  3. 2015-06-08 在 16:14 FreeKnight

    MOBA的客户端我可以很容易做出来,包括场景美术部分,但是我缺少3D角色模型和动作。这也是我现在在做自己的小坑时遇到的最头疼的事情。附:我用的不是Unity,用的是自己封的引擎。效果你可以在我空间中大致看到。

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>