
近兩年,webgame成為了平臺(tái)商和用戶熱棒的對象,今天我們就來侃侃webgame的設(shè)計(jì)及測試的方法。
首先需要著重指出的一點(diǎn)是,本文所針對的僅是當(dāng)前最流行的戰(zhàn)爭策略類Webgame,對于其它類型Webgame并不適用。
事實(shí)上,在當(dāng)前的Webgame市場上所充斥的這些戰(zhàn)爭策略游戲的高度同質(zhì)化,已經(jīng)使得我們在很大程度上對于Webgame品質(zhì)的好壞喪失了判斷力。究竟一款Webgame設(shè)計(jì)成什么樣子才能夠成功,這個(gè)問題是行業(yè)內(nèi)沒有任何一個(gè)人可以回答的了的。在當(dāng)前以運(yùn)營和宣傳能力作為評判一款Webgame成敗的標(biāo)準(zhǔn)是一種很可行和可信的方法,但是對于Webgame的設(shè)計(jì)者和開發(fā)者(尤其是策劃),這樣的現(xiàn)狀卻是致命的。究竟我們?nèi)绾稳ピO(shè)計(jì)一款Webgame,應(yīng)當(dāng)遵循什么樣的設(shè)計(jì)原則?在找到這個(gè)問題的答案前,我們的游戲設(shè)計(jì)者被迫處在一個(gè)迷茫期中。事實(shí)上,本文無意于去找到這一設(shè)計(jì)原則,僅僅是嘗試在開發(fā)過程中尋求一些減少和避免設(shè)計(jì)失誤的方法。
數(shù)值設(shè)計(jì)被認(rèn)為是戰(zhàn)爭策略類Webgame設(shè)計(jì)中最難的一環(huán),其原因就在于我們對于數(shù)值設(shè)計(jì)的評價(jià)標(biāo)準(zhǔn)知之甚少。從表面上看,Webgame的數(shù)值設(shè)計(jì)是存在有很大的隨意性的,尤其是作為Webgame核心的各項(xiàng)時(shí)間和資源增長速度的設(shè)計(jì),由于它們對于各個(gè)玩家來講是公平的,而且相互之間往往很難看出直接的數(shù)值關(guān)聯(lián),因此很多對此并不精通的游戲策劃在設(shè)計(jì)它們時(shí)往往過分隨意。而隱藏在這種隨意背后的,往往就是災(zāi)難性的游戲進(jìn)程。無論是資源生產(chǎn)速度和資源消耗速度的不匹配,游戲戰(zhàn)略進(jìn)程和玩家部隊(duì)生產(chǎn)速度的不匹配,主城和分城建設(shè)因不同資源和科技起點(diǎn)造成的數(shù)值漏洞,都屬于容易帶給玩家很嚴(yán)重的游戲體驗(yàn)挫折,但并不容易在設(shè)計(jì)階段快速發(fā)現(xiàn)的問題。因此的,在戰(zhàn)爭策略類Webgame的設(shè)計(jì)開發(fā)過程中,我們需要引入設(shè)計(jì)測試的方法。
傳統(tǒng)的軟件測試和游戲測試更加偏重的都是程序漏洞(一般稱為Bug)而不是設(shè)計(jì)漏洞。究其原因,很重要的一點(diǎn)就是測試的測試文檔(或稱測試用例)是基于既有的設(shè)計(jì)文檔的,測試的評判標(biāo)準(zhǔn)是實(shí)現(xiàn)的程序(游戲)是否符合既有的需求文檔。但是在這一過程中,設(shè)計(jì)的錯(cuò)誤往往被忽略。大量的設(shè)計(jì)漏洞由于測試不充分而沒有在游戲開發(fā)測試階段被發(fā)現(xiàn),而是被保留到了正式的外部測試階段。尤其是一些后期的數(shù)值型漏洞,往往是在游戲開始公測甚至于正式運(yùn)營后才暴露出來的。由于游戲數(shù)值的普遍關(guān)聯(lián)性,以及玩家角色積累的連續(xù)性,在這一階段暴露出的設(shè)計(jì)漏洞能否被彌補(bǔ),彌補(bǔ)需要多少時(shí)間都成為了未知數(shù)。因此的,在游戲開發(fā)過程中,我們需要針對設(shè)計(jì)漏洞的測試流程和測試方法。
事實(shí)上,在游戲行業(yè)的開發(fā)過程中,針對單一玩法,單一流程的設(shè)計(jì)測試(或者叫內(nèi)容測試)是存在的,而且也可以說是比較到位的,但是,戰(zhàn)爭策略類 Webgame的特殊性就在于它的設(shè)計(jì)漏洞往往出現(xiàn)在多個(gè)系統(tǒng),多個(gè)玩法,多個(gè)流程共同作用的一個(gè)混合的玩家游戲過程中,而不是存在于某一個(gè)個(gè)體中,這樣的,傳統(tǒng)的基于模塊的測試方法在應(yīng)對戰(zhàn)爭策略類Webgame時(shí)往往是很不充分的。那么,Webgame測試中還需要什么樣的測試方法呢?很簡單的,就是測試者(事實(shí)上,這個(gè)測試者的角色建議以游戲策劃而不是專門的游戲測試人員擔(dān)任)以不同的游戲陣營和游戲角色加入游戲,整體體驗(yàn)游戲進(jìn)程,并且記錄各種體驗(yàn)性數(shù)據(jù)(一般為混合性數(shù)據(jù),即不存在于游戲數(shù)值策劃文檔內(nèi)的數(shù)據(jù),例如玩家主城升級(jí)到X級(jí)所需的整體時(shí)間,玩家從進(jìn)入游戲到開出第一座分城所需要的時(shí)間等)。
我們來看一個(gè)近期比較火熱的戰(zhàn)爭策略類Webgame:《熱血三國》中所出現(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ì)漏洞恰恰反映了兩種最常見的容易在設(shè)計(jì)開發(fā)測試流程中被忽略的漏洞:一是多個(gè)混合系統(tǒng)長時(shí)間作用所發(fā)生的混合效應(yīng)(漏洞一反映了資源生產(chǎn),資源儲(chǔ)存,資源消耗和人禍系統(tǒng)四個(gè)系統(tǒng)共同作用過程中的配合問題);二是單一系統(tǒng)的效果沒有直觀反應(yīng)出其漏洞(十級(jí)NPC城的掠奪收益是在游戲策劃的規(guī)劃之內(nèi)的,但他并沒有清晰的意識(shí)到這一規(guī)劃到底會(huì)導(dǎo)致什么樣的整體結(jié)果)。而對于絕大部分在游戲中進(jìn)行到這一階段的玩家而言,這些漏洞都是顯而易見的。同樣的,我們可以意識(shí)到,如果我們有這樣一個(gè)基于玩家整體游戲過程的測試的話,那么很多問題是可以在游戲面世之前被發(fā)現(xiàn)和解決的。
當(dāng)然的,另一個(gè)問題也擺在了我們面前:戰(zhàn)爭策略類Webgame以游戲進(jìn)程緩慢,周期長為主要特征,難道我們的一環(huán)測試需要測試者連續(xù)去玩上幾個(gè)月么?是否還需要游戲測試者24小時(shí)在線?因此的,我們接下來要指出的,就是這一基于設(shè)計(jì)的測試所應(yīng)采取的正確方法。
1.在游戲開發(fā)早期預(yù)留速度調(diào)整和用于中斷的游戲控制接口。對于測試過程來講,測試者有需要簡化和跳過一般玩家的長時(shí)間等待過程,但又要保持在這一過程中的數(shù)據(jù)可以與游戲正常運(yùn)行時(shí)一般玩家同步變化,這就需要游戲開發(fā)過程中為測試預(yù)留出可以控制游戲速度的接口。需要控制的游戲速度主要包括:玩家資源獲取的速度,建筑單位的建筑速度,科技研發(fā)速度,軍隊(duì)和其他物品的生產(chǎn)度,以及玩家單位在地圖上的移動(dòng)速度等。需要特殊指出的是,由于測試者測試的是當(dāng)前數(shù)值體系下的數(shù)值平衡問題,因此不應(yīng)該提供給游戲測試者改變兩個(gè)速度間相對比例的接口,換言之,游戲測試者需要的僅僅是一個(gè)調(diào)整游戲整體運(yùn)行速度的接口。另一方面,游戲測試者會(huì)有測試玩家離開游戲一段時(shí)間后游戲狀況變化的需求,以及游戲測試者本人因?yàn)橄掳?,休息或其他原因暫時(shí)離開游戲的需求,因此需要在程序上提供給測試者一個(gè)暫時(shí)中斷游戲進(jìn)行的接口。這兩個(gè)接口應(yīng)該在游戲開發(fā)早期即預(yù)留,這樣可以讓游戲設(shè)計(jì)者在第一個(gè)可運(yùn)行版本出來時(shí)即可開始初步的數(shù)值測試。事實(shí)上,考慮到當(dāng)前Webgame主流使用的頁面腳本的后臺(tái)開發(fā)模式,游戲策劃可以在早期進(jìn)行的測試應(yīng)該是非常方便和快捷的。
2.為游戲設(shè)計(jì)測試提供自動(dòng)化的腳本式的測試機(jī)器人。無論我們的游戲在實(shí)際的玩家界面和功能上是否支持玩家連續(xù)指定多個(gè)任務(wù)(Ogame默認(rèn)允許玩家安排長達(dá)10個(gè)的任務(wù)序列,其他戰(zhàn)爭策略類Webgame則大多將這一點(diǎn)作為收費(fèi)點(diǎn)),游戲開發(fā)者都應(yīng)該為游戲設(shè)計(jì)測試開發(fā)這一功能。這將大大有助于提高設(shè)計(jì)測試的效率,并為一個(gè)測試人員同時(shí)測試多個(gè)角色,多個(gè)流程提供可能性。為了達(dá)到這一目的,一個(gè)可能的程序架構(gòu)原則是盡量粒子化各個(gè)玩家單一過程(例如升級(jí)1座兵營或者升級(jí)1級(jí)民房),并至少在開發(fā)測試過程中為各個(gè)玩家單一過程提供外部的驅(qū)動(dòng)接口,從而從外部直接接受玩家的腳本式的測試指令集。這一指令集的一個(gè)可能的形式是:(官府(ID:1)升級(jí)到2級(jí);建造民房(ID:2);民房(ID:2)升級(jí)到2級(jí)…………)。當(dāng)然,如果測試人員能夠略有一點(diǎn)程序基礎(chǔ),將會(huì)大大有利于這一自動(dòng)化測試流程的建立。
3.提供便于非開發(fā)人員使用的單一玩家日志。事實(shí)上,我是支持在游戲的正式界面中為一般玩家提供查看個(gè)人行為日志的功能的,并且非常建議在服務(wù)器上盡量保留玩家的玩家行為日志,這將成為日后游戲設(shè)計(jì)者進(jìn)行基于玩家游戲行為的數(shù)據(jù)分析和挖掘的基礎(chǔ),這一思路在傳統(tǒng)的互聯(lián)網(wǎng)運(yùn)營和設(shè)計(jì)中是非常普遍的,但在游戲行業(yè)并沒有得到足夠的重視。但至少,在游戲開發(fā)測試過程中,需要為游戲的設(shè)計(jì)測試人員(他們往往是非技術(shù)開發(fā)人士)提供便于他們使用的玩家日志。這一日志將成為他們發(fā)現(xiàn)問題,以及發(fā)現(xiàn)問題成因的根本來源。以前面講到的《熱血三國》的設(shè)計(jì)漏洞為例,玩家日志中頻繁出現(xiàn)的人禍將成為游戲設(shè)計(jì)測試人員發(fā)現(xiàn)設(shè)計(jì)漏洞的一個(gè)重要著眼點(diǎn)。事實(shí)上,在游戲的正式運(yùn)營過程中,對游戲日志進(jìn)行數(shù)據(jù)分析和總結(jié),也是找到游戲設(shè)計(jì)漏洞的一個(gè)重要方法。
4.明確需要進(jìn)行測試的玩家行為模式。由于游戲設(shè)計(jì)測試往往是以10倍甚至100倍于一般玩家游戲過程的速度在進(jìn)行的,因此的,我們需要更加明確我們需要關(guān)注的玩家行為模式有哪些,并將其映射到我們的測試環(huán)境下,來進(jìn)行有針對性的行為模式模擬。典型的需要關(guān)注的玩家行為模式包括:(1)深度游戲玩家。他們可以在自己需要的任意時(shí)刻保持在線,而且每天可以保持12個(gè)小時(shí)甚至更長的在線游戲時(shí)間。對于這樣的玩家,我們需要模擬的是長時(shí)間連續(xù)操作的游戲過程,以及一個(gè)模擬玩家每日在線12小時(shí)以上的周期性游戲過程。
(2)辦公室型玩家。他們每天白天可以基本保證長時(shí)間在線,但是他們每天的在線時(shí)間往往局限在上班時(shí)間的9小時(shí)內(nèi)。對于這樣的玩家,我們需要模擬的是一個(gè)每日在線9小時(shí)以下的周期性游戲過程。
(3)夜晚玩家。以學(xué)生和從事某些行業(yè)的工作者為主的,他們每天的主要游戲時(shí)間在晚上下班(放學(xué))后的幾個(gè)小時(shí)。對于這樣的玩家,我們需要模擬的是一個(gè)每日在線5小時(shí)以下的周期性游戲過程。
(4)不定時(shí)玩家,這些玩家可能以在校學(xué)生以及其他低端玩家為主體,他們往往以網(wǎng)吧為主要上網(wǎng)地點(diǎn),游戲時(shí)間非常不固定,日上網(wǎng)時(shí)間也可能發(fā)生很大的波動(dòng)。對于這樣的玩家,我們可以模擬一個(gè)以隨機(jī)時(shí)間驅(qū)動(dòng)的游戲過程。
(5)雙休日及節(jié)假日現(xiàn)象。雙休日意味著會(huì)有一大批玩家頻繁的出現(xiàn)連續(xù)兩天半(即從周五下班到周一上班)的離線情況,而節(jié)假日則意味著會(huì)出現(xiàn)(但不會(huì)頻繁出現(xiàn))大批玩家連續(xù)3天~7天不上線的情況。事實(shí)上,只要游戲測試人員在游戲測試過程中有意識(shí)的停止一段時(shí)間的游戲操作,很容易模擬這一現(xiàn)象。事實(shí)上,前文中《熱血三國》的第一個(gè)設(shè)計(jì)漏洞恰恰出在了對于雙休日及節(jié)假日現(xiàn)象的忽略。
5.明確需要達(dá)到和避免的玩家體驗(yàn)和游戲局面。我們希不希望玩家每次在線都有事可作?我們希望玩家被卡在建設(shè)時(shí)間還是資源上?我們希不希望玩家的資源很容易達(dá)到城市的儲(chǔ)存上限?在各種玩家行為流程下,我們希望各種負(fù)體驗(yàn)設(shè)置(例如天災(zāi)人禍)以多大頻度發(fā)生?諸如以上的設(shè)計(jì)目標(biāo)越明確,測試時(shí)越能做到有的放矢,測試效果也會(huì)越好。事實(shí)上,如果設(shè)計(jì)測試者能夠?qū)⑦@些設(shè)計(jì)目標(biāo)量化為明確的數(shù)值目標(biāo),那么我們的程序開發(fā)者完全可以將這些設(shè)計(jì)目標(biāo)作為游戲系統(tǒng)的報(bào)警機(jī)制,從而在這些設(shè)計(jì)目標(biāo)被突破時(shí)直接給予游戲設(shè)計(jì)測試者以反饋。這樣的測試流程效果會(huì)大大好于盲目的體驗(yàn)式測試。另一點(diǎn)需要指出的是,由于設(shè)計(jì)測試過程往往處在一個(gè)高速的非正常的游戲過程中,因此諸如 “玩家建造一個(gè)建筑所需時(shí)間造成的體驗(yàn)”這樣的問題是不適合于在我們的測試過程中去解決的。
建議對這一測試過程不夠了解或者存有疑慮的朋友可以去嘗試一下Ogame的第三方服務(wù)器,該第三方服務(wù)器提供了管理員隨時(shí)手動(dòng)管理游戲速度的功能(事實(shí)上,這一功能的開發(fā)難度基本可以忽略),從而使得我們可以很直觀的體驗(yàn)游戲中一個(gè)玩家整體的發(fā)展流程。一個(gè)額外的話題是,當(dāng)你在游戲中發(fā)現(xiàn)以100倍速升級(jí)一個(gè)科技需要幾十個(gè)小時(shí)時(shí),大概你也會(huì)感覺到在標(biāo)準(zhǔn)的游戲過程中這會(huì)帶給玩家什么樣的體驗(yàn)了。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10