99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀淺析Webgame的設(shè)計(jì)測(cè)試方法
淺析Webgame的設(shè)計(jì)測(cè)試方法
2014-11-20
收藏

淺析Webgame的設(shè)計(jì)測(cè)試方法

近兩年,webgame成為了平臺(tái)商和用戶熱棒的對(duì)象,今天我們就來(lái)侃侃webgame的設(shè)計(jì)及測(cè)試的方法。

首先需要著重指出的一點(diǎn)是,本文所針對(duì)的僅是當(dāng)前最流行的戰(zhàn)爭(zhēng)策略類Webgame,對(duì)于其它類型Webgame并不適用。

事實(shí)上,在當(dāng)前的Webgame市場(chǎng)上所充斥的這些戰(zhàn)爭(zhēng)策略游戲的高度同質(zhì)化,已經(jīng)使得我們?cè)诤艽蟪潭壬蠈?duì)于Webgame品質(zhì)的好壞喪失了判斷力。究竟一款Webgame設(shè)計(jì)成什么樣子才能夠成功,這個(gè)問(wèn)題是行業(yè)內(nèi)沒(méi)有任何一個(gè)人可以回答的了的。在當(dāng)前以運(yùn)營(yíng)和宣傳能力作為評(píng)判一款Webgame成敗的標(biāo)準(zhǔn)是一種很可行和可信的方法,但是對(duì)于Webgame的設(shè)計(jì)者和開(kāi)發(fā)者(尤其是策劃),這樣的現(xiàn)狀卻是致命的。究竟我們?nèi)绾稳ピO(shè)計(jì)一款Webgame,應(yīng)當(dāng)遵循什么樣的設(shè)計(jì)原則?在找到這個(gè)問(wèn)題的答案前,我們的游戲設(shè)計(jì)者被迫處在一個(gè)迷茫期中。事實(shí)上,本文無(wú)意于去找到這一設(shè)計(jì)原則,僅僅是嘗試在開(kāi)發(fā)過(guò)程中尋求一些減少和避免設(shè)計(jì)失誤的方法。

數(shù)值設(shè)計(jì)被認(rèn)為是戰(zhàn)爭(zhēng)策略類Webgame設(shè)計(jì)中最難的一環(huán),其原因就在于我們對(duì)于數(shù)值設(shè)計(jì)的評(píng)價(jià)標(biāo)準(zhǔn)知之甚少。從表面上看,Webgame的數(shù)值設(shè)計(jì)是存在有很大的隨意性的,尤其是作為Webgame核心的各項(xiàng)時(shí)間和資源增長(zhǎng)速度的設(shè)計(jì),由于它們對(duì)于各個(gè)玩家來(lái)講是公平的,而且相互之間往往很難看出直接的數(shù)值關(guān)聯(lián),因此很多對(duì)此并不精通的游戲策劃在設(shè)計(jì)它們時(shí)往往過(guò)分隨意。而隱藏在這種隨意背后的,往往就是災(zāi)難性的游戲進(jìn)程。無(wú)論是資源生產(chǎn)速度和資源消耗速度的不匹配,游戲戰(zhàn)略進(jìn)程和玩家部隊(duì)生產(chǎn)速度的不匹配,主城和分城建設(shè)因不同資源和科技起點(diǎn)造成的數(shù)值漏洞,都屬于容易帶給玩家很嚴(yán)重的游戲體驗(yàn)挫折,但并不容易在設(shè)計(jì)階段快速發(fā)現(xiàn)的問(wèn)題。因此的,在戰(zhàn)爭(zhēng)策略類Webgame的設(shè)計(jì)開(kāi)發(fā)過(guò)程中,我們需要引入設(shè)計(jì)測(cè)試的方法。

傳統(tǒng)的軟件測(cè)試和游戲測(cè)試更加偏重的都是程序漏洞(一般稱為Bug)而不是設(shè)計(jì)漏洞。究其原因,很重要的一點(diǎn)就是測(cè)試的測(cè)試文檔(或稱測(cè)試用例)是基于既有的設(shè)計(jì)文檔的,測(cè)試的評(píng)判標(biāo)準(zhǔn)是實(shí)現(xiàn)的程序(游戲)是否符合既有的需求文檔。但是在這一過(guò)程中,設(shè)計(jì)的錯(cuò)誤往往被忽略。大量的設(shè)計(jì)漏洞由于測(cè)試不充分而沒(méi)有在游戲開(kāi)發(fā)測(cè)試階段被發(fā)現(xiàn),而是被保留到了正式的外部測(cè)試階段。尤其是一些后期的數(shù)值型漏洞,往往是在游戲開(kāi)始公測(cè)甚至于正式運(yùn)營(yíng)后才暴露出來(lái)的。由于游戲數(shù)值的普遍關(guān)聯(lián)性,以及玩家角色積累的連續(xù)性,在這一階段暴露出的設(shè)計(jì)漏洞能否被彌補(bǔ),彌補(bǔ)需要多少時(shí)間都成為了未知數(shù)。因此的,在游戲開(kāi)發(fā)過(guò)程中,我們需要針對(duì)設(shè)計(jì)漏洞的測(cè)試流程和測(cè)試方法。

事實(shí)上,在游戲行業(yè)的開(kāi)發(fā)過(guò)程中,針對(duì)單一玩法,單一流程的設(shè)計(jì)測(cè)試(或者叫內(nèi)容測(cè)試)是存在的,而且也可以說(shuō)是比較到位的,但是,戰(zhàn)爭(zhēng)策略類 Webgame的特殊性就在于它的設(shè)計(jì)漏洞往往出現(xiàn)在多個(gè)系統(tǒng),多個(gè)玩法,多個(gè)流程共同作用的一個(gè)混合的玩家游戲過(guò)程中,而不是存在于某一個(gè)個(gè)體中,這樣的,傳統(tǒng)的基于模塊的測(cè)試方法在應(yīng)對(duì)戰(zhàn)爭(zhēng)策略類Webgame時(shí)往往是很不充分的。那么,Webgame測(cè)試中還需要什么樣的測(cè)試方法呢?很簡(jiǎn)單的,就是測(cè)試者(事實(shí)上,這個(gè)測(cè)試者的角色建議以游戲策劃而不是專門的游戲測(cè)試人員擔(dān)任)以不同的游戲陣營(yíng)和游戲角色加入游戲,整體體驗(yàn)游戲進(jìn)程,并且記錄各種體驗(yàn)性數(shù)據(jù)(一般為混合性數(shù)據(jù),即不存在于游戲數(shù)值策劃文檔內(nèi)的數(shù)據(jù),例如玩家主城升級(jí)到X級(jí)所需的整體時(shí)間,玩家從進(jìn)入游戲到開(kāi)出第一座分城所需要的時(shí)間等)。

我們來(lái)看一個(gè)近期比較火熱的戰(zhàn)爭(zhēng)策略類Webgame:《熱血三國(guó)》中所出現(xiàn)的兩個(gè)最為嚴(yán)重的,也是游戲設(shè)計(jì)者在近期更新中著重解決的兩個(gè)設(shè)計(jì)漏洞:1.游戲中后期很容易出現(xiàn)資源堆積現(xiàn)象(尤其是石頭和鐵),繼而頻繁的發(fā)生“人禍”。一個(gè)玩家因故兩天不上游戲就可能導(dǎo)致接近致命的非PVP損失。

2.玩家頻繁刷十級(jí)NPC城快速提升聲望。

我們會(huì)注意到,以上的設(shè)計(jì)漏洞恰恰反映了兩種最常見(jiàn)的容易在設(shè)計(jì)開(kāi)發(fā)測(cè)試流程中被忽略的漏洞:一是多個(gè)混合系統(tǒng)長(zhǎng)時(shí)間作用所發(fā)生的混合效應(yīng)(漏洞一反映了資源生產(chǎn),資源儲(chǔ)存,資源消耗和人禍系統(tǒng)四個(gè)系統(tǒng)共同作用過(guò)程中的配合問(wèn)題);二是單一系統(tǒng)的效果沒(méi)有直觀反應(yīng)出其漏洞(十級(jí)NPC城的掠奪收益是在游戲策劃的規(guī)劃之內(nèi)的,但他并沒(méi)有清晰的意識(shí)到這一規(guī)劃到底會(huì)導(dǎo)致什么樣的整體結(jié)果)。而對(duì)于絕大部分在游戲中進(jìn)行到這一階段的玩家而言,這些漏洞都是顯而易見(jiàn)的。同樣的,我們可以意識(shí)到,如果我們有這樣一個(gè)基于玩家整體游戲過(guò)程的測(cè)試的話,那么很多問(wèn)題是可以在游戲面世之前被發(fā)現(xiàn)和解決的。

當(dāng)然的,另一個(gè)問(wèn)題也擺在了我們面前:戰(zhàn)爭(zhēng)策略類Webgame以游戲進(jìn)程緩慢,周期長(zhǎng)為主要特征,難道我們的一環(huán)測(cè)試需要測(cè)試者連續(xù)去玩上幾個(gè)月么?是否還需要游戲測(cè)試者24小時(shí)在線?因此的,我們接下來(lái)要指出的,就是這一基于設(shè)計(jì)的測(cè)試所應(yīng)采取的正確方法。

1.在游戲開(kāi)發(fā)早期預(yù)留速度調(diào)整和用于中斷的游戲控制接口。對(duì)于測(cè)試過(guò)程來(lái)講,測(cè)試者有需要簡(jiǎn)化和跳過(guò)一般玩家的長(zhǎng)時(shí)間等待過(guò)程,但又要保持在這一過(guò)程中的數(shù)據(jù)可以與游戲正常運(yùn)行時(shí)一般玩家同步變化,這就需要游戲開(kāi)發(fā)過(guò)程中為測(cè)試預(yù)留出可以控制游戲速度的接口。需要控制的游戲速度主要包括:玩家資源獲取的速度,建筑單位的建筑速度,科技研發(fā)速度,軍隊(duì)和其他物品的生產(chǎn)度,以及玩家單位在地圖上的移動(dòng)速度等。需要特殊指出的是,由于測(cè)試者測(cè)試的是當(dāng)前數(shù)值體系下的數(shù)值平衡問(wèn)題,因此不應(yīng)該提供給游戲測(cè)試者改變兩個(gè)速度間相對(duì)比例的接口,換言之,游戲測(cè)試者需要的僅僅是一個(gè)調(diào)整游戲整體運(yùn)行速度的接口。另一方面,游戲測(cè)試者會(huì)有測(cè)試玩家離開(kāi)游戲一段時(shí)間后游戲狀況變化的需求,以及游戲測(cè)試者本人因?yàn)橄掳啵菹⒒蚱渌驎簳r(shí)離開(kāi)游戲的需求,因此需要在程序上提供給測(cè)試者一個(gè)暫時(shí)中斷游戲進(jìn)行的接口。這兩個(gè)接口應(yīng)該在游戲開(kāi)發(fā)早期即預(yù)留,這樣可以讓游戲設(shè)計(jì)者在第一個(gè)可運(yùn)行版本出來(lái)時(shí)即可開(kāi)始初步的數(shù)值測(cè)試。事實(shí)上,考慮到當(dāng)前Webgame主流使用的頁(yè)面腳本的后臺(tái)開(kāi)發(fā)模式,游戲策劃可以在早期進(jìn)行的測(cè)試應(yīng)該是非常方便和快捷的。

2.為游戲設(shè)計(jì)測(cè)試提供自動(dòng)化的腳本式的測(cè)試機(jī)器人。無(wú)論我們的游戲在實(shí)際的玩家界面和功能上是否支持玩家連續(xù)指定多個(gè)任務(wù)(Ogame默認(rèn)允許玩家安排長(zhǎng)達(dá)10個(gè)的任務(wù)序列,其他戰(zhàn)爭(zhēng)策略類Webgame則大多將這一點(diǎn)作為收費(fèi)點(diǎn)),游戲開(kāi)發(fā)者都應(yīng)該為游戲設(shè)計(jì)測(cè)試開(kāi)發(fā)這一功能。這將大大有助于提高設(shè)計(jì)測(cè)試的效率,并為一個(gè)測(cè)試人員同時(shí)測(cè)試多個(gè)角色,多個(gè)流程提供可能性。為了達(dá)到這一目的,一個(gè)可能的程序架構(gòu)原則是盡量粒子化各個(gè)玩家單一過(guò)程(例如升級(jí)1座兵營(yíng)或者升級(jí)1級(jí)民房),并至少在開(kāi)發(fā)測(cè)試過(guò)程中為各個(gè)玩家單一過(guò)程提供外部的驅(qū)動(dòng)接口,從而從外部直接接受玩家的腳本式的測(cè)試指令集。這一指令集的一個(gè)可能的形式是:(官府(ID:1)升級(jí)到2級(jí);建造民房(ID:2);民房(ID:2)升級(jí)到2級(jí)…………)。當(dāng)然,如果測(cè)試人員能夠略有一點(diǎn)程序基礎(chǔ),將會(huì)大大有利于這一自動(dòng)化測(cè)試流程的建立。

3.提供便于非開(kāi)發(fā)人員使用的單一玩家日志。事實(shí)上,我是支持在游戲的正式界面中為一般玩家提供查看個(gè)人行為日志的功能的,并且非常建議在服務(wù)器上盡量保留玩家的玩家行為日志,這將成為日后游戲設(shè)計(jì)者進(jìn)行基于玩家游戲行為的數(shù)據(jù)分析和挖掘的基礎(chǔ),這一思路在傳統(tǒng)的互聯(lián)網(wǎng)運(yùn)營(yíng)和設(shè)計(jì)中是非常普遍的,但在游戲行業(yè)并沒(méi)有得到足夠的重視。但至少,在游戲開(kāi)發(fā)測(cè)試過(guò)程中,需要為游戲的設(shè)計(jì)測(cè)試人員(他們往往是非技術(shù)開(kāi)發(fā)人士)提供便于他們使用的玩家日志。這一日志將成為他們發(fā)現(xiàn)問(wèn)題,以及發(fā)現(xiàn)問(wèn)題成因的根本來(lái)源。以前面講到的《熱血三國(guó)》的設(shè)計(jì)漏洞為例,玩家日志中頻繁出現(xiàn)的人禍將成為游戲設(shè)計(jì)測(cè)試人員發(fā)現(xiàn)設(shè)計(jì)漏洞的一個(gè)重要著眼點(diǎn)。事實(shí)上,在游戲的正式運(yùn)營(yíng)過(guò)程中,對(duì)游戲日志進(jìn)行數(shù)據(jù)分析和總結(jié),也是找到游戲設(shè)計(jì)漏洞的一個(gè)重要方法。

4.明確需要進(jìn)行測(cè)試的玩家行為模式。由于游戲設(shè)計(jì)測(cè)試往往是以10倍甚至100倍于一般玩家游戲過(guò)程的速度在進(jìn)行的,因此的,我們需要更加明確我們需要關(guān)注的玩家行為模式有哪些,并將其映射到我們的測(cè)試環(huán)境下,來(lái)進(jìn)行有針對(duì)性的行為模式模擬。典型的需要關(guān)注的玩家行為模式包括:(1)深度游戲玩家。他們可以在自己需要的任意時(shí)刻保持在線,而且每天可以保持12個(gè)小時(shí)甚至更長(zhǎng)的在線游戲時(shí)間。對(duì)于這樣的玩家,我們需要模擬的是長(zhǎng)時(shí)間連續(xù)操作的游戲過(guò)程,以及一個(gè)模擬玩家每日在線12小時(shí)以上的周期性游戲過(guò)程。

(2)辦公室型玩家。他們每天白天可以基本保證長(zhǎng)時(shí)間在線,但是他們每天的在線時(shí)間往往局限在上班時(shí)間的9小時(shí)內(nèi)。對(duì)于這樣的玩家,我們需要模擬的是一個(gè)每日在線9小時(shí)以下的周期性游戲過(guò)程。

(3)夜晚玩家。以學(xué)生和從事某些行業(yè)的工作者為主的,他們每天的主要游戲時(shí)間在晚上下班(放學(xué))后的幾個(gè)小時(shí)。對(duì)于這樣的玩家,我們需要模擬的是一個(gè)每日在線5小時(shí)以下的周期性游戲過(guò)程。

(4)不定時(shí)玩家,這些玩家可能以在校學(xué)生以及其他低端玩家為主體,他們往往以網(wǎng)吧為主要上網(wǎng)地點(diǎn),游戲時(shí)間非常不固定,日上網(wǎng)時(shí)間也可能發(fā)生很大的波動(dòng)。對(duì)于這樣的玩家,我們可以模擬一個(gè)以隨機(jī)時(shí)間驅(qū)動(dòng)的游戲過(guò)程。

(5)雙休日及節(jié)假日現(xiàn)象。雙休日意味著會(huì)有一大批玩家頻繁的出現(xiàn)連續(xù)兩天半(即從周五下班到周一上班)的離線情況,而節(jié)假日則意味著會(huì)出現(xiàn)(但不會(huì)頻繁出現(xiàn))大批玩家連續(xù)3天~7天不上線的情況。事實(shí)上,只要游戲測(cè)試人員在游戲測(cè)試過(guò)程中有意識(shí)的停止一段時(shí)間的游戲操作,很容易模擬這一現(xiàn)象。事實(shí)上,前文中《熱血三國(guó)》的第一個(gè)設(shè)計(jì)漏洞恰恰出在了對(duì)于雙休日及節(jié)假日現(xiàn)象的忽略。

5.明確需要達(dá)到和避免的玩家體驗(yàn)和游戲局面。我們希不希望玩家每次在線都有事可作?我們希望玩家被卡在建設(shè)時(shí)間還是資源上?我們希不希望玩家的資源很容易達(dá)到城市的儲(chǔ)存上限?在各種玩家行為流程下,我們希望各種負(fù)體驗(yàn)設(shè)置(例如天災(zāi)人禍)以多大頻度發(fā)生?諸如以上的設(shè)計(jì)目標(biāo)越明確,測(cè)試時(shí)越能做到有的放矢,測(cè)試效果也會(huì)越好。事實(shí)上,如果設(shè)計(jì)測(cè)試者能夠?qū)⑦@些設(shè)計(jì)目標(biāo)量化為明確的數(shù)值目標(biāo),那么我們的程序開(kāi)發(fā)者完全可以將這些設(shè)計(jì)目標(biāo)作為游戲系統(tǒng)的報(bào)警機(jī)制,從而在這些設(shè)計(jì)目標(biāo)被突破時(shí)直接給予游戲設(shè)計(jì)測(cè)試者以反饋。這樣的測(cè)試流程效果會(huì)大大好于盲目的體驗(yàn)式測(cè)試。另一點(diǎn)需要指出的是,由于設(shè)計(jì)測(cè)試過(guò)程往往處在一個(gè)高速的非正常的游戲過(guò)程中,因此諸如 “玩家建造一個(gè)建筑所需時(shí)間造成的體驗(yàn)”這樣的問(wèn)題是不適合于在我們的測(cè)試過(guò)程中去解決的。

建議對(duì)這一測(cè)試過(guò)程不夠了解或者存有疑慮的朋友可以去嘗試一下Ogame的第三方服務(wù)器,該第三方服務(wù)器提供了管理員隨時(shí)手動(dòng)管理游戲速度的功能(事實(shí)上,這一功能的開(kāi)發(fā)難度基本可以忽略),從而使得我們可以很直觀的體驗(yàn)游戲中一個(gè)玩家整體的發(fā)展流程。一個(gè)額外的話題是,當(dāng)你在游戲中發(fā)現(xiàn)以100倍速升級(jí)一個(gè)科技需要幾十個(gè)小時(shí)時(shí),大概你也會(huì)感覺(jué)到在標(biāo)準(zhǔn)的游戲過(guò)程中這會(huì)帶給玩家什么樣的體驗(yàn)了。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }