- 浏览: 1061349 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://bbs.9ria.com/viewthread.php?tid=75941&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000
许久没有在坛子里发贴,作为斑竹有些失责,同时也许久没有在博客中写技术相关的文字了,技术的东西不会咋会写,随便唠叨总结点算是给本版块拉拉回流吧。小朋友们千呼万唤的pvp战斗系统终于在这周上线了,而鉴于这次被pvp系统搅的晕头转向的,所以有必要缕一缕逻辑好好总结一下经验了。
下图为《洛克王国》的战斗画面,同宠物小精灵一样1vs1的战斗模式,战斗过程中可以更换宠物:
由于洛克王国最初公测的战斗版本是PVE模式,客户端在架构战斗系统的时候虽然考虑了一些PVP的因素预留了一些接口,但是在实际的实现过程中,由于当时公测的压力,时间比较紧,所以开发过程中还是主要以实现PVE功能为主了。在接到pvp的需求后,起先以为要做的修改客户端不会很大,但是在实际改动的过程中却还是发现了许多没有考虑到的问题,下面把实际开发过程中遇到的问题总结一下吧:
一,肯定是对PVP需求的评估。
1.成本 客户端选择的是在原战斗系统上做修改,开发时间以及人力上相对于重新开发一个PVP系统来说,肯定是节省不少。
2. 风险
a. 由于客户端是在原PVE的架构上做修改,对原来已经比较稳定的战斗系统肯定会有影响,虽然比起重新开发一个PVP系统 来讲风险会高不少,但是由于在架构战斗系统之前预留过这方面的接口,所以起初评估的风险不大,只是对于测试来说会增 加不少的工作量。
b. 由于最早的战斗系统是在好几个月前开发的,之后稳定下来后就没有去做过多少改动,对于代码以及最初的架构思路都有 一些生疏,所以做这种大的改动还是需要一定信心的。
所以,在权衡了成本低但是风险较高的情况下,最终给予了充足的开发和测试时间保证版本的质量。
二,对PVP系统的逻辑分析。
简单绘制了一个流程图(省略了等待播放动画完毕的状态,有不妥或是错误请留言指正),客户端的设计是基于战斗状 态的 队列一个一个执行处理逻辑,这里有一点要提一下,因为之前在做PVE的时候只考虑了一方战斗的状态,PVP的的话就 要考双方的战斗状态,且同时可能存在两种状态,比如宠物战死,这个时候都是等待出招状态,但同时有一方还是更换宠物 的状态。
三,分析PVE和PVP的不同点,明确要改动的功能点。
1. 网络异常的处理 由于PVE可以理解为是单机战斗,不用考虑对战一方的网络异常,而PVP是需要关注对战双方的网络状态,若有一方网络异常客户端都要做异常处理,比如战斗过程中一方断网或关闭浏览器,就要退出战斗。
2. 等待状态的处理 PVE不需要知晓对战一方的状态,而PVP需要同步对战双方的状态,这个中间就多了一个等待的处理。比如A向服务端提交了动画播放完毕的消息,而B由于网络延迟或是动画和A播放不同步比A慢而导致对战双方状态不同步,这个时候A就要做个等待处理,收到服务端开始下一回合的数据后才开能开始继续操作。
虽说磨刀不误砍柴工,但即便是做了一些准备工作,但实际的开发过程中还是出了不少的叉子,有些问题也只有在实际做的过程中才会发现,比如网络异常考虑不周全,状态同步的处理遗漏或是原架构不支持,需要做调整等。由于是在原PVE的架构上做改动,虽然之前的协议数据没有做任何的改动,但是客户端的逻辑修改还是令自己有些晕头转向的,开始评估改动不是很大,但实际的修改量却远远没自己评估的那么简单,这个也反映出了自己经验的不足,所以也是个好事。
具体的代码以及实现细节、中间遇到的一些问题就不一一累述了,这里只是简单对于原架构做改动的一次经验总结。我不是一执着追求高深技术的人,只想多学习并总结一些项目经验。一直认为,项目经验不是看个人做过的项目或是功能有多少,而是看你每次做一个项目或是功能你总结并收获了多少。这次吃过一次苦头做过总结,下次若再有其它的在原架构上做修改的需求后,也就能举一反三,可以凭借这次的经验去更准确的评估以及更完善的分析需求了。
oliwen 原文地址:http://oliwen.blog.163.com/blog/static/3805753220112132143268/
洛克王国地址:http://17roco.qq.com
许久没有在坛子里发贴,作为斑竹有些失责,同时也许久没有在博客中写技术相关的文字了,技术的东西不会咋会写,随便唠叨总结点算是给本版块拉拉回流吧。小朋友们千呼万唤的pvp战斗系统终于在这周上线了,而鉴于这次被pvp系统搅的晕头转向的,所以有必要缕一缕逻辑好好总结一下经验了。
下图为《洛克王国》的战斗画面,同宠物小精灵一样1vs1的战斗模式,战斗过程中可以更换宠物:
由于洛克王国最初公测的战斗版本是PVE模式,客户端在架构战斗系统的时候虽然考虑了一些PVP的因素预留了一些接口,但是在实际的实现过程中,由于当时公测的压力,时间比较紧,所以开发过程中还是主要以实现PVE功能为主了。在接到pvp的需求后,起先以为要做的修改客户端不会很大,但是在实际改动的过程中却还是发现了许多没有考虑到的问题,下面把实际开发过程中遇到的问题总结一下吧:
一,肯定是对PVP需求的评估。
1.成本 客户端选择的是在原战斗系统上做修改,开发时间以及人力上相对于重新开发一个PVP系统来说,肯定是节省不少。
2. 风险
a. 由于客户端是在原PVE的架构上做修改,对原来已经比较稳定的战斗系统肯定会有影响,虽然比起重新开发一个PVP系统 来讲风险会高不少,但是由于在架构战斗系统之前预留过这方面的接口,所以起初评估的风险不大,只是对于测试来说会增 加不少的工作量。
b. 由于最早的战斗系统是在好几个月前开发的,之后稳定下来后就没有去做过多少改动,对于代码以及最初的架构思路都有 一些生疏,所以做这种大的改动还是需要一定信心的。
所以,在权衡了成本低但是风险较高的情况下,最终给予了充足的开发和测试时间保证版本的质量。
二,对PVP系统的逻辑分析。
简单绘制了一个流程图(省略了等待播放动画完毕的状态,有不妥或是错误请留言指正),客户端的设计是基于战斗状 态的 队列一个一个执行处理逻辑,这里有一点要提一下,因为之前在做PVE的时候只考虑了一方战斗的状态,PVP的的话就 要考双方的战斗状态,且同时可能存在两种状态,比如宠物战死,这个时候都是等待出招状态,但同时有一方还是更换宠物 的状态。
三,分析PVE和PVP的不同点,明确要改动的功能点。
1. 网络异常的处理 由于PVE可以理解为是单机战斗,不用考虑对战一方的网络异常,而PVP是需要关注对战双方的网络状态,若有一方网络异常客户端都要做异常处理,比如战斗过程中一方断网或关闭浏览器,就要退出战斗。
2. 等待状态的处理 PVE不需要知晓对战一方的状态,而PVP需要同步对战双方的状态,这个中间就多了一个等待的处理。比如A向服务端提交了动画播放完毕的消息,而B由于网络延迟或是动画和A播放不同步比A慢而导致对战双方状态不同步,这个时候A就要做个等待处理,收到服务端开始下一回合的数据后才开能开始继续操作。
虽说磨刀不误砍柴工,但即便是做了一些准备工作,但实际的开发过程中还是出了不少的叉子,有些问题也只有在实际做的过程中才会发现,比如网络异常考虑不周全,状态同步的处理遗漏或是原架构不支持,需要做调整等。由于是在原PVE的架构上做改动,虽然之前的协议数据没有做任何的改动,但是客户端的逻辑修改还是令自己有些晕头转向的,开始评估改动不是很大,但实际的修改量却远远没自己评估的那么简单,这个也反映出了自己经验的不足,所以也是个好事。
具体的代码以及实现细节、中间遇到的一些问题就不一一累述了,这里只是简单对于原架构做改动的一次经验总结。我不是一执着追求高深技术的人,只想多学习并总结一些项目经验。一直认为,项目经验不是看个人做过的项目或是功能有多少,而是看你每次做一个项目或是功能你总结并收获了多少。这次吃过一次苦头做过总结,下次若再有其它的在原架构上做修改的需求后,也就能举一反三,可以凭借这次的经验去更准确的评估以及更完善的分析需求了。
oliwen 原文地址:http://oliwen.blog.163.com/blog/static/3805753220112132143268/
洛克王国地址:http://17roco.qq.com
发表评论
-
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2397实现这效果其实比较简单,主要是思路~! package ... -
江湖情缘游戏里的跳的类
2012-02-08 23:55 0package com.app.role.montions ... -
ColorMatrixFilter - 获得相应颜色的色调 函数
2012-02-08 23:03 0/**获得相应颜色的色调的滤镜**/ public sta ... -
ARPG游戏引擎设计思路
2011-12-31 00:48 00.整体结构 下载 (32.92 KB ... -
五子棋算法详解
2011-10-31 04:14 0五子棋算法详解五子棋算法详解五子棋算法详解 -
[原创]围绕任意一个中心点旋转
2011-10-23 13:46 0package guwanyuan.qicool.game.c ... -
珍宝探索 AS3-过关类小游戏
2011-10-13 02:15 0珍宝探索 AS3-过关类小游戏 -
(RepeaterOverTimeLine能将一个for循环执行的工作类似异步地平摊到多个帧上)RepeaterOverTimeLine
2011-09-30 02:26 0(RepeaterOverTimeLine能将一个for循环执 ... -
box2dttest(台球demo,使用了box2d)
2011-09-21 01:49 0box2dttest(台球demo,使用了box2d) -
贪吃蛇游戏
2011-09-16 02:40 0package com { /** ... -
打豆豆
2011-09-08 00:34 0打豆豆打豆豆 -
经典代码-空战.zip (513.2 KB)
2011-09-02 02:24 0经典代码-空战.zip (513.2 KB) -
基于TextField的图文混编的组件
2011-09-01 23:04 0基于TextField的图文混编的组件 -
泡泡龙
2011-08-29 22:36 0泡泡龙泡泡龙泡泡龙 -
井字棋算法
2011-08-18 15:04 0井字棋算法井字棋算法 -
_超级玛丽游戏_flash_game_demo
2011-08-18 00:01 0_超级玛丽游戏_flash_game_demo.zip -
吴万江-TD_demo
2011-08-15 15:35 0吴万江-TD_demo -
S_eVent系列教程
2011-08-13 05:01 0S_eVent系列教程S_eVent系列教程 -
[转][翻译]LoaderMax使用指导(一)
2011-08-10 19:51 1865http://hi.baidu.com/mr_ziqiang/ ...
相关推荐
PVE 6.2中文手册 PVE 6.2中文手册
这个是自己在pve7下debian11配置好的docker模板,有需要的小伙伴自取,不当之处请指正。 上传到/var/lib/vz/dump文件夹下,web端local-备份-还原。这个模板无法启动,因为这会修改磁盘映像。如果要更改模板,请创建...
PVE系列教程(一)、PVE7.1.2版本系统安装PVE系列教程(一)、PVE7.1.2版本系统安装PVE系列教程(一)、PVE7.1.2版本系统安装
解压得到4个deb文件一同传到pve的root目录下 然后运行如下代码
img转kvm工具 使用方法: 用winscp登录你的虚拟机IP,把img2kvm和镜像文件一股脑的放置到root下,然后输入以下代码: chmod +x img2kvm ./img2kvm 文件名.img 100 vm-100-disk-1 上面的100表示虚拟机编号
PVE系列教程.zip
修改远程端口号,自动添加防火墙入站规则
pve虚拟化平台管理员手册7.pdf
映泰J4105nhu PVE显卡直通romfile,HDMI可直出,亲测可用。 PVE显卡直通的方法网上已有大量文章,此处不再赘述。 下载本文附件,把文件拷贝到PVE的/root/下面。 进入etc/pve/qemu-server,这是一个link文件。 找到...
解压得到4个deb文件一同传到pve的root目录下 然后运行如下代码 dpkg -i *.deb
内有国6PVE检测相关细则 生产企业应制定年度 PVE 测试计划并通过环保信息公开系统(以下简称系 统)在每年 4 月 1 日前提交当年计划,系统每季度提供一次计划修改、报告和检 验信息上传的窗口时间,生产企业应按...
PVE-LXC完美运行openwrt工具包
PVE是一个完整的企业虚拟化开源平台。通过内置的web界面,可以轻松地管理虚拟机和容器、软件定义的存储和网络、高可用性集群和多个开箱即用的工具。是基于Debian的开源虚拟机平台,比ESXi轻量、功能丰富、对硬件要求...
通用PVE集成软路由,KODI,基于LXC的Docker服务教程;本教程适用于两个或以上网卡服务器配置PVE服务器,并在服务器中配置Openwrt软路由器,KODI应用,以及基于LXC容器的Docker服务
PVE系列教程(三)、安装黑威联通.pdf
Proxmox VE (Proxmox Virtual Environment) 有方便易用的WEB界面,基于JAVA的UI和内核接口,可以登录到VM客户方便的操作,还有易用的模板功能,基本跟老外的商业环境差不多了,...包内是国内大神翻译的PVE中文手册。
PVE系列教程(六)、安装Windows11系统(专业版、企业版、家庭版通用).pdf
PVE系列教程(二)、安装网心云x85专业版.pdf
易语言PVE格式处理器源码。@易语言入门教程。