zoukankan      html  css  js  c++  java
  • ARPG游戏引擎设计思路

    http://bbs.9ria.com/thread-108554-1-1.html

    运用alchemy技术提高寻路算法近10倍速度

    这个真霸道啊,留个标记,改天学习下。

    http://bbs.9ria.com/thread-27370-1-1.html

     一:通讯机制

    1.要有心跳机制,以防止客户端无固死掉,仅仅为了这个才做心跳,也可以加入数据同步机制。

    2.服务器发过来的一堆消息,要有队列,不能发过来就执行。

    3.要有byteArray缓冲区,为了解决分包粘包的问题,

     不一定一条协议就一个数据包发完的。还可以解决队列的问题。
    4.分包,粘包 TCP/IP不会发多余的消息

    数据:第1条数据,第2条数据
    分包:第1条数据前半,第1条数据后半,第2条数据
    粘包:第1条数据第2条数据

    分包,粘包:第一条数据第二条数据前半,第二条数据后半

     一个逗号表示发一次, 

    二.战斗和avatar

     一个人物 可能包含了多个 层次啊
    人物自身贴图层,人物背景特效层,前景特效层。  人物模块跟节点层 

    三.地图和人物层


    我现在项目是
    UI层
    地图层 -> 前景,人物,分块,模糊

    地图容器:
    1.前景层 放云..
    2.深度层 怪物和人 机关
    3.分块层 分块地图
    4.缩略层 缩略图


    我们以前项目是这样
    我们游戏就2个循环。 一个 enter_frame 循环,一个 timer 循环
    我们是所有逻辑走timer. 渲染走enter_frame
    人物和怪物在 map容器里是正确的做法
    不过很多游戏是 和map同级,非常坑
    map.addChild(人物);
    map的移动速度是人物移动速度取反啊
    你人物跟地图在同一个父级么

    服务器在移动消息包内有附带当前这个消息包总花费多少毫秒
    客户端通过 总时间/总路长, 算出延迟情况下的移动速度, 会让玩家瞬移过去
    同步位置的消息包,我们都有附带时间戳的
    客户端可以根据这个时间来动态改变移动速度,让延迟的玩家也同步
    玩家层和地图层同时移动。 和地图带动它的子集一起移动。 后者的性能比前者高多了

    一个人物80张图片 5*2*8 = 80

    方向*(跑动+站立)*帧数

  • 相关阅读:
    大小端模式
    深入理解c/c++ 内存对齐
    示波器使用
    C结构体
    51单片机内存问题
    S5PV210启动过程详解1
    程序中内存从哪里来
    再论typedef
    ARM体系结构总结
    MMU实验实验
  • 原文地址:https://www.cnblogs.com/as3lib/p/2610642.html
Copyright © 2011-2022 走看看