游戏完成平衡性的技巧

※消息来源:柳絮飞的博客 (《电脑爱好者》杂志编辑)
 

翻译:张三丰  语嫣
作者:Tom  Cadwell

概要
关于游戏平衡性技巧的资料并不普及。这篇文章有意通过描述游戏平衡和不平衡的性质,以及如何达到游戏平衡的过方法这两个方面来填补这个信息空白。这个方法非常依赖于现有的系统工程技能以及公认的游戏设计理论。大量的案例学习及小故事被采用来帮助将方法和具体的设计结合起来。
一个伟大的设计和一个杰出的游戏之间往往只有一个缺乏游戏平衡性的区别。多数游戏策划要通过反复试验才学会游戏平衡的基本原理。如果他们幸运的话,也许可以得到同事传授的一两个小窍门。精通游戏平衡的人往往警惕地保守着自己的秘密,或者无心与人分享。结果是虽然有关游戏平衡性的信息确实存在,但是可得到的却很少。这篇文章试图阐述一个获得游戏平衡性的方法。

什么是游戏平衡?
Sid  Meier  曾经说过:"一个游戏是很多有趣的选择的集合。"因此得出的是如果游戏失去平衡,就会减少这些选择而影响游戏性。一个理想的游戏应该经过一系列的选择,最后以胜利或其它完成的条件结束。有时一些选择明显成为唯一的选择,或明显是无效的。如果在某一阶段,游戏出现仅有唯一的选择,而游戏却没有结束,就说明游戏的平衡性有了问题。

几乎所有通常所谓的不平衡都来自选择权的减少。例如,在一个策略游戏里,如果某一种部队的作用和费用相比过于划算,就会造成其它的部队几乎或完全没有作用。这种情况不仅只留给玩家一个选择(无从选择),而且使玩家受到很多不相关的干扰。这些干扰实际上让游戏变得比较迷乱,减损了游戏性,而且让玩家感到灰心。

游戏大富翁(Monopoly)中就有很好的游戏不平衡性的例子。在游戏的后期,玩家们总是尽量拖长呆在监狱里的时间。显然地,玩家在游戏后期的最好的策略就是进监狱而且不付钱出来,希望别人进入自己的领土而破产。在玩大富翁的最后阶段,无需再作选择,游戏基本结束了。没有人再选择是否购买财产,也很少有机会再根据游戏规则建设新的财产(因为房子已经被用完),而且因为资产已经被几个人集中,所以也不再有交易可做。一旦产生这种情形,游戏就变成每个玩家有一定的机率获胜而基本上结束了。此时玩家可以做的很少,除非靠运气得胜。这情景与游戏前期及中期大相径庭,那时玩家往往忙于大施战术、巧妙夺取利益、陷害对手或谨慎购买"重量级"黄色、绿色或深蓝色的地产。

这只是一个不平衡性的举例说明。在游戏中存在许多不同种类的不平衡性。所有的不平衡性都与没有选择性或缺乏选择性有关。

●  太昂贵却用处不大和便宜而且有效:游戏选择通常与游戏代价相联系,不管是牺牲其它的选择、游戏金钱或其它的商品。当一个选择太昂贵以致用处不大,或者太便宜而成为明显的选择时,游戏的不平衡性就出现了,因为有一些游戏选择无效了。虽然此类不平衡性最为普遍,但是通常经过简单地调整这些选择的价格或者是效果就可以纠正过来。

●  玩家时间的不平衡:大多数游戏平衡性对比的基础是以玩家为一个选择而必须放弃其它的各种不同选择的代价来衡量。我们很容易忽视玩家必须消耗时间执行每一个选择。在一个即时游戏里,玩家在游戏里没有无限的时间,所以时间不仅是一个资源,而且是一个有限的资源。在一个非即时游戏里,游戏时间不受限制,但是玩家的时间是受限制的。这种不平衡性基本上是另一种太昂贵或太廉价不平衡性的表现,只是这里这些游戏的代价不是有形的。游戏星际争霸(Starcraft)里的虫族(Zerg)就是一个很好的这种不平衡的例子。虽然虫族从价格上与其它族类是平衡的,但是就玩家的时间而言他们很容易被制造及使用。主要由于这个特点,虫族在游戏星际争霸发行之后大约长达6个月中,在联赛与竞赛中一直是最受欢迎的种族。

●  技术水平的不平衡性:随着玩家的游戏技能不断提高,不同的游戏选择的相对有效性也会改变。如果一种选择容易操作,而另一种极难操作,则结论是一个资深玩家和一个新玩家的对这两种选择的相对有效性的判断是完全不同的。这是游戏开发者的一个常见的陷阱,因为他们一般比较接近"高级玩家"的水平,所以经常看不见新玩家所要面对的问题。但是从另一方面看,随着操作水平的提高,而游戏性也同时"进化",通常被认为是一件好事。所以注意到这种平衡性很重要,但是也要认识到上面说的现象也很普遍。

●  强制的劣势或优势:在一个对战的游戏里,一些操作的组合使得某一方更具有优越性。这样不仅是典型的不平衡性(因为有一个选择明显最好),这种状况还是不公平的。在一个多人游戏中,最好避免不公平的情况出现,这也是保证游戏平衡的重要一招。
所有的不平衡性最终归结为没有选择性。只要记住这个原则,就容易区分可校正的不平衡性及根本的不平衡性。

如何达到可平衡性
游戏平衡性通常被认为是alpha或beta测试的事情,但事实上就像任何工程,好的准备工作是实现良好游戏平衡的关键。优秀的游戏设计具有极大的可平衡性,也就是指游戏系统可以较容易地调整到平衡的状态。如果系统没有可平衡性,费尽周折也不可能将游戏调整到平衡。

一个游戏是一个系统,在设计初期应用良好的系统设计方式将带来较好的可平衡性。好的系统设计方式可以分成三个重要步骤:游戏要素的模块性,连贯的设计宗旨及对复杂性的控制与调节。在设计的早期就采用这些方法将为设计师在游戏测试的alpha和beta阶段节省大量的时间。

游戏要素的模块性
游戏要素的模块性归结于每个游戏要素只为了一个特别目的存在,如果可能的话,尽量做到只有一个单一的目的。只要贯彻这个原则,调整一个游戏要素只会改变游戏的某个方面而不是许多方面。

有一个很好的例子,说明游戏要素缺乏模块性会造成游戏开发人不必要的麻烦。在星际争霸的beta测试中,暴雪(Blizzard,星际争霸的开发人)有一套相当清晰的伤害系统,其中每一兵种各有三种伤害方式:爆炸性的,标准型的或冲击性的。每种伤害方式都有一个根据外型大小而不同的伤害系数——爆炸性伤害对大型目标最有效,冲击性伤害对小型目标最有效,而标准型伤害可用于任何目标。其中一个兵种——飞龙(Mutalisk),不断给平衡性带来问题,因为就功能性上看,不可以被分为大、中或小型中的一种。如果将飞龙设为中型兵种,则它对于爆炸性武器类型的兵种来说抵抗力太强;如将其设为大型,则使其相对爆炸性武器类型的兵种(这种兵种一般是飞龙的天敌)又过于脆弱。暴雪(Blizzard)不能仅仅修改爆炸性相对于大型兵种或爆炸性相对于中型兵种的伤害系数,因为这样做的话就会影响一大批其它兵种的设置。也无法修改爆炸性武器兵种的攻击值,因为这样会影响其它的很多的设置。

更让人困惑的是飞龙有两个重要角色——防空军与防步兵(陆战兵种没有空中攻击能力),并具有相同的基本伤害力,而其他类似的兵团(侦察机-Scout、幽灵战机-Wraith)却有不同的武器系统,可以根据具体角色进行调整。

因为在伤害系统和飞龙的设计上缺乏模块性的原因,暴雪直到游戏上市后五个月才使飞龙兵种达到平衡。这并不是因为修正是不可能做到,而是因为缺乏系统模块性而使修正非常困难。飞龙在星际争霸里具有一定独特的用途,如果暴雪将它的平衡参数与其它不相关的兵种分开设计,平衡将大为容易。最简单的方法就是为飞龙(及其它类似兵团)添加一个独立的类型,并给予它一个针对各种伤害的自己的防御系数。如果设计师将飞龙的空军与地面攻击划分开来,调节平衡也会变得简单。

当然,星际争霸的多数设计都有相当程度的模块性。施法者(Spellcaster)兵种具有清晰的用途和相对特殊的角色就是一个很好的例子。事实上许多魔法(Spells),包括寄生虫(Broodling)和EMP振荡波(EMP  Blast),具有非常特殊的作用,使调整这些兵种的平衡性就容易得多。

良好的系统模块性不仅是游戏平衡性的前提,它还是朝着解决的方向走近一步。有一个良好的模块性可以使设计师针对各种特殊问题轻松进行调整,而不会影响到其它系统。

连贯的设计宗旨
连贯的设计宗旨可能是在初始设计阶段要遵守的最重要的原则,但是往往容易因为政策问题、疏忽大意或缺乏良好沟通而被忽视。连贯设计宗旨的定义是如果游戏要素没有根据游戏的大局进行同步设计,最好的结果是它会使玩家偏移主要的游戏感觉,最坏的可能性是它会损害主要的游戏感觉。这种情况存在于缺乏中心控制或开发时间很长的游戏中。

较有名的多用户网络游戏(MUD)Duris:Land  of  Bloodlust(是Everquest—"无尽的任务"的原型Sojourn的姐妹版)就因此带来太多问题。其中一个例子是,某个程序设计人自行编入一个他自己感兴趣的角色类型。虽然这个角色类型本身很有意思,但是它使其它几个类型变得无用或大失威力。这个角色类型拥有了其它种族专有的技能,而正是这些技能的专有性才使得这些种族实用而且好玩。这个程序员还带来很多类似的游戏平衡性问题。他的主要目的是创造一个他感兴趣的类型。这与多用户网络游戏开发人想要创造有趣、独创的角色并与整个系统相吻合的愿望相冲突。他的类型非但不独特(因为是从其它各类型中各取一小部分特点),还与游戏的其它部分格格不入。

复杂性控制
复杂性控制应概括为:"保持简单、易懂"。过于复杂的游戏系统让人费解,因此,也更难做到平衡。一个过于复杂的系统通常是因为最初的设计太糟糕和无休止的添加补丁(理论上这些补丁是合理,但实际上是不连贯的一团糟),或者是太常见的"太多厨师呆在一个厨房里"的现象,这通常也说明缺乏设计宗旨一致性的问题。复杂性控制的另外一个优点就是它避免了一些潜在的游戏性的问题。尤其是,正如复杂的游戏系统让人费解也因此不好平衡,也更难让玩家理解,甚至从某一程度开始玩家很难再享受游戏。一个很常见的设计错误是为了游戏复杂化而牺牲游戏深度,那将对游戏平衡调整造成极大的困难,并造成对游戏性的困惑和费解。

基本游戏平衡过程
除了基本的规则和技巧之外,过程是非常重要的。游戏的平衡过程有几个步骤,每个步骤都有各种各样的技巧。

首先要考虑的是让游戏进入一个有趣及可玩的境界,这就需要宏观调控,或者说让游戏中的大部分要素至少达到基本上平衡,而且不存在任何要素过分地不平衡。只要达到这个状态,就可以继续细调游戏要素的具体部分,如RTS游戏里的种族或派系。

当然在游戏alpha测试阶段之前通常应已进行了宏观调整,所以可能随着新功能的增加要重新进行调整。家园(Homeworld)的主策划Erin  Daly提出,应将相关的功能在同一时间加入,然后做一个宏观调控,基本上这是在整个开发过程中保持游戏可玩性的最有效的方法。

一旦实现最后的宏观调整,最好在alpha测试阶段的后期,就可以对游戏进行微观调控1使游戏平衡达到完美的程度。

宏观调控
提供一个可平衡的游戏系统显然只是达到游戏平衡的第一个步骤。即便是最完美的设计也需要变成现实,而在实施的过程中错误就会出现,在初期设计中就经常会出现小错误。许多游戏价值在整个游戏实现之后才能被清楚认识到。在这些情况下,设计者必须在alpha测试阶段之前及测试期间运用宏观调控技巧校正平衡值。

宏观调控应在微观调开始之前结束;如果游戏的基础还在不断改变时,较小的平衡性的改变将变得没有效果而无用。在进行宏观调时,目的是"找到"在设计案中描述的游戏性目标。当然,在你还不清楚如何表明核心游戏性时是不可能进行游戏细节的调整。

为了瞄准核心游戏性,明确地说明核心游戏性及其如何体现是很重要的。只要做到这一步,就可以建立一定的基线,也就是Ensemble  Studios1所谓的"定锚"。举例说明,你也许设立游戏速度的基线为"大约10分钟长的游戏",或者设立角色韧性的基线为"被一个危险怪兽攻击3次是致命的"。一旦你为每个游戏因素(一个地图、一个角色类型,一段对话等等)都找到满意的基线,就可以利用这些游戏要素基线为根据扩展游戏。

平衡性数学
一旦完成某一特定要素的宏观调控,在有些情况下可应用平衡性数学将结果复制到类似的要素中去。虽然用平衡性数学改善系统的功效还不确定,原因是很难计算一些微妙的细节,但是它对确定不同游戏要素中的基线还是有效的。公认的、几乎对每一个游戏都有帮助的一个公式是成本效率方程式。
成本效率公式说明,针对一个成分来说,

游戏威力×耐久力=效力

而且:
平方根(游戏威力×耐力÷成本的平方)=成本效力

游戏威力有可能是火力(伤害性×发射速度)或点数。耐力可以是使用次数或被击点数。成本代表游戏资源,通常是金子、钱币或回合(如棋赛中走一步的真正成本就是一个回合)。另一个有用的方程式主要适用于策略游戏和其它"战斗"场景的是分解式方程式。"分解式"反应了战斗场景中众多小群体总的有效性虽然与几个大群体的战斗力相等,但效力却不相同的特点。众多小群体通常效力小,当然这是假设不存在其它微妙的因素(如大团体攻击小兵种时,杀伤力太大而造成浪费)。这是因为群体在小个体逐渐死去之后就逐渐丧失威力,而一个大兵种可以支撑较长时间,所以不会因逐渐损失而失去效力。据此,相对有效性的公式被定为:

有效性的减损(相对于较小的个体)=0.5+0.5×[较大个体的数量÷较小个体的数量(相同的价格)]

所得到数字的倒数则是较大个体有效性的增加。

这些公式和其它"平衡性数学"对于初步的平衡性特别有用。最好避免从数学上实现完美的平衡性,除非是相当简单的游戏系统。比如说,因为游戏规则简单,平衡游戏Risk并不是特别困难,且玩家的选择可以作到相当的量化。平衡游戏大富翁(Monopoly)是可能的,但是会比游戏Risk困难,因为随机因素(如滚骰子)相对于Risk来说可造成更普遍的影响,而且也因为大富翁有更多数量的特别游戏因素(运气牌、抵押规则,监狱等等)。譬如在一个现代的RTS中,能够在这样更多复杂性的情况下得到完美的数学平衡性,就相当于完成了博士论文。

平衡性数学用于匀称型游戏时特具效力,如游戏魔兽争霸(Warcraft  2)或家园(Homeworld),其中对立双方在游戏功能上基本旗鼓相当。游戏要素越为相近,平衡性数学就越能够胜任,因为变数不多。

微观调控
一旦游戏已受宏观调控,游戏的平衡必须要进入细节调校。如果游戏至少达到有点乐趣可言,且不存在明显的问题,则已基本上完成宏观调控并可开始转向微小细节。微观调控是游戏策划为了进一步完美平衡性而实施的小手术。一个小手术一般被定义为:变化值相对于一个"全球"数值(影响许多其它的游戏要素)要少于10%,相对于一个"地方性"数值(一个单一游戏要素)则应少于30-40%。

微观调控最大的挑战是找到问题。一旦找到问题,就可以开始稍微调整数值,但要注意不要因此再产生出新的问题。良好的要素模块和预先计划在这一阶段很有效果——没有它们,就可能做不到在一个合理时间范围内完成游戏的平衡。

辨识较小的不平衡性
策划有几个技巧可辨识较小的不平衡性。其中最明显的做法是大量地测试游戏,寻找一贯受惠或占优势的方法,或寻找从不被使用的方法。另一个常用方法是与一个试验人或另一个策划讨论假设的情景或与其对战,找到一个一致认为会产生的结果,然后在游戏中测试是否会发生同样的结果。

如果策划用第一种方法,只是寻找占优势(或从不被使用)的方法,确定这种情况产生的实际原因是很重要的,并确认事情是否应该这样发展。对不平衡性进行分类,并尝试将其归类到典型的不平衡性中,有助于理解问题。基本上越是了解不平衡性的类型及特征就越能够调整它。

近年来,愈加流行的方法是秘密记录(不告诉玩家)游戏成果及统计数据。游戏世纪帝国(Age  of  Empires),雪乐山(Sierra)发表的几款游戏及斗争阴影(Strifeshadow)都受益于这个技巧。有时这些统计数据具开导性,有时也极具误导性。

对所有的数据都应有所保留。有时一个不成熟的测试人群会带来很不正确的结果,只因为他们不熟悉游戏,而且没有机会全面尝试(或只是尝试最容易的部分)。同样的,一个过于成熟的测试人群也有可能忽视其它策略的潜力,或被困在一个很高级却较模糊的不平衡点,而这些不平衡与其它更明显的不平衡点相比显得不那么紧迫。Ethermoon娱乐公司在游戏斗争阴影里应用的一个极为有效的技巧就是夸大在beta阶段的补丁中的游戏平衡性变化,来怂恿玩家尝试新的战略,而不再继续"抵抗"新的变化。

发现不平衡性的第二个方法有时被称为"追逐不平衡性",也就是一个假定的情景被定义后,而由此产生的各种可能的行动及结果都应是符合设计的。例如,一个坦克部队的冲锋应该被认为打败一个轻型车队的进攻,但同时也应该受到轻度伤害,而面对防坦克步兵团的反攻则应受到重创。如果在实际的游戏中,一个坦克部队的冲锋可完全歼灭一个轻型车队并可以与防坦克步兵团不分胜负,此时坦克部队的过于强大就造成了不平衡性。追逐不平衡性是十分重要的,如果严格地执行,很容易就可以发现75%以上的较小不平衡性问题。游戏往往不按照策划所愿望的某种特别方式发展,特别是在一个对抗型的多人游戏中,一个"地区性"平衡价值的微小变化就可以造成游戏的平衡与不平衡。

要紧记的一条是无论何时进行不平衡性的搜索,在游戏早期所设置的游戏要素,往往比后期的游戏要素要敏感得多。仅仅因为一个早期游戏要素的不平衡性会影响在它之后设置的所有东西,而后期游戏要素能够制造麻烦的时间有限。正如有必要在做微观调控之前先做好游戏的宏观调控,也有必要先平衡早期的游戏因素。

修整较小的不平衡性
一旦辨识并证明了不平衡性,是否容易进行修正呢?是的,如果游戏已被设计为容易调整!  一个非常可调的游戏具备的素质能让设计师在不间接影响其它游戏因素的情况下,专门对付某一不平衡性。

校正的重要一点是保持细调的水准(往小的方面想),尤其是升级游戏的时候。一个过于强大的游戏要素容易使其它要素失去效力,而一个过于无力的游戏要素则会被忽略而毫无效果。

还很重要的一点是细调时不要影响到其它的游戏数值,譬如,在角色扮演游戏里考虑一个叫做"火球"的符咒,它是火系符咒的一种。如果火球威力过大,策划可做的就是全面降低火系魔法的威力,或将火球降级。很明显你应该做的是选择"地方性"的解决方法,在细调全面火系魔法之前将火球降级。这是一个很简单的例子,在大多情况下,游戏要素之间都存在一定程度的互相依赖。谨慎地考虑一个改变将会带来的冲击力,尝试使用专门解决问题而不影响其它游戏要素的方法。

最后,避免"过度解决"不平衡性。当策划在同一时间运用多重不同的细调方法来解决一个特定问题时就会产生"过度解决"的情形。这样就很难决定变化所带来的效果,因为你应用了多重独立的可变性来影响一个不独立的可变性。"过度解决"也有可能因意外地影响其他游戏要素而带来麻烦。

总结
开发游戏过程当中,在面对许多细节所带来的庞大冲击时很容易偶尔忽视最终目标。保持真实地对待所想得到的游戏性,从根本上贯彻游戏平衡的原则是很辛苦的,但只有这样才可以保证高质量的游戏平衡,并且避免beta测试拖得太久。多人游戏日渐受到青睐,游戏平衡应尽可能地做到最好。太多充满希望的多人游戏都因为平庸的游戏平衡而黯然失色。

  1. gravatar

    # by 匿名 - 2012年11月29日 下午3:35

    I'm new to developing sites and I was wanting to know if having your website title relevant to your articles and other content really that crucial? I see your title, "Blogger: hello, world " does appear to be spot on with what your blog is about however, I prefer to keep my title less content descriptive and based more around site branding. Would you think this is a good idea or bad idea? Any help would be greatly appreciated.

    http://www.facebook.com/kellysmith.cctv
    Here is my homepage - OKC roofing companies

  2. gravatar

    # by 匿名 - 2012年11月29日 下午5:51

    We ѕtumbled oѵeг hеre from a different web aԁdгeѕs and thought I might
    сhecκ things out. I likе whаt I see so і am ϳust following yοu.
    Look forwaгd tо cheсking out your web page repeаteԁlу.


    http://samcarter.buzznet.com/user/
    Also see my page: buyin used bucket trucks

  3. gravatar

    # by 匿名 - 2013年2月11日 下午3:08

    Hello! Do yоu know if thеу mаkе any plugins to
    prοteсt аgainѕt hacκеrs?
    I'm kinda paranoid about losing everything I've worκеd hаrԁ on.
    Anу recommеndatiоns?

    Fеel free tο visit my page ... dallas tx car insurance
    Feel free to surf my web blog ; dallas car insurance

  4. gravatar

    # by 匿名 - 2013年2月14日 下午5:08

    Heуa i am foг the fiгst time here. I found thiѕ boaгԁ
    and I in findіng It reаlly useful & it helpеd me оut much.

    I hopе to prοvide one thіng again аnԁ aiԁ others lіκe you aideԁ me.


    Μy ρage boom trucks

  5. gravatar

    # by 匿名 - 2013年2月20日 下午10:53

    Attraсtive сomponent of content. I just stumbled upon youг site anԁ іn accessiоn caрital to
    asseгt that I get in fact lοved acсount yοur
    blog posts. Anyωaу I will be ѕubscгibing to your fеeds or еven I success уοu get entry tο perѕiѕtently faѕt.


    Fеel free tо vіѕit my ωeb blog - bucket trucks

  6. gravatar

    # by 匿名 - 2013年2月20日 下午11:59

    I will immediatеly grab your rsѕ fееd as I can't to find your email subscription link or e-newsletter service. Do you have any? Kindly allow me understand in order that I may subscribe. Thanks.

    Here is my web blog tens machine

  7. gravatar

    # by 匿名 - 2013年2月21日 上午12:32

    Very goоԁ article. I'm dealing with many of these issues as well..

    Review my homepage; Bucket Trucks For Sale
    My webpage - bucket trucks

  8. gravatar

    # by 匿名 - 2013年2月21日 上午12:56

    It is appropriate timе to mаκe a few ρlanѕ for thе lοng run and it is
    time tο be hаppy. I've learn this publish and if I could I want to recommend you few interesting things or suggestions. Maybe you could write subsequent articles referring to this article. I desire to read more things approximately it!

    Here is my web blog: Used Bucket trucks

  9. gravatar

    # by 匿名 - 2013年2月21日 上午1:35

    Ӏ am truly thankful to the holder of this sitе whо has ѕhаrеd thiѕ enoгmous ρiеce оf wrіting at аt this tіme.


    Heгe iѕ my blog post ... TENS Units
    Also see my page - pain relief for athletes

  10. gravatar

    # by 匿名 - 2013年2月23日 下午11:40

    I was recommenԁed this blog by means of my cousin.

    І'm no longer positive whether this put up is written by him as no one else know such targeted approximately my trouble. You are wonderful! Thank you!

    My webpage :: tens therapy

  11. gravatar

    # by 匿名 - 2013年2月27日 下午7:59

    Thank you, I've recently been looking for information about this topic for a long time and yours is the best I've found out till now.

    But, what about the concluѕion? Αre yοu suгe concerning the ѕourcе?


    Stop by my page; grapevine tx taxi

  12. gravatar

    # by 匿名 - 2013年2月28日 上午5:55

    Hi there, І check your new stuff regulaгly.

    Your humoristic ѕtyle is witty, keep uρ the gοod
    worκ!

    Hеre is my blog irving Tx Taxi

  13. gravatar

    # by 匿名 - 2013年3月3日 下午5:29

    Youг way of tеlling the whole thing іn this aгticle iѕ
    actually fastiԁious, every one cаn simplу be awarе
    of it, Thanks а lot.

    Rеviеw my websіte ... moore oklahoma roofing company

  14. gravatar

    # by 匿名 - 2013年4月1日 下午6:52

    Post writing iѕ also a еxcіtement, іf уou bе familiaг ωith аfter that you сan write οr еlѕе it is complіcatеԁ tο write.


    Stоp by my ωeb-ѕitе; dfw seo

笔者非专业IT人员,仅仅是业余IT爱好者;

本博客转载皆注明出处,各位如果想转载也请注明出处;

有其他任何的问题,请联系此电邮xyjswf@gmail.com。

I'm not a professional IT staff,only an amateur enthusiasts;

Reproduced in this blog are marked with the source, that if you want to reprint please indicate the source;

Have any other question,please relate to this email xyjswf@gmail.com.