- 浏览: 1088589 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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 2457实现这效果其实比较简单,主要是思路~! 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 1910http://hi.baidu.com/mr_ziqiang/ ...
相关推荐
标题 "PVE虚拟机 镜像转换工具 (PVE中安装黑群晖等)" 涉及的核心知识点是虚拟化技术,具体是Proxmox VE(PVE)平台上的镜像转换,以及如何在PVE环境中安装黑群晖(BlackArmor)这样的操作系统。下面将详细介绍这些...
img转kvm工具 使用方法: 用winscp登录你的虚拟机IP,把img2kvm和镜像文件一股脑的放置到root下,然后输入以下代码: chmod +x img2kvm ./img2kvm 文件名.img 100 vm-100-disk-1 上面的100表示虚拟机编号
**PVE7.1.2系统安装教程** Proxmox VE(PVE)是一款基于Debian的开源虚拟化管理平台,提供了KVM和LXC容器技术,用于创建和管理虚拟机和容器。在这个教程中,我们将详细介绍如何安装PVE7.1.2版本。 **一、制作PVE...
标题 "pve7.0 5.11.22-4 iommu分组 pve内核编译" 指的是在Proxmox VE(PVE)7.0版本中,对5.11.22-4内核进行优化,特别涉及了IOMMU(输入/输出内存管理单元)的分组配置。这一过程是为了提高虚拟化环境的安全性和...
这个是自己在pve7下debian11配置好的docker模板,有需要的小伙伴自取,不当之处请指正。 上传到/var/lib/vz/dump文件夹下,web端local-备份-还原。这个模板无法启动,因为这会修改磁盘映像。如果要更改模板,请创建...
pve的debian上安装向日葵,解包修改后,重新打包的结果,可以在pve的debian上进行安装
PVE虚拟机系统配置优化脚本,可用于升级系统级资源包、配置系统展示项、修改系统能耗模式等功能
规避openssh漏洞(CVE-2024-6387是一个影响OpenSSH的...针对pve7.x和pve8.x的版本都可以使用。 既可以在线环境下升级,也可以离线环境下升级(资源包都已经下载好了) 直接运行upgrade-openssh-pve.sh脚本即可升级!
PVE系列教程(三)、安装黑威联通 本教程主要介绍了在PVE平台上安装黑威联通的步骤。整个过程可以分为以下几个部分:创建虚拟机、制作启动盘、上传文件、配置硬盘、修改引导顺序、安装威联通系统等。 一、创建虚拟机...
标题 "pve7.0 5.11.22-3 iommu分组 pve内核编译" 涉及的是在Proxmox VE(PVE)7.0环境中,对5.11.22-3内核进行iommu(Input/Output Memory Management Unit)分组和内核编译的过程。PVE是一个开源的虚拟化管理平台,...
PVE系列教程.zip
"PVE格式处理器"是易语言中用于处理特定的PVE(可能是Private Virtual Environment,私有虚拟环境)格式的数据或文件的组件或模块。在易语言中,这样的处理器可能涉及到文件读写、数据解析、虚拟化技术等多个方面。 ...
Proxmox VE 6.2 中文手册 Proxmox VE 是一个虚拟化平台,基于 Debian Linux 开发,完全开源。它支持两种虚拟化技术:KVM 虚拟机和 LXC 容器。Proxmox VE 的设计目标是简化管理员的工作,可以单机模式使用,也可以...
pve虚拟化平台管理员手册7.pdf
映泰J4105nhu PVE显卡直通romfile,HDMI可直出,亲测可用。 PVE显卡直通的方法网上已有大量文章,此处不再赘述。 下载本文附件,把文件拷贝到PVE的/root/下面。 进入etc/pve/qemu-server,这是一个link文件。 找到...
修改远程端口号,自动添加防火墙入站规则
标题中的“pve主页添加温度显示-6.2.zip”表明这是一个关于Proxmox VE(PVE)系统更新或自定义的项目,其中涉及到在PVE管理界面添加温度监测功能。PVE是一款开源的虚拟化管理平台,允许用户管理KVM虚拟机、LXC容器...
PVE 6 离线安装 CEPH-Nautilus 集群环境 本教程旨在解决纯内网环境无法安装配置 Ceph 集群的问题,通过搭建本地源和使用 Proxmox VE 6 离线安装 Ceph-Nautilus 集群环境,以满足内网环境的需求。 一、Proxmox VE 6...
PVE系列教程之安装网心云x85专业版 本篇教程主要讲述了如何在PVE平台上安装网心云x85专业版,包括上传x86镜像、配置虚拟机、挂载磁盘、激活x86虚拟机、绑定网心云等步骤。 一、上传x86镜像 在PVE平台上,首先需要...