命令
命令是游戲提供給玩家的一個(gè)改變游戲世界的途徑,其對應(yīng)著游戲世界的某些改變。一條命令是由其所需要的參數(shù)和命令的處理方式組成。命令的處理方式也就是一段程序(不一定是電腦程序,應(yīng)該理解為要做的工作),指明游戲的實(shí)現(xiàn)者——電腦或人(如果是用棋盤和棋子下棋)——應(yīng)該做的工作,此工作只能是改變游戲世界,也就是改變游戲元素的取值。
象棋游戲中,只有一個(gè)命令——移動(dòng)棋子。此命令需要的參數(shù)是被移動(dòng)的棋子和移動(dòng)的目的位置。其處理方式為:根據(jù)象棋規(guī)則判斷此命令的合法性(即移動(dòng)的路線對于被移棋子來說按照象棋規(guī)則是否可行——如:馬走日字格,移動(dòng)的目的地是否被己方棋子所占等——以及此輪是否該這方棋子走),如不合法就結(jié)束命令。如合法,改變被移棋子的位置為移動(dòng)的目的位置,如果目的位置有它方棋子,使那枚它方棋子消失。最后讓對方走棋。
根據(jù)上面的說法,可知象棋的游戲元素至少有如下游戲元素: 某枚棋子的位置。 某枚棋子是否存活。 某枚棋子的種類。 該哪方走棋。 上面說的象棋只有一個(gè)命令,但正規(guī)比賽時(shí),還有記時(shí)這個(gè)命令,也就是記下這一步與上一步之間的時(shí)間。所以這種象棋多了兩個(gè)游戲元素——時(shí)間和每一步所用的時(shí)間。應(yīng)注意到此處的時(shí)間并不是象棋這個(gè)游戲的本身規(guī)則,而是由于下象棋的玩家在我們這個(gè)四維空間中實(shí)現(xiàn)象棋的規(guī)則而導(dǎo)致的附加游戲元素。如果同意無時(shí)間限制,即即使兩、三年才走一步也可以,那么這盤象棋就沒有時(shí)間這個(gè)游戲元素。
所以,要找出游戲的游戲元素,只要找出游戲的所有命令,再分析每個(gè)命令的處理方式,處理方式中改變的那個(gè)東西就是游戲元素。而一般情況下,命令就是玩家被允許能做的事。
類
類也就是種類的意思,同面向?qū)ο缶幊趟枷胫械念惖囊馑枷嗤?,具有多個(gè)屬性及多個(gè)規(guī)則。每個(gè)屬性的取值的一個(gè)組合,稱為類的一個(gè)實(shí)例,也叫一個(gè)對象。如:桌子類,有桌腳數(shù)和顏色兩個(gè)屬性,則該類的某個(gè)實(shí)例可能為四只腳、紅色,則我們可以說這個(gè)實(shí)例表示一張四只腳的紅色的桌子。
人的記憶力很差,不能記住千變?nèi)f化的東西,如一幅畫。但人又經(jīng)常需要一看到某個(gè)東西時(shí),能搜出它的大致資料,于是,人想出了種類。人將他們看到過的形形色色的東西進(jìn)行歸類,這樣當(dāng)人看到一個(gè)東西時(shí),他不再去想這個(gè)東西是什么,而是想它是種什么東西。因?yàn)榉N類的數(shù)量遠(yuǎn)遠(yuǎn)少于東西的數(shù)量,所以人可以很快找到所想物體是哪種東西,也就很快得到此物體的大致信息。應(yīng)注意,當(dāng)將種類分得很細(xì)的時(shí)候,也就不存在種類了,或可以認(rèn)為一個(gè)種類就是一個(gè)物體。
在象棋游戲中,如前所述,有如下的游戲元素:
1. 某枚棋子的位置。
2. 某枚棋子是否存活。
3. 某枚棋子的種類。
4. 該哪方走棋。
其中的1、2、3游戲元素邏輯上表示的是同一種東西(棋子)的狀態(tài),所以在這里我們就應(yīng)該定義一個(gè)類——棋子。其屬性有三個(gè):位置、是否存活和種類。這樣我們就可以說這個(gè)象棋游戲只有33個(gè)游戲元素(象棋有32個(gè)棋子),而原來它有97個(gè)游戲元素,顯得更簡單了。
注意,類的存在不是必要的,它只是為了讓人更好的了解游戲規(guī)則而人為定義出來的,只是為了使紛繁的游戲元素有條有理。所以不同的人可以定出不同的類,這樣好象顯得類沒有多大意義,所幸的是大部分人經(jīng)常都會(huì)有大部分相同的類的定義,如象棋,幾乎每個(gè)人都下意識(shí)的定了棋子這個(gè)類。而對于復(fù)雜點(diǎn)的游戲,如RPG游戲,有些人就只定了加魔法的藥和加血的藥,而有些人就定的是藥,可加血、魔法值、火屬性等,將其視為一個(gè)類,而不加細(xì)分。通常后者是程序員而前者是玩家。
還應(yīng)發(fā)現(xiàn),游戲規(guī)則不定義任何的類,但游戲規(guī)則畢竟大多數(shù)是人定的,所以在規(guī)則的描述時(shí)都大量的使用了類。幾乎任何棋類游戲都有棋子這個(gè)類。
有些規(guī)則是專門針對某一個(gè)類的,我們將這些規(guī)則稱為這個(gè)類的規(guī)則。如象棋中的馬走日、象飛田,都涉及到了棋子類中的種類這個(gè)屬性。這里就有了一個(gè)問題:這個(gè)規(guī)則到底是屬于哪個(gè)類的。因?yàn)橛行┮?guī)則可能涉及到了多個(gè)類的屬性,如RPG游戲中的,玩家攻擊到敵人后,敵人的生命值減去玩家的攻擊力的數(shù)值。此處就涉及到了玩家這個(gè)類的攻擊力的屬性和敵人這個(gè)類的生命值的屬性。在此我們認(rèn)為:規(guī)則的主語是哪個(gè)類的屬性就是哪個(gè)類的規(guī)則。所以上述的規(guī)則應(yīng)為敵人的規(guī)則。
系統(tǒng)
隨著人們生活質(zhì)量的提高,開始了對精神的需求。游戲機(jī)的出現(xiàn),游戲的實(shí)現(xiàn)手段變多,游戲得到發(fā)展。但由于技術(shù)力的限制,游戲在縱深方向上發(fā)展了一段時(shí)間后就停滯了,開始橫向發(fā)展,游戲中也就出現(xiàn)了系統(tǒng)。
為了使游戲更耐玩,就要增加規(guī)則的復(fù)雜度,也就是大量的命令和類的定義。但由于大部分游戲在設(shè)計(jì)時(shí)是為了在游戲機(jī)上執(zhí)行,機(jī)能的限制導(dǎo)致游戲不能過于復(fù)雜,也就是縱深發(fā)展受限,所以在設(shè)計(jì)游戲時(shí),設(shè)計(jì)兩個(gè)游戲,再提供一些規(guī)則以使這兩個(gè)游戲間有關(guān)聯(lián),且可以切換。這就好象我們小時(shí)侯打牌,輸了的鉆桌子。打牌是一個(gè)游戲,鉆桌子又是一個(gè)游戲,之間的關(guān)聯(lián)就是在打牌游戲中輸了的玩家玩鉆桌子游戲,這樣就橫向增加了游戲的復(fù)雜度。
通過上面的分析,可知系統(tǒng)就是一個(gè)游戲,有自己的命令和類,但又和所屬游戲或所屬游戲中的其它系統(tǒng)之間保持著或多或少的聯(lián)系。由定義可知,系統(tǒng)可以有子系統(tǒng),子系統(tǒng)又可有子系統(tǒng),形成樹的結(jié)構(gòu)。作為樹根的那個(gè)系統(tǒng)我們稱之為入口系統(tǒng)。一個(gè)游戲最先開始運(yùn)行的規(guī)則總是入口系統(tǒng)的規(guī)則。
上述的打牌輸了的鉆桌子的入口系統(tǒng)就是打牌,而鉆桌子是打牌的一個(gè)子系統(tǒng)。通常的電腦或電視游戲中,在最開始時(shí)都是一個(gè)選擇開始、讀檔、選項(xiàng)等的界面,這實(shí)際是一個(gè)系統(tǒng),而且是這個(gè)游戲的入口系統(tǒng)。玩家在里面能做的命令就是選擇一條指令(開始游戲、讀檔、退出等)并執(zhí)行。還有選項(xiàng)對話框其實(shí)也是一個(gè)系統(tǒng)。所以幾乎所有的電子游戲都是多系統(tǒng)的游戲。
在進(jìn)行游戲設(shè)計(jì)時(shí),建議父系統(tǒng)不能使用子系統(tǒng)定義的類及命令,子系統(tǒng)可以使用父系統(tǒng)定義的類和命令。并不是說一定得按這個(gè)規(guī)則,但按這個(gè)規(guī)則顯得有條理,層次分明。
小結(jié)
前面我們定義命令、類和系統(tǒng),都是為了讓我們更好地把握一個(gè)游戲的規(guī)則。一個(gè)游戲的規(guī)則中的某些規(guī)則我們認(rèn)為是在定義一個(gè)命令,我們就可以說這個(gè)游戲定義了一個(gè)命令,從而就將那些描述這個(gè)命令的規(guī)則去掉,以簡化游戲的規(guī)則。同樣,類和系統(tǒng)也是這樣,只是為了簡化游戲的規(guī)則的描述,使人更容易理解。
將游戲看成一棵樹,樹的根結(jié)點(diǎn)代表游戲的入口系統(tǒng),入口系統(tǒng)又由其子系統(tǒng)組成,每個(gè)系統(tǒng)都包含有自己的命令和類的定義。但是注意,游戲的縱深方向的發(fā)展并不是說樹的層數(shù)的增加,而是樹的某個(gè)結(jié)點(diǎn)內(nèi)部的規(guī)則的復(fù)雜化。雖然游戲的橫向發(fā)展和縱向發(fā)展都可以增加游戲的可玩度,但從人的心理方面來說橫向發(fā)展增加的可玩度的質(zhì)量低于縱向發(fā)展增加的可玩度,這將在后面的篇幅中體現(xiàn)出來。
只有注冊用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||