日历
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | 5 | 6 | ||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
| 28 | 29 | 30 | |||||||
搜索标题
我的好友
统计信息
- 访问量: 172
- 日志数: 9
- 建立时间: 2008-04-03
- 更新时间: 2008-08-31
我的最新日志
-
DIY配机时,慎入这样的误区!
2008-8-31
1.“64位”
64位相对32位而言确实是技术的一个大提升,但是目前而言对我们普通消费者没有任何意义!不说别的,64位的XP和64位的vista系统,在中国,买的人可能没有超过千位...为什么?因为64位离普通使用者还非常遥远!没有软件的支持,硬件上又有什么意义呢?32位太过成熟,64位太过早熟...
2.“双128”
这应该是比较老的但是在很多版友心中“根深蒂固”的用来形容显卡的词语,但是对我来看,这几乎没有意义,特别是两个128里前面那个形容显存大小的128,因为显卡的性能并不完全有显存大小来决定,如果以100分来计算显卡的整体性能,显存大小的影响只占5-10分,除非是在极高的分辨率下,一般运用上,128M的显存就足够了,如果你有22寸以上的显示器,用个256M显存的显卡就够了,而显存的速度对显卡性能的影响却是非常大的,DDR、DDR2、DDR3以及DDR4,同显存容量同显存芯片的显卡,如果用这4种内存做出4个显卡,它们之间的性能差距将非常大!现在主流显卡都是使用DDR3显存,而常见的DDR3显存也存在1.0NS到2.0NS之间11种,当然越低NS的速度越快
3.“带散热片的内存好”
内存加上散热片确实非常漂亮,但是我认为没有必要在乎这点!在DDR400时代就有过很多测试,有散热片和没有散热片的同内存,极限频率几乎没有变化。而DDR2内存电压在DDR基础上下降了很多,由2.5V下降到1.8V,更低的电压也对应这更低的发热,增加散热片可以降低内存温度,但是内存的发热相对其它配件是非常低的,而且内存的质保也是电脑里最高的!3年包换甚至5年包换的内存越来越多,根本不需要为内存没有散热片会不会影响寿命而担心!
4.“超频到底好不好”
我没见过默认电压下,风扇正常运转而烧毁的CPU
我没见过默认电压下,散热控制好而烧毁的内存
超频我一直遵循不加电压这个原则,我认为不加电压的超频是非常非常安全的!
而到底超还是不超呢?这是个问题...~
对于超频的理解,很多人都有自己的理论,我只想打个很简单的比方,如果可以以奥拓的钱享受宝马,我为什么不呢?所以,我还是对我的E2140情有独钟。
5.“300W电源”
我遇到这个词常常会纳闷,这到底说的是什么啊?
形容电源功率最真实的词语只有一个:额定功率!而不是“峰值”,不是“MAX”,不是“最大功率”!!!我个人非常喜欢航嘉电源,一是因为联想电脑全是用它的电源,二是因为航嘉电源的铭牌里标示的功率全是“额定功率”,而不像别人一样喜欢玩“虚”的,弄个“峰值功率”“最大功率”“MAX功率”来忽悠不懂的朋友。另外,长城、TT的电源也是非常不错的!
6.显示器品牌的选择
我从来没有给朋友推荐过三星和飞利浦的显示器,不是因为三星经常忽悠中国消费者,用别人的屏贴上三星的LOGO就按是三星的东西卖,也不是因为飞利浦的显示器和LG和AOC的关系,就因为它们只有一年质保!
显示器是个比较保值,使用时间比较长的配件,也是个我们天天要直接面对的配件,它不给你“面子”这台电脑就算再高级在你面前和废铁也没有什么区别,而且像CRT显示器这么“庞大”的身躯,搬运起来也是非常麻烦,LCD虽然轻巧却非常娇贵,它一旦出了问题,你离电脑城近还差不多,远点的话,真是郁闷死你啊,常常见人像抱媳妇一样抱着显示器~
在现在这个显示器品质和性能都非常接近的情况下,显示器的售后是需要特别关注的!只有可以做到3年质保的显示器品牌才值得我们普通消费者选择!
7.“AMD的CPU很热,容易烧毁并容易烧板子”
这句话如果是对现在的硬件比较熟悉的朋友看到,相信他都会很想笑
AMD的CPU有个“不死鸟”技术,可以在温度过高,电压过高的时候自动切断电源来保护CPU,并且AMD还要求主板生产商在主板上设计了类似的断电技术!
我也不和你说别的,就说我自己的两个经历吧,我自己有次换CPU,散热器没安装好,和CPU不是直接接触的,就是说几乎没有给CPU散热,我还继续开机并给CPU进行“常规”的超频,以前不加电压的情况下该3000+到2.5G才会无法进系统,这次才2.3G就重新启动了,连续试了几次都不成功,以为是BIOS没设置好,进BIOS设置,惊讶的发现CPU温度达到了79度,但是仍然可以看到BIOS并开机,打开机箱才知道散热器没装好...
朋友的一台也是3600+的电脑,突然无法开机了,我跑去看,按下电源按钮后不停的重新启动,开机箱一看,那把电源线掉到CPU的风扇上,卡住了风扇,温度过高,自动重启...如果这些现象发生在PD的INTEL处理器上,我认为事情不会这么简单...
AMD的CPU在04年以前,确实有温度过高的毛病,在雷鸟1G和毒龙1G的CPU上表现的比较明显,不过到了05年,这个毛病被INTEL完全的接收了,AMD却转型为一个低发热,低风扇噪音,对散热要求不高的品牌,INTEL却在P4和PD产品中比较全面的学习了AMD以前的“传统”,直到INTEL推出酷睿处理器
8.“某某品牌的东西非常烂,而且还是旧货,买回去用两天就会坏掉”
相信朋友们在很多品牌产品的评论里见N多的人说这样的话,而且这几乎已经涉及到了绝大部分的品牌
我们先不考虑说这些话的人是什么居心,是不是竞争对手请的“枪手”,我们冷静的想一下,如果某某品牌真的如此所说,那它为什么还没被中央台曝光,为什么还没有被这么多“慧眼”的群众的唾沫所淹没,为什么还没有破产?难道它有很大的后台和背景,吓得执法机关和舆论不敢报道和打击?难道那么多仍然继续买它产品的消费者全是瞎子聋子,全不知道它这么烂?都不是!
一个产品如果卖得火,制造得多,就算同一条生产线,也会有残次品,卖得越多自然出现的问题越多,所以我们不能以有多少人买了出了问题这个数量来衡量这个品牌的质量!
一个品牌做得好,自然会有同行嫉妒,自然诋毁的声音和动作会慢慢出现,所以我们应该要排除掉其中的枪手和谣言!
就算真的出了问题,我们都只是通过文字了解,并没有看到,没有看到的东西,我们不能相信我们所听到的!如果我们听到的声音是没有真实证据的,那这个声音是绝对不能相信的!不是你亲眼所见,不了解的,就应该怀疑!
除去这些,我们就真的有了一双慧眼,这时候再去选择!
9.“到底买品牌机还是组装机”
虽然现在谈论比较多的是笔记本,但我们这里谈论DIY一般还是针对台式机,即使现在的笔记本也可以DIY。
个人建议,不懂电脑的人就放弃享受全DIY的乐趣吧。
一个人不懂电脑,只做一般使用,求的是稳定和放心,出问题也不用背个大机箱到电脑城找人帮忙,出问题打个电话就可以,不用求祖宗一样去求别人修,图个方便,买组装机可以满足这些吗?电脑城那么多几乎和骗子无异的奸商,买个组装机给点残次品给你,你放心吗?有的时候有的人买电脑没什么用,像个摆设一样,甚至是图个面子,买电脑差不多是赚面子给别人看的,组装机组个谁都不认识的品牌给你,别人还以为是洋垃圾咧!
说回来,我这辈子给自己、很铁的朋友和亲戚买电脑,我是绝对不会买品牌机,为什么,因为我懂,我这两年给朋友配了好几台台电脑了,全说好,回头看,基本上全满意,没买过假的或者容易坏的东西,为什么,因为我熟悉每个品牌每个型号配件的参数和品质,而这些也是我近6年来积累起来的关于电脑方面的知识在起作用,可这几年刚接触电脑的人有这些积累吗?能够买到中意的吗?能够保证自己不被骗不买鸡肋不买有问题有缺陷的配件吗?
而在这求到的配置,实际自己到电脑城去配去买,又可以买到完全一样的吗?现在商家的谈单员的口才可全不一般啊!我带个朋友去配电脑,说好了也决定了买个19的纯平,可一去电脑城,在一个长得确实非常漂亮的谈单MM的几句“规劝”下,我那朋友拍板决定买17的大水牛的液晶,丢我一句“就按用这显示器来配吧,就要它了!”我的天....这下好,几乎所有配置都要换,闹到最后甚至差点上了“现代兼容内存”。这个情景很像契诃夫先生的小说,诙谐幽默。为了一个显示器,最后什么都换了,迫使打破了原有的计划。这还是在我这个懂点电脑的人面前啊!这还是已经“决定”了配置的情况下啊!我有什么办法,人家PLMM的魅力比我强!我有什么办法,我那朋友根本没管我,一个劲向MM要QQ号码去啦,留我一个人尽可能的挽回“损失”对不坚定的人还谈买组装机?
10.“现在的山寨东西多如牛毛,买内存什么的就怕假货,但是有800电话和短信查询就方便和放心多了”
我认为,既然加内存都做出来了,一个编码,一个“镭射”标志也就两张纸片,有什么难度,印刷上多下点成本就可以了!
用CPU-Z这款软件里的SPD辨别真假才是王道,SPD修改比较麻烦,虽然容易,但是得一批批的修改,还有改坏的可能,成本就上去了,如果做假的做得SPD都和真的一样,那他就没什么利润,没利润的假货还要承担做假的风险,请他做他都不会做啊!
我确认真假内存的方法就是看SPD和看做工,如果有假内存可以做到和真的一样SPD,和真的一样做出饱满的排阻甚至电镀金的金手指,就算它是假的我也买!因为这假货搞不好比真的品质还好啊~
11.“买多大的硬盘啊?”
相比以前,虽然现在硬盘的价格不算太高,但也不一定就得追求大容量硬盘,关键还是看自己使用方向和兴趣爱好。虽然我也比较时尚,大型高清电影出来,我就会下来看,但看过之后我就删了。买个250G硬盘硬是空了好多,买160G还节约几十块钱啊。对于我来说,几十块大洋还是有节约的余地啊。12.最近有人开始说我们DIY用户不值得购买“奢侈”级机箱
如TT,酷冷,华硕……
这些品牌的机箱有很多都是十分精美的做工,外观也是十分的华丽漂亮,但是价格嘛……可能比一块CPU还要贵,更有甚者远远超过整台电脑的全部配置,酷冷最新款机箱官方标价9999,就算打打折,那也是极度奢侈的玩物。
不过在我个人看来,机箱的美观绝对是一个值得考虑的,为什么很多DIY高手仍然选择购买品牌机,其一品牌机配件之间的兼容性以及整体散热控制的很好,最重要的就是整体视觉美观。
如果按我来说,1500以下的机箱是完全值得购买的,只要你的经济能力达到要求了,那么购买一个相对贵一点的机箱又有何方,毕竟那个东西是你每天都要去摸的……
-
百度对网站的惩罚与解决方法
2008-8-31
搜索引擎的惩罚多种多样,百度做为中文搜索的龙头老大,是我等草根站长不敢怠慢的,很多人是否还不够了解他的脾气,下面以IT茶馆(bbs.itchaguan.com)为例讲一下百度的惩罚和补救措施,希望对大家有所帮助。
1.首页沉底
在百度中site一下自己的域名(例如site:bbs.itchaguancom)如果首页不是在第一位,可称为首页沉底。
现在要声明的是首页在百度沉底不一定是惩罚,你site新浪会发现它也沉底了,但是对于多数个人站长来说,首页沉底往往是一个信号,说明百度可能要发飙了。
一般来说在百度中首页刚沉底时排名不会有变化,流量也不会下降,所以说它是一个信号,下次更新时你可能要受惩罚,这时你应该看看在百度中直接搜索你的url看看是否还在,如果首页没被k,应该不是惩罚或较轻的惩罚,如果首页被百度k掉了,那你很可能有**烦了。
解决方法:建议大家未雨绸缪,首页沉底了赶快检查连接,去除不必要的优化,比如堆积关键词,隐藏文字,垃圾链接,桥页,弹窗,站点结构复杂,服务器不稳定,群发垃圾链接等等,顺便应该搞搞原创,初学seo的人很容易优化过度,现在百度对这个很敏感,奉劝各位三思而后行,凡事过犹不及。
2.拔毛不降权
拔毛就是百度收录页数大幅减少,当然这是针对你原先的百度收录页数而言的,剩余量应该为原先的百分之十到百分之五十不等,百度拔毛一般发生在大更新的时候,这也是刚才说的首页沉底所带来的可能后果之一。
拔毛不降权是指百度收录减少但剩余页排名基本不变,这种情况还比较好,一般会继续收录你以后的页面,并保持一定的权重,如果能改掉涉嫌作弊的地方,还可能全部收回,这叫做百度洗牌,据观察近期百度正在加速拔毛和洗牌,我以为这是要消灭垃圾站的一个信号。
解决方法:这种情况一般是优化过度,轻微作弊或者大量复制别人文章造成的,踏踏实实尽量原创做站,去除优化过度的部分,应该可以搞定。
3.拔毛加降权
这算是比较狠的了,我相信不用再解释大家也知道是什么意思了。这种情况的发生是百度认为你有比较严重的作弊行为,这样以后即使收录再多的页面,也基本不会带来什么流量。
解决方法:这种情况如果是垃圾站其实已经可以不做了,因为基本上没什么机会再提权了,如果是正规站,确认自己没作弊,检查连接,坚持原创,总会有机会的。
4,光杆司令
这是说百度k的只剩你一个首页了,作弊的话,这个基本上是死了。没作弊的话,检查有没有触犯法律的内容(含zheng zhi敏感信息,色情赌博等),和多个同服务器网站互连,大量复制粘贴或采集,别说你没有,没有是不会这样的。
解决办法:这个自然解封很难了,正规站确认不再作弊后建议给百度发发邮件看看有没有一线生机。
5.k站
就是说你的网站在百度site已经完全不存在了,这没啥好说的,到了这一步你还不知道自己犯了什么错吗?对了,太多的域名指向一个站,也可能导致部分域名被k。
解决方法:同4
我始终认为网站作弊如饮鸩止渴,到最后肯定会害了自己,玩火者必自焚嘛。踏踏实实做站,为用户努力做内容,保证百度会喜欢你的。最后引用百度的一段话: 惩罚不是目的,让互联网洁净才是目的。对任何取消作弊行为的网站,百度都持欢迎态度。并会在一定的惩罚期满后解除惩罚。惩罚期视危害程度而定,从1个月到3个月或者更长不等。被惩罚的站长,在取消作弊行为后,请在此发帖子,或者发邮件到spam@baidu.com申请解除惩罚。在帖子或者邮件中,请描述自己作弊的方式,受惩罚的大致开始日期,以及作弊行为修正日期。 -
对联雅座
2008-8-21
对联雅座
A、华安和师爷
师爷:一平二负共三场不胜四停五伤六废竟敢提七八九名十分大胆
华安:十射九偏凑得八传七断六停五失四高尚且三心二意一等下流
师爷:粗粗鲁鲁毛毛糙糙场场平平输输
华安:糊糊涂涂庸庸碌碌年年失失败败
师爷:球场里跑不动射不准 小小国足可笑可笑
华安:对手前又击腹又踹裆 叫声老外提防提防 -
用Visual Basic 6.0实现自动化测试
2008-8-20
摘要:本文探讨了Visual Basic 6.0在测试自动化中应用的可能性,并列举了一些在实际工作中应用的例子
一 现有自动化测试工具的不足
当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情;指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的。由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Visual Basic编写自动化测试脚本以弥补该工具的不足之处。
二 Visual Basic 应用于自动化测试的优点和局限性
利用Visual Basic之所以能实现一些比测试自动化工具更好的功能的原因在于它毕竟是针对实际的项目而编写测试脚本,而且,事实上Visual Basic确实存在比其他编程语言更明显的优点可应用于测试自动化项目。
众所周知,Visual Basic 不是一种测试工具,但它是一种非常流行的软件开发语言;使用Visual Basic最大的好处是它是一种非常流行的语言,它简单、易学易用和有非常广泛的懂得Basic语言的用户群基础,即使对不熟识Visual Basic 的测试工程师,要熟悉它也可以轻易找到大量有关的出版物和资料。
Visual Basic本身拥有一些能支持测试过程的特性,例如,它具有返回有关测试平台和被测应用程序的重要信息的功能。Visual Basic 的Shell函数和SendKeys函数可以启动一个应用程序和操作它的图形用户界面,用Visual Basic可以编写所需要的一些脚本程序,例如,装载一个测试应用程序。Visual Basic中集成的可视化数据管理器可以直接连接一个数据库并查看它的数据结构。此外,Visual Basic 还可以用来测试一些后台操作的应用程序,例如,可以编写一些脚本存取初始化文件(.ini文件)和Windows注册表。从Visual Basic 中访问Windows 的应用程序接口(API)对操纵受测应用程序和报告一些重要信息都是非常有效的,而且Visual Basic语言比当前其他的编程语言花更少的时间去掌握和有更高的编程效率,适合要求快速建立测试脚本的测试自动化工作需要。
由于Visual Basic不是一种专业的测试工具,因而有其局限型,首先它不包含目前已经成熟的自动化测试工具所具有的大部分的功能,例如,Visual Basic本身不提供缺陷报告、测试设计和文档管理等功能;它还缺乏录制功能和任何自动化测试设置,要在Visual Basic 测试代码中包含这些功能,需要手工编写这部份功能代码,而且目前大部分有关Visual Basic 的出版物和资料都是针对开发者而不是测试者。虽然如此,依然有一些不需要很多的投入而使Visual Basic应用于自动化测试项目的基本方法。
三 Visual Basic中支持测试自动化的工具集
Visual Basic 6.0 包含一套不需任何编码就能支持测试的工具集,包括丰富的向导,可视化数据工具和对象浏览器等。
1向导和模板
在Visual Basic 中有众多的向导可以使用。其中一个对测试人员非常有用的向导是数据窗体向导,它可以创建一个能连接Access或ODBC数据库的数据窗口,该数据窗口可以设置成单独地查看单个记录或者用表格形式批量浏览数据记录,因而可以实现一个能快速定制而又易于使用的用来检查数据库内容的测试工具。
窗体模板不但可以快速创建一个标准的窗口,而且能同时伴随着这些窗口产生源代码,这些自动产生的代码可以部分或全部应用到为测试而定制的窗口中,这对提高测试效率是非常有效的。
此外,一些其他的向导如数据对象向导,ActiveX 控件窗口向导都可以实现花费最少的编码工作量去创建和配置一些有用的测试对象。
2可视化数据管理器
可视化数据管理器可以快速地连接到ODBC或OLEDB数据源,去查看数据库结构,数据表,视图和其他基本的对象。通过它去检查后台数据库实现数据库应用程序测试。也就是说如果被测应用程序包含一个在SQL Server,Sybase ,Oracle和 Access的数据库,则可以通过可视化数据管理器去检查所有的这些数据库而不需要分别登录DBMS界面。通过Visual Basic作为一个通用的前台数据库管理器去管理一个用ODBC或OLEDB存取的后台数据库,可以节省测试工程师的测试时间和可能花在熟悉这些数据库产品而花的培训时间。
可视化数据管理器通过数据库输入和测试SQL语句支持白盒测试。利用它可以修改后台数据,甚至创建新数据对象如数据表,存储过程和数据视图。一些被用来测试数据的SQL语句(通常用来检索重复的数据行和暴露有关完整性的缺陷)甚至必要时可以在这里创建和执行。
3 Object Browser对象浏览器
对象浏览器是另一个非常有用的Visual Basic工具,通过它去检查对象输出的属性和方法以及各种必要的参数;测试人员可以利用这些信息创建这些对象的验证性和功能性的测试,特别是对面向对象测试,非常有用而且非常有效的。
对象浏览器可以显示一个定制COM对象的信息库,这个库列出了该对象的属性,方法和事件,而这个对象可以用任何支持COM对象模型的语言来开发。在对象浏览器里设置一个对象相关信息的捕获和查看对一个缺乏测试培训的测试人员而言只需很短的时间,当然,要建立Visual Basic测试脚本去测试对象的属性,方法,事件需要做一些编写代码工作。
四 Visual Basic在自动化测试工作的应用举例
下面列举了一些在实际测试工作中应用Visual Basic通过简单的编码实现测试自动化或相关工作的例子,如记录测试结果信息、简单的GUI测试等。1 利用文本文件记录测试信息
例1
Open "testlog.txt" For Input As #1 ‘打开记录文件
Print #1,FileDateTime(“c:\windows\calc.exe”) ‘记录被测试程序创建的日期和时间
Print #1,FileLen("c:\windows\calc.exe") '记录被测试程序的长度
Print #1,CurDir '记录当前目录路径
Print #1,Environ("Windir") '记录当前Windows 目录路径
Print #1,Now '记录测试开始日期和时间
……. ‘记录测试过程信息
Close #1 ‘关闭记录文件
在测试过程中经常要做的一项工作是为了查找错误信息而检查应用程序的登录文件,这些登录文件通常是文本文件,而对任何编程语言来说利用本身基本的文件操作函数都很容易取打开和读取这些文件。而另一项工作是记录测试过程信息和测试结果,它实质上跟上面所说的是使用相同的函数功能:一个简单的记录方法是将测试结果写进一个文本文件。例1所示的代码就是实现了这些记录功能。
2 GUI功能测试例2
Shell("c:\windows\calc.exe") '启动计算器
For i = 1 To 100 '设置计算循环
SendKeys I & "{+}", True '发送击键动作到计算器
Next I '累加每一次I的值
SendKeys "=", True '计算总和
在黑盒测试中,实现自动化测试要编写测试脚本去模拟用户日常的操作输入。使用Visual Basic的Shell函数和Sendkeys函数可以简单有效地实现一些GUI功能测试。
例子2的所示代码打开了一个Windows计算器,然后发送击键动作模拟用户输入,计算一系列数值(1到100)的总和;启动程序调用Visual Basic的Shell函数,SendKeys指令被用来发送击键动作到应用程序去模拟用户输入和计算结果。
3读取和设置注册表信息例3
Dim astrSettings() as string ‘定义变量
lstSettings.Clear ‘清除列表框内容
astrSettings = GetAllSettings(testAppname, txtSection) ‘调用专用函数返回VB
‘专用位置的注册表信息
For iCount = 0 To UBound(astrSettings) ‘通过循环将注册表信息
‘显示在列表框中
lstSettings.AddItem astrSettings(iCount, 0) & ": " _
& astrSettings(iCount, 1)
Next iCount
注:testAppname是被测试应用程序的名称
测试人员很多时候都要检查注册表,注册表是一个存储应用程序安装设置、选项等重要信息的地方。Visual Basic 6.0 包含了一些可以从预留给Visual Basic 应用软件专用的注册表键值位置返回信息的新的功能函数。这些功能函数简单地设置和返回这些注册表键值,这对测试用Visual Basic 开发的应用程序尤其有用。
例子3所示代码返回注册表中位置"HKEY_CURRENT_USER\VB and VBA Program Settings\"中的所有注册表信息并把这些信息显示在一个名为lstSettings的列表框中。如要存取其他位置的注册表信息,需要调用Windows API函数。
五 小结
由此可见,为弥补当前自动化测试工具的不足,选择用一些编程开发语言编写一些测试脚本或测试辅助工具在实际工作中证明是切实可行的,而Visual Basic 6.0由于其强大的功能,易学易用,有广泛用户群基础等优点而成为应用于测试自动化比较有应用前景的工具之一。
参考书目
1 《软件测试自动化技术》美 Mark Fewster & Dorothy Graham 著,电子工业出版社 2000年1月
3 《软件工程---实践者的研究方法》(美)Rgoer S.Press著,机械工业出版社,2000年9月
2 《Visual Bsaic 6 技术内幕》(美)Steven Holzner著,机械工业出版社,1999年4月 -
三问梦幻西游的策划
2008-8-02
首先,先来简单搞清楚一个网络游戏的策划需要做些什?
这是从BAIDU里搜索到的一个答案。
网游策划一般都要由7人左右完成
首先是主策.这是最高地位,主要起到一个协调全局的作用.合理的去用人分配工作.把握网游策划的主线路,负责分析策划的方方面面写出可行性的报告.
之后就是艺术创意主要牵扯到整个网游的艺术走向问题
还有最重要的数据平衡设定策划.这个是最重要的也是最难的.需要合理的去分析数据找出平衡点,让游戏的平衡性达到最佳状态负责各种公式的编写.最好的例子就是暴雪公司 10年磨1剑 不是为了别的就是为了不断的测试修改找出完美平衡的交接点
之后就是一个文学创作,每个网游都会有其一个完美的故事背景,而网游就是一部电影,从游戏的起因到游戏之后的更新资料片出炉这点,文学创作的时候都需要完全的考虑进去.
网游策划与很多策划不同,需要多方面的分析各种情况,网游从可行性报告到策划再到程序编写 最后进入运营
这些期间 策划都是在不停的发挥着最重要的作用.一个网游是否好策划是最至关重要的方面.
我们注意到红线的2句话。可以说正是老徐主策把梦幻带到了我们之中,把梦幻带上了轨道,建立了梦幻至今还在运行的游戏模式。最后一句,也说明了策划对于网络游戏的重要性。
那么,对于现在的梦幻西游的策划,我有那么几个小小的问题。
一,梦幻西游再推出活动的时候,是否有考虑到游戏服务器所能承载的MAX?
三重大奖贺盛会最新神兽领回家这是梦幻西游即将在8月3日推出的活动。玩家们并不需要感到陌生,早在不久之前,梦幻的策划们就推出过一个“英雄帖”的活动。内容大概类似。我不否决这个活动,我只是注意到这个活动推出的时间,恰恰是在星期天12门派的活动的时候。12门派,作为一个梦幻的玩家,不需要再废话什么,一个人人争先的活动,一个比较受到好评的活动(尽管现在的奖励正在被恶意减少,后续提到)。12门派是和三界比武齐名的活动,参与的人不计其数。在当今的梦幻西游,12门派当天卡机的情况绝对会发生,而且卡机的频繁率不敢让人恭维。那么,在原本就会卡机的活动中,推出这样一个活动,策划们是否衡量过自己游戏服务器的承受能力。是否能经受得住几百万的上线量(WY就是靠这个数据认定MH是国产第一网游)。梦幻的卡机现象,就像12门派一样被人所熟知了。当初,最简单的配置即可下载玩的梦幻西游,已经是现在最高配置的机器也避免不了卡机的情况。客服的解释是玩家自己的网络和机器问题。也许,大公司里的电脑的配置已经远远超过了我们玩家的电脑吧。
那么,策划们注重的是玩家的参与数量还是游戏的可行性。我不知道这样的活动安排是否进行过可行性分析,还是策划兴起随便随手一笔加上去的。至于这个类似“英雄帖”的活动的实际意义,我想除了个别玩家能享受到一些比较实惠的奖励来说,大多数玩家,一个人开了好几个号的玩家,收获的仅仅是连点卡都不够贴的经验和钱。
在游戏本身上,策划们的确成功地吸引了玩家,心甘情愿的浪费自己的点卡,挂在游戏里,没有怨言,却只在等待幸运降临自己。
你不觉的策划==吸血鬼吗。还是个高吸血的JN,从来不会因为玩家的干扰反抗抱怨而中毒。
二,策划们是不是经济学毕业的经济师,是否具有调控游戏市场的能力?
在商人们通过差价不断赚进利润的时候,是否有人想过,这个时候,更大的商人在后面隐藏,那就是梦幻西游的策划。我举个最简单的例子,当初法宝刚开的时候,法宝材料的获得有些时候是需要道具的。那个时候反应最大的两样东西---夜光珠和河豚。这两样物品的价格不断直线上升,而玩家为了做一个垃圾法宝的花费也在不断的上涨。但为什么后来这两样东西的价格又直线下降呢?很简单,那就是供大于求。而为什么突然会供多起来呢,更简单,就是梦幻策划悄然改了这2个产品的出场率。导致这2样东西越来越多,远远超过了需要的人,降价自然顺利成章。这只是个最简单的例子。
最近的更新里,我们注意到部分卡片的作用和等级发生了调整。在最初,变身卡的附带JN大都是依据于本身召唤兽所拥有的技能。注意,是大多数。而现在,这个大多数正在被刻意减少。大牛卡的JN从高招架(本身自带)变成了加气血。这个刻意的变化,用意很简单,就是为了提高大牛卡的价格和使用量。而野鬼卡的没落意味着玩家不得不去追求更高等级的蜈蚣卡或者吸血鬼卡和幽灵卡。另外,卡片合成的时候,合成7J卡片的召唤兽也需要是宝宝了。可以说,合成卡片的成品又微微的调高了。由于是刚刚推出,我不做评论。但是,这同样说明了梦幻西游策划们会有意去调控和平衡梦幻西游的市场。
这是不是类似于我们国家的经济体制呢,市场经济+国家宏观调控。那么,梦幻西游的策划们是不是经济学专业的博士生,还是个个都拥有经济师的资格呢。或者,我大胆的假设,他们只是凭直觉修改游戏呢!还记得丁老板对于SM要环率的解释吗,不小心调高了!-----我只是想说,国家都无法很好的控制住国家的经济发展,那么小小的策划们又有这样的本事吗?
现在梦幻币和RMB的比例是1:9.5。那么,这个比例几乎接近了当年RMB与美元的比例1:8。这可以说明梦幻币几乎是供不应求。对于一个游戏币能有这样高的比值,我们不能理解为什么WY现在腰这么粗的原因。现在是暑假,点卡的价格却高达120-130W:150点。我记得三年以前的点卡还是75W一张,后来到了90W,到了100W,直到现在。按常理来说,暑假里玩的人多了,游戏的点卡价格自然会下降,而现在不降反升,再次证明了梦幻币现在的高的市场价值。说实话,如果我是WY的人,我高兴。可惜,我不是,我难过。60点60W,1点1W,这是多么可怕的比例。
三,梦幻西游的策划为何随意的修改门派的JN,FB的奖励?
不说梦幻西游不断得出台资料片了,法宝的出现改变了整个比武的格局,也带来了不少的争议。如果说这些是策划们为了延续游戏苦心研究推出的结果,那么至于随意对门派JN的修改,是为了什么。
你可以说是为了平衡门派的竞争性,那么我说,这只是个幌子。什么叫平衡,所谓平衡就是对立的两方互相依靠,克制,在一种模式下达到了一种稳定的状态。那么,只要随意的打破一端的平衡就会引发另一端的不平衡。改了这个,改那个,再改这个……能达到原来的平衡吗!绝对不能。而梦幻西游的策划们却轻易打破了这个平衡,导致现在门派的盛衰依然未变,门派间的争斗和攻击四起。
每个人在游戏开始的时候选择了这个门派,看中了这个门派的特色。可是在玩到一半的时候,却被随意无情乃至毫无预知的情况修改了。原来欣赏的JN没了,原来倚重的法术MISS了。试问这样的修改是否在某种意义上侵犯了玩家的权利。在我国游戏法还在摇篮里的情况下,WY几乎反过来成为了玩家的衣食父母。哪天的更新里没有什么特殊的改动,估计玩家就要跪地大拜上天怜悯了。商店成了父母,顾客成了儿女,去消费还要受气,岂不是每个梦幻西游的玩家都有受虐的BT心理。花钱就是图个爽快,反而成了受气的原因。一个字----贱。门派的JN就像是玩家的生命,所依赖的生存手段,当这个受到了破坏和修改,那我们还靠什么立足于游戏。
至于FB的修改,请问修改也不必偷偷摸摸的吧!不止FB,包括其他活动,12门派等等都受到了暗地里的修改。策划们是小偷大学毕业的。也许自己也认为是亏心事吧。而这样的修改,又无意中回到了刚才说的第二问,间接的调整了整个游戏的市场。 -
刚起床,发现潜游的转贴,再转之
2008-7-31
做爱做的事,交配交的人
“你要是嫁人,不要嫁给别人,更不要嫁给我......”
此恨绵绵无绝期,要多傻逼多傻逼……
你有什么不开心的事? 说出来让大家开心一下.
女人是水做的,男人是泥做的,李俊基李宇春都是水泥做的。
为什么海尔兄弟只穿裤衩?
因为他们没有Q币
屁股泡的茶叫什么茶?
菊花茶
为什么中国是世界上最神秘的国家?
因为国家主席是who,总理是when
用iPhone的人都有个共同点:就是不好意思说不好用。
用Mac的人雍容华贵,用Sony的人衣着光鲜,用ThinkPad的人风度翩翩,用HP的人神态安然,用Dell的人简单平凡,用文曲星的人是我是我。
一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝,四个和尚斗地主,五个和尚可以去扮福娃了
喝洋酒要喝强尼走着
先生,麻烦您给我一例煎饼果子,七分熟,少少辣,多一些sauce,嗯,还有,extra egg,谢谢。
听君一席话,圣斗士念书。
明月几时有,自己抬头瞅
短篇小说我爱你母亲的上半部分,今天就播送到这里,明天同一时间请继续欣赏,我爱你母亲的下半部分……
【雅典娜手下最厉害的圣斗士是青铜
什么白银啊黄金啊的圣斗士中看不中用
星矢啊~~永远不会倒下
紫龙啊~~总把眼睛弄瞎
哦~~耶 冰河啊~~你不要再想妈妈
阿瞬啊~~一辉啊~~ 是亲哥儿俩……】
——转中文版圣斗士星矢主题歌歌词
哀莫大于星矢。
他年方二五,英年早泄。
生子当如孙仲谋,找爹就找金日成。
你知道金庸写的14本书可以连成一个对联吗? “飞雪连天射白鹿,笑书神侠倚碧鸳”
你知道J.K.罗琳写的7本书也可以连成一句话吗? “哈哈哈哈哈哈哈”
螳螂捕蝉,女娲捕天,亡羊捕牢,取长捕短——四大名捕
做爱做的事,交配交的人.
这小伙子长得,把脸挡上跟个演员似的…
我最喜欢的童话故事是《阿拉灯神丁》
对联一则:顶叶纸虎啸山林,卧槽泥马勒戈壁
世上无难事,先来对烤翅。世上无难事,只要不去想。世上无难事,只怕豁出去。
交口称赞反过来怎么念?
A:福娃是男的还是女的?
B:木有小JJ,看不出来。
C:要么全男,要么全女,你看他们五个在一起那么久了,也没见多出一个小福娃来。
孟姜女哭倒长城干红,白娘子水漫金山词霸。
祖传牛皮癣,专治老中医。
有刺青的不一定是流氓,他可能是岳飞。
One nightstand 一个床头柜
情同手足口蹄疫
您真是贱人多忘事啊
披着凉皮的狼
捷克斯洛伐克,又名,Jack,Slow Fuck
《哈里波特与火焰山》
《哈里波特与凤凰自行车》
《哈里波特与哈里路亚》
《哈里波特与哈姆雷特》
《哈利波特与哈根达斯》
《哈里波特与阿拉法特》
钻石方片五
钻石打老虎
钻石王老吉
身体发福,受之父母。2008-05-02 10:51·儿子:爸,您有钱吗?父亲:我钱包里还有一块钱。儿子:我把攒的一块钱给您。父亲:为什么?儿子:您爱随地吐痰,一块钱不够罚。
·父亲:你负责教好你弟弟。儿子:如果他不听我的话呢?父亲:那就证明你无能。儿于:如果不听你的话呢?
·茅厕门联:屎落塘中震动满天星斗(注:晚上是星星,白天是苍蝇);尿淋壁上展开万里江山;横批:气冲斗牛。
·甲:只有蠢才才会匆忙地肯定一件事,聪明人遇事是要反复思考的。乙:你肯定?甲:当然!
·一天下着大雨,路上有几辆消防车经过,有一些路人对话。甲:雨下那么大。怎么可能有火灾。乙:笨!它是出来装水的!
·某女仆在应征时表示:离开前职的原因是因为主人夫妻俩不停的吵架,不是先生和我吵,就是太太和我吵。
·有一个外国人只会说很好更好两句中国话,仆人来说:我要请假两星期。外国人说:很好。仆人说:因为我父亲死了。外国人说:更好。
·儿子问爸爸:兔死狐悲这个成语怎么讲?爸爸说:如果兔子都死光了,狐狸就没什么吃的了,它能不感到悲哀吗!
·足球运动员的妻子说:我最讨厌我丈夫把吃剩菜叫做打加时赛。
·看相人对某人说道:妇女手如姜,财物堆满箱。此人大喜道:太好了,我老婆手就如姜啊!昨天被她打了个嘴巴,现在还火辣辣呢!
·舞会后女儿问:爸爸,可不可以等等汤姆?老爸故意问女儿:为什么要等汤姆啊?她回答:跳舞时他一直踩我,我要等他出来揍他!
·小伙子放了个响屁,旁边的女人狠狠地连续三声呸、呸、呸!小伙子不慌不忙地问道:同志,您怎么吃屁还吐核儿呢?
·顾客问药店老板:伟哥的效果真有那么好吗?老板回答说:昨天我老婆煮面条时错把伟哥当成了味精,面条在锅里就全部竖起来了!
·愤怒的乘客:列车员,难道我没给您5美元,让您在克利夫兰叫醒我吗?列车员:上帝呀,怪不得您的邻座那么反对我让他在那里下车。
·一辆小轿车每隔30秒钟就往上颠一下,警察拦住汽车问司机:喂,你这车子怎么啦。司机说:车子没事,呃,它跳是因为我在打嗝。
·有一个马虎的肛肠科医生,给病人看病后就在病历上写上:肛门发言。主任医生看了之后气愤地在病历上写道:屁话!
·班长要求新兵听树在说些什么。过了一会新兵回报不知道,班长要求新兵再听一次。这次新兵从树后跑回来说:树说有话要跟班长讲。
·有一个乞丐喃喃地对天祈祷着什么。有人问他:您为自己祈祷什么呀?乞丐:我祝愿自己是这座城市里唯一的乞丐。
·甲:您是驯狮员吗?乙:是的。甲:为何那些凶猛的狮子不吃您?您的身材看起来很瘦小呢。乙:是啊,那些狮子都在等着我胖起来。
·主人听到敲门声,是邻居的小孩来借电唱机,主人:好的。小朋友,是你们家要开晚会吗?小孩:不是,是我爸爸想好好睡一觉。
·甲的菜园正好在乙的家旁。甲:你看今年是种萝卜好呢,还是种白菜好?乙:当然是种白菜好,因为我家的鸡不喜欢吃萝卜。
·女人:我们女人每年都有流行色,前年是紫色,去年是黑色,今年是蓝色。男人:我们也有流行色?女人:什么?男人:女色。
·阿狗:你看小丽怎么样?阿云:不戴眼镜的时候挺漂亮。阿狗:小丽不戴眼镜。阿云:我戴。
·动物园里,一位女士问饲养员:那头河马是公的还是母的?饲养员:太太,我认为除了另一头河马外,任何人都不会对这个问题感兴趣。
·军官对新战士进行考试:在漆黑的夜晚,你正在站岗,突然有人从背后把你抱住,你该说什么?一个战士迅速回答:亲爱的,放开我。
·妻子:有人说,年轻人在迷人的月色下会失去理智,你认为这话对吗?丈夫:可能有点道理,你记得吗?我是在月色下向你求婚的。1、 十年树木,百年树袋熊
2、 鱼和胸罩不可兼得
3、 爬上奔驰的骏马,象骑上飞快的火车
4、 拿什么拯救你的爱人
5、 拿什么拯救你,我的大兵瑞恩
6、 是你让我明白爱情这东西,四个字:冷酷到底!我宁愿你冷酷到底,也不愿再伤心一次。
7、 千斤拨四两
8、 化腐朽为绵掌
9、 给我一个支点,我可以撑起地球仪10、 人过留名,雁过留声机
11、 爱护环境,人人有病
12、 千里送鹅毛,纯粹是傻 逼
13、 内行看门道,外行看人行道
14、 内练一口气,外练一口屁
15、 哈里波霸
16、 太平间公主(寒!)
17、 只羡鸳鸯不献血
18、 早知今日,何必当 鸡
19、 穷人的孩子早出家
20、 敢笑黄安不丈夫
21、 吃的是草,挤出来的是青春痘
22、 绞尽乳汁 (-_-!)
23、中暑山庄
24、降龙罗宾汉
25、车到山前是死路
26、塞翁失身,焉知非福
27、我拿什么整死你,我的爱人
28、成吉思春
29、动力火锅
30、善解人衣
31、做贼肾虚
32、米老鼠和刘老根(什么跟什么嘛!)
33、肾虚道长
34、射鲸英雄传
35、神鲸大侠
36、路边野花不要,踩!
37、常在河边走,哪能不失足
38、伟大的大伟
39、大能猫
40、小白免
41、大灰很
42、武大娘
43、天涯何处无芳草,还是母乳喂养好
44、少年包青蛙
45、爱新觉罗.释迦牟尼
46、外婆家的铜锣湾
47、 一针溅血
48、别人笑我太疯癫,我笑他人太风趣
49、我们都是神枪手,每一个子弹消灭一个战友(爆强!)
50、听张国荣讲鬼故事
51、名不正则言承旭
52、清明上坟图
53、大哥,我是你叔叔(这什么关系来着?)
54、流星,蝴蝶,结
55、圆月豌豆
56、如今的南泥湾,处处是荒山
57、四个字:坚持到底哦~~ (4个字!)
58、爱在戏院前
59、三十六计,西游计
60、我妈升了,我爸上调了
61、cctv果冻爽
62、黔驴*院
63、黄色娘子军
64、有钱的捧个钱场,没钱的捧个火葬场
65、在这个大喜的日子里,我们感到万分悲痛
66、要命没有,要钱有一条(看到这个差点鼻血都喷出来了)
67、来瓶82年的矿泉水
68、别拿83年的xo糊弄我,来瓶今年的
69、男生进女厕,心情多快乐
70、少年不流氓,发育不正常
71、我就站在布拉格黄昏的火葬场
72、春天花开会(哇哈哈,会把任贤齐气晕的说)
73、出学留国
74、寡妇门前趣多多
75、独脚戏
76、可爱的蓝精神病(无语……)
77、这个字念“瓿”
78、黑洲非人
79、何仙姑倒拔垂杨柳(……)
80、生于忧患,死与安尔乐也。
81、画足添蛇
82、鲁智深三打白骨精
83、农夫三拳有点疼
84、还记得年少时的猛犸
85、九千九百九十九朵煤气罐
86、我有一只小小鸟
87、夜阑卧听风吹雨,星矢冰河入梦来
88、风声雨声黄秋声,声声入耳;国事家事少林寺,寺寺关心
不好意思哈 还有点~1.柏芝你走吧,我舍不得韩红!!!
2.按猪的审美观,我基本算得上是个帅哥~
3.我不是你想象中的那样完美那样坚强,金钱和美女就足以把我征服!
4.见到我以后你会突然地发现--原来帅也可以这样的具体呀~
5.姑姑,十六年后我们断肠崖见,到时候别忘了给我发短信!
6.自从两个妓女自称是某名牌大学的毕业生后,我现在一般都自称文盲!
7.我曾经是个天使,真的!在降临人世间时上帝慈祥地对我说:“去吧,孩子,你是个为补考而生的男人……”
8.来自侏罗纪的美女也能算是古典美女???
9.在天愿做比翼鸟 在地愿做同圈猪!
10.五马分尸中……你来一块不?
11.就叫我朝伟吧,虽然歌唱得像学友~
12.在喂猪的时候总会想起你……1.我想我是——海草(海淀被炒鱿鱼的人)
海豹(海淀被爆炒鱿鱼的人)
海象(海淀像要被爆炒鱿鱼的人)
海狮(海淀失业青年)
海带(海淀待业青年)
海米(海淀等待赴美留学的人)。
2.清华就是一大网吧。
3.我们那儿开始都是种玉米的,后来搞改革都种了菠萝,远远望去,一大片一大片的。领导们来视察,说:“很好很好,这里都成了波罗的海了……”
4.没有东西比爱情好,大米粥总比没有东西好,所以,大米粥比爱情好。
5.“珍惜生命,远离灌水”的意思是说,一定要把论文压缩在50页之内。
6.我的“三个代表”——中国赤贫线以下每月拿到的补助低于北京最低生活保障金的代表;中国无权无势无房无车还要每天对臭老九卑躬屈膝惟命是从的代表;中国无财无德无头无脸长得象傻B看着象弱智缺碘儿童的代表。
7.事业,我早已放弃;对你,我从未争取!
8.在教室睡觉,在图书馆吃东西,在食堂自习,在寝室读书……
9.这辈子,不谈恋爱;下辈子,不考清华!
10.这个裁判是村儿里来的吧?
11.偶一直很想讲一个我同学的笑话给别人听,可每次都是偶先笑翻在地,别人围着看……偶于是再也不想讲了:(
12.锻炼肌肉,防止挨揍!
13.据我所知,自从创世之初,知识分子就被人看不起。直到他们造出了原子弹,使全世界惶惶不可终日,这种情形才有所改变。——王小波《青铜时代》
14.此路是我栽,此树是我开,想打别地过,留下前途来。
15.请原谅我还活着。
16.时间时间我爱你,就像那啥爱那啥:)
1.思想有多远,你就给我滚多远!
2.流氓不可怕,就怕流氓有文化。
3.客官请自重,小女子只卖身不卖艺。
4.你不能让所有人满意,因为不是所有的人都是人!
5.男人的谎言可以骗女人一夜,女人的谎言可以骗男人一生!
6.如果你不能给你的女人穿上嫁衣,那么千万别停下你解开她衣扣的手!
7.走NB的路,让SB去说吧!
8.水能载舟,亦能煮粥!
9.子在川上曰:“有船多好乎!”
10.开车无难事,只怕有新人!
.............
1.诚征小MM,共同来灌水;我灌长江头,君灌长江尾。
2.一见钟情,再而衰,三而竭。
3.一个人并不孤单,想一个人时才孤单。
4.生,容易。活,容易。生活不容易。
5.如果我能够看到我的背影,我想它一定很忧伤,因为我把快乐都留在了前面!
6.工作QQ,谢绝闲聊,若要强聊,每字伍毛;标点符号,半价收费,千字以上,八折优惠;表情图片,十块包月,语音视频 ,暂未开通;先款后聊,款到即聊,在线支付,提供发票; 免付月租,单项收费,节假双休,照常营业;诚征代理```
.............
1.鸟大了,什么林子都有。
2.春色满园关不住,我拉红杏出墙来。
3.你以为我会眼睁睁看着你去送死吗?我会闭上眼睛的。
4.我以为我很颓废,今天我才知道,原来我早报废了。
5.老吾老以及人之老,妻吾妻以及人之妻。
6.我视金钱如粪土,我爸视我如粪池。(lyra推荐)
7.我喝酒是想把痛苦溺死,但这该死的痛苦却学会了游泳。
8.我是你的风筝,线在你手上,可陪伴我的只有风。
9.别人都在假装正经,那我就只有假装不正经啦。
.........
1.我和超人的唯一区别是:我把内裤穿在里面了。
2.我不是随便的人,但随便起来就不是人。
3.我身在江湖,江湖却没有关于我的传说……
4.走别人的路,让别人无路可走。
5.宁愿相信世间有鬼,也不相信男人那张破嘴!
1.水至清则无鱼,人至贱则无敌。
2.骑白马的不一定是王子,他可能是唐僧;带翅膀的也不一定是天使——妈妈说,那是鸟人。
3.时间和乳沟一样,挤一挤还是有的。
4.一山不能容二虎,除非一公和一母。
5.对流血一周仍然不死的动物千万不能大意……
6.我,一个大学生的人生奋斗目标:农妇,山泉,有点田。
7.女人谨记:一定要吃好玩好睡好喝好。一旦累死了,就别的女人花咱的钱,住咱的房,睡咱的老公,泡咱的男朋友,还打咱的娃。 -
数据广播方案的优化
2008-7-16
在服务器组的架构下,我们一般会引入一个网关服务器,或类似功能的组件,所有的客户端连接都是到这里,数据然后转发给当前所在的地图服务器。这样,在数据广播时便存在一个很大的优化可能性。以前的单服务器架构时,比如要广播移动消息,可以直接找出周围的玩家列表,构造要发送的数据,然后依次调用send即可。但是在多服务器架构下要是还这么做的话,那地图服务器与网关服务器之间的数据传输量将会非常大,而且这些数据之间除了目标IP地址不一样外,实际内容完全相同。
其实在以前单服务器架构时就曾考虑过该优化方案。最初使用的立即发送数据包的方式在遇到需要同时发送大量数据时出现了问题,为了避免由于在逻辑线程内的send调用导致的游戏逻辑被阻塞,我们将数据发送工作放到了一个独立的线程中,游戏逻辑线程在需要向客户端发送数据时,只是将要发送的数据包和客户端连接句柄递交给了发包线程。这个过程也就和带网关的多服务器架构完全类似了。
当时也是为了避免给发包线程递交太多的请求,因为每个发包请求都需要拷贝一次数据包并添加到发送队列中,显而易见的弊端就是数据多次拷贝的CPU消耗和队列中存在多份数据的内存消耗,所以优化的必要性非常高。
最终采取的方案是只递交一次发包请求,在请求包里面包含了这个数据包要发送到的客户端句柄列表,这样数据完全不需要做拷贝,而且内存占用也只有一份。
放到多服务器架构下也可以这样做,区别仅在于发包请求是发送给了网关服务器。
以前的方案只做到了这一步,再继续考虑一下,其实还有进一步优化的可能。
拿比较简单的聊天数据包来说,比如在一个小组频道内聊天,服务器在广播此类数据包时,每次递交的发包请求中的客户端句柄列表都是相同的,除非队员发生变动。所以,可以考虑的是这个列表其实不用每次都发送。通过控制命令在网关服务器上先建立好这些广播组,以后广播数据时只需要指明广播组编号即可。在云风的《游戏服务器内的组播》一文中对此有介绍。
这里的组我们也可以称之为频道,比如小组频道,团队频道,公会频道,世界频道,本地频道,当前频道等,当然还可能会有自建的频道,每个频道有一个唯一ID。不同玩家间的当前频道需要独立,但其他频道可以共用。
关于当前频道需要特别说明一下。这里的当前频道指的是以玩家当前所在位置为中心点的一个可见范围,也就是当玩家移动,或者说话时需要广播到的范围。因为玩家位置是经常会变动的,所以这个频道内的玩家列表变动也非常频繁,而且不同玩家间的当前频道不能像小组频道一样进行共用。
这个方案对于玩家列表变动不频繁的组队聊天这类情况很有效,但是对于玩家列表会频繁变动的当前频道广播却有些麻烦,维护这类频道会使得地图服务器与网关服务器之间的频道成员管理命令非常频繁。
但是这里也有个选择,一是在频道成员发生变化时立即向网关服务器通知变动,另外一种做法是只在有频道数据要递交时才检查有无成员变动。
比如一个玩家坐着没有动,不停有玩家从其旁边经过,这时他的当前频道玩家列表是不断变化的,但如果该玩家不做任何操作,比如移动和在当前频道聊天,这个变动情况其实是不需要反馈到网关服务器的,因为不会有这个频道内的数据需要广播。
当然,如果这样做的话,可能就需要在地图服务器上也保留两份当前频道玩家列表,用于比较该列表的变动情况,这也就是要在内存占用和网络数据传输量上做个权衡。虽然未经实践验证,目前来说我还是比较倾向于后一种方案。
-
常用游戏类型简写速查
2008-7-16
ACT......(ACTION GAME )动作游戏STG......(SHOTING GAME )射击游戏
RPG......(ROLE PLAYING GAME )角色扮演游戏
A.RPG....(ACTION ROLE PLAYING GAME )动作角色扮演游戏
S.RPG....(SIMULATION ROLE PLAYIG GAME)模拟角色扮演游戏
FTG......(FIGHTING GAME )格斗游戏
S.FTG....(SIMULATION FIGHTING GAME )模拟格斗游戏
SLG......(SIMULATION GAME )模拟仿真游戏
SPG......(SPORT GAME )运动游戏
TAB......(TABLE GAME )桌上游戏
PUZ......(PUZZLE GAME )益智游戏
AVG......(ADVENTURE GAME )冒险游戏
RAC......(RACE GAME )赛车游戏
RTG......(REAL TIME GAME)实时战略游戏
PET......(PET)养成类游戏及电子宠物
MAG......(MANAGEMENT GAME)经营类游戏
L.MUD....(LETTER MULTI-USER DUNGEONS)文字网络游戏
F.MUD....(FIGURE MULTI-USER DUNGEONS)图形网络游戏
ETC......(ETCTERA GAME )其他类游戏
-
网络游戏的位置同步
2008-7-16
有关位置同步的方案实际上已经比较成熟,网上也有比较多的资料可供参考。在《带宽限制下的视觉实体属性传播》一文中,作者也简单提到了位置同步方案的构造过程,但涉及到细节的地方没有深入,这里专门针对这一主题做些回顾。最直接的同步方案就是客户端在每次发生位置改变时都向服务器报告 ,服务器再转发给周围的其他玩家,其他客户端将对应的游戏实体移动到新的位置上。
但是这样存在一个问题,每个玩家的位置都是自己先开始移动,一段时间之后才在其他玩家的客户端上表现出来。如果只是希望每个客户端上看到的游戏对象都同时开始移动,那可以让玩家的每一步操作都由服务器确认之后再执行,这样误差将缩减到不同客户端之间的网络延时差。但是显然的,这样的做法不可能真正被采用,因为这将使得玩家的游戏体验非常的糟糕。有谁能忍受连每走一步路都要卡一下的游戏呢?
既然一定存在先后时间差,那需要一种方法来让不同客户端上看到的玩家位置不至于有太大的误差,尤其是不能有影响到游戏公平性的误差存在。根据误差出现的直接原因:时间差,我们应该能够想到一个解决方案,那就是让其他客户端设法弥补掉这段时间差内少走的距离。这样的话也就要求我们的消息包中多带一个开始移动的时间数据,用于其他客户端在收到这个消息包时计算对应的玩家实体已经移动过的时间和距离。
我们以一个实际的例子来说明如何减少这种误差的影响。假设玩家A以速度V从P1点去到P2点,A的网络延时为T1,在A旁边有个玩家B,他的网络延时为T2。B收到服务器转发过来的移动包时,A在其自己的客户端上已经移动了T1+T2的时间,在这段时间内他自己已经走过了V*(T1+T2)的距离。如果这时在B的客户端上开始将实体A从P1移动到P2,那显然两个客户端上看到的A的位置始终存在V*(T1+T2)的误差。
为了使A在B客户端上显示的位置与其实际位置的误差尽可能的缩小,一个简单的做法是直接将A的位置向前拖V*(T1+T2)然后开始移动,这样两者之间的误差便消除了。但这样会使得客户端的显示太鲁莽,要让其看起来平滑一些,我们可以考虑使用一些算法,比如计算出A从当前位置走到P2点还需要的时间,然后加快其速度使其在规定的时间内到达P2点,这样A和B看到的最终时间是相同的,但中间过程还是存在较多误差。另一种较好的做法是先让A以一个可接受的较快速度移动到其当前应该所在的位置稍前一点的地方,然后以正常速度移动到P2点,这样后面的移动情况与其实际移动情况基本吻合了。
看起来这个方案很完美,但是这里却忽略了一个问题:我们假设的是每次移动时都知道玩家要去的确切位置。这在靠鼠标点击来移动的2D游戏中是正好合适的,但是在WOW一类的靠键盘来移动的3D游戏中却没有办法采用。WOW中的移动消息都只能向服务器报告当前的坐标及朝向信息。
这类移动的位置同步其实也可以采用类似方案,服务器将移动玩家的当前位置信息广播给周围的其他玩家,当然其中也包含了时间戳。当其他玩家收到这个移动包后,表示的是在过去的某个时间里该玩家移动到了这个位置。如果只是简单地将其对应的实体移动到这个位置,那同样的,也存在位置误差。
与上一种情况类似,如果我们知道该玩家的移动速度,再通过数据包中的时间戳,假设该玩家还在以相同的速度朝相同的方向移动,那我们也可以预测出该玩家从开始移动到现在这段时间内他走了多远了距离。我们也可以将其位置做适当的修正,并使其继续移动下去。
我们需要先停下来考虑一下这些算法的部分细节。其中出现了一些数据是否应该包含在我们的每个消息包中,也就是我们需要考虑的另外一个问题:移动同步的消息中应该包含哪些数据,以及这些数据到底应该向哪些玩家广播。
对于2D游戏的情况来说,我们的算法需要的数据有:玩家的速度V,玩家开始移动的时间T0,收到数据包的时间T1,玩家当前位置P1和玩家要去的位置P2。T1和P1从当前客户端上都可以取到,而速度V一般来说不会经常改变,至少不是每次移动时都不一样,所以我们可以为速度的改变设计单独的消息码,这样V值也是可以在客户端上取到的。最后,每个移动消息中包含的数据只需要有移动到的位置P2和开始移动的时间T0。
其他客户端在使用特定算法将玩家移动到P2后会将其停在此处,直到收到下一个移动包时再开始移动。而对于在移动过程中又收到了新的移动包的处理过程基本类似,不做过多描述。
对于3D游戏的情况,算法是基本相同的,但是没有目标点,替换为移动方向,比如是向正前方移动,还是向左或向右移动等。在这种情况下,只要没有收到玩家停止移动的消息,其他客户端上都会以最后一次收到的移动包的状态来继续模拟移动。
所以,在网络偶尔卡一下的时候也会出现一些奇怪的现象。比如WOW中,看到队友直冲冲地走下了悬崖,你刚喊了句“怎么掉下去了?”只见队友又从身后走出来,还冒出一句:“没啊,我就在你旁边!”
关于数据要向哪些人广播的问题,其实很简单,哪些人会看到这个玩家就需要向哪些人广播。不管是直接在主屏幕上看到还是在大地图上看到的代表其位置的一个点。但是,针对不同的人使用的广播策略还是存在差异。
在《带宽限制下的视觉实体属性传播》一文中提出了一个方案很值得参考。该方案提出的基础是因为3D空间透视的原因,离你很远的一个玩家移动了10米,最终在你的显示器上看到的位移可能只有一个象素;而离你不到一米的一个玩家虽然只移动了一米,但最终显示出来的位移可能会有几十个象素。所以,远处玩家的移动并不需要非常严格的关注,但近处玩家的移动同步需要非常高的优先级。
这个方案的实现还依赖于另一项技术要求,玩家的属性更新以一定的频率来进行,更新时比较一下当前属性值与上次更新时的属性值,如果存在差异则通知客户端更新,另外如果中间跳过了某次更新也不会对客户端表现及游戏公平性造成什么影响。比如这里要处理的玩家坐标,第一次移动到A点,第二次从A点又移动到B点,如果移动到A点的更新包没有发送,直接发送了移动到B点的更新包,这将不会对游戏逻辑产生大的影响。
这套方案基本上是为3D游戏的实体属性广播优化而设计的,在2D游戏中很难使用。一是斜45度视角的2D游戏中屏幕顶端、中间和底部任何一个位置上的玩家移动,其距离和象素比是完全相同的,因为画面不存在透视,所以也就没有远处对象更新频率低这一可能。另外2D游戏中的移动与3D游戏也存在差异,具体情况前面有详细描述,2D游戏中基本上每一次移动都需要广播,不能跳过哪一个,否则玩家看到的现象就是在乱跑,这也必将影响到技能的使用等游戏逻辑。
有关位置同步所涉及到的一些技术细节及优化方案上面描述了一部分,但是在实际的应用中是否会使用还是要看具体游戏的需求。比如大话类型的游戏,其本身对位置的精确同步就没有要求,两个客户端上出现一前一后的移动也不会影响任何的游戏逻辑,所以前面提到的同步方案可能都用不上。
而对于一些同步要求很高的游戏,如WOW中盗贼这类职业的需求,上面的方案可能还不够细致,还需要设计更加有效的同步方案。
另外,在位置同步过程中还有一个不容忽视的问题是外挂。我们不能像WOW那样完全依赖客户端,如果没有暴雪那样强硬的封号措施,游戏也就成为了外挂们的温床。所以,如何在服务器端模拟每个客户端的移动,如何检测出客户端是否存在作弊行为,也是需要重点关注的一个问题。






