Gaming Usability 101

source:http://www.businessweek.com/innovate/content/oct2007/id20071012_041625.htm

遊戲中101條重要的使用性法則:

  1. 絕對不要詢問玩家是否要儲存遊戲進度
  2. 永遠呈現 “按下我開始遊戲"
  3. 總是允許玩家可以重新設定鍵盤的配置來符合他們的習慣
  4. 永遠讓玩家可以選擇是否觀看過場動畫,無論這動畫對於遊戲的劇情多麼重要
  5. 不要讓攝影機太接近玩家角色或是卡在牆裡
  6. 不要只是因為程式辦得到,就使用所有可以用到的按鈕
  7. 讓玩家可以設定遊戲的易用性
  8. 不要設計無法抵擋的攻擊 (仙劍還蠻常見的阿XD)
  9. 為了新手玩家,永遠呈現教學、常見問題和幫助選單
  10. 永遠讓玩家可以自由地選擇何時離開/進入 遊戲(不然他們會乾脆關掉整個視窗)

Designing for Motivation

source:http://www.gamasutra.com/view/feature/1419/designing_for_motivation.php

我們都知道:當我們對一款遊戲的熱情消失後,這款遊戲的生命就消逝了。於是對於遊戲設計者來說,如何讓玩家可以在玩完遊戲之前都保持著強烈的熱情,甚至是熱情到玩個兩次三次,就是個重要的課題。

此篇文章的作者提出了一個 PNRC 系統來描述玩家熱情的變化。

P:Player State,玩家狀態。泛指玩家的技術等級或是角色裝備,意思就是玩家的強壯度。
N:Need,需求。當挑戰出現的時候,此時玩家的需要(像是打敗敵人),也可以說遊戲的目的是什麼。
R:Reward ,獎賞。玩家通過挑戰後得到的獎賞。
C:Challenge,挑戰。遊戲給予玩家的挑戰。

所以,某個玩家p的熱情就可以表示為:
M(p) = N(p)*C(p)*R(p)

翻成中文就是:

熱情=需求*挑戰*獎賞

通常來說,玩家如果遇到很大的挑戰,那他的需求(Need)就也會很大,這時如果獎賞很小,那麼玩家的熱情就會變小。但是不可以一開始就把所有的值變得很 大,因為玩家的狀態是一個時間函數,它會隨著時間變化。這也就是為什麼所有遊戲都不會讓你在一開始拿到神兵利器的道理是一樣的。

接下來作者舉了幾個例子來說明這個系統。不過他的歸類我不是很同意XD

以星海爭霸為例,一開始的時候玩家什麼都沒有,所以很弱,而其他參數可以表示如下:

P:玩家狀態,弱。
N:需求-發展基地,強。
C:挑戰-保護自己的基地

一段時間之後,玩家的資源消耗殆盡,挑戰就成為追尋新的礦產。之後又轉變成交戰..的情況。 而作者認為一旦礦產耗盡,玩家就會立刻離開。唔,應該是大勢已去才會離開吧,有時沒礦產還可以靠著盟友支撐阿XD

不過我覺得阿,其實這邊一開始的需求就是打敗敵人,也就是說,礦產之類的都是其次。要不然怎麼會有scv快攻,或是異形蟲一出來沒多久整場戰役就結束的情形。
所以私以為應該是這樣:

P:玩家狀態
N:需求-擊敗對手,強
C:隨著需求(對手強度)改變

那麼會導致熱情很高的情況就是:高手對戰。 唔 這樣才比較合理阿!想想與跟自己程度差不多的對手交戰,那戰役真是刺激萬分!!!

為什麼你的遊戲人工智慧需要模組化行為?

source:http://aigamedev.com/modular-behaviors/motivation

從設計的觀點來看,近代的遊戲行為越來越複雜。因此實做出來的程式和資料就變得越來越難以管理。
模組化行為針對下列基本的問題提供了可行的解答:

  • 藉著重複使用,工作量減少了
  • 現在流程可以更容易地被管理,工作也可以更加輕易地分割
  • 實做一個簡單的行為不再需要那麼多的資料
  • 隨著行為變得好管理,設計上也得到更多好處。

人工智慧引擎通常都擁有這些功能,使用模組化設計也是一個達到這個目的的好方法。

halo.png

圖(作者說之後會放大一點的圖)
Halo2 中所有行為的一個子集

實際上,當你在做一款遊戲的時候如果有下列現象,你就會注意到這是行為的模組化。

  • 行為可以被應用在任何符合必要功能的遊戲上
  • 增加一個新的行為對程式設計師而言相當容易
  • 設計師或是script撰寫者可以很容易地重新使用其他已經存在的行為
  • 行為可以被用在不同的等級和不同的角色上

所以,讓我們接觸更多技術上得細節,這些模組化的行為到底長什麼樣子?

遊戲人工智慧中的模組化行為

source:http://aigamedev.com/modular-behaviors

每個人都了解模組化在程式設計中的好處。實際上,今日所有的遊戲引擎都至少有著某種程度的模組化。但是在人工智慧的行為這領域中模組化意味著什麼?一般來說在實際的情況下它是如何完成這些工作?和 還有哪部份它可以增進的地方?

這系列的文章包含了人工智慧的模組化方面你所需要知道的事情

作者歡迎提問,只需留言在原網址下

什麼是遊戲中的人工智慧?

(唔,標題的中文似乎有點怪….)

source:http://aigamedev.com/learn

遊戲人工智慧基本上與行為有關。你需要設計並且實做程式控制你的演員讓遊戲變得有趣。要達到這個目標,你需要這樣做:

  1. 收集有關這個世界的資訊
  2. 需要的時候,記住某些東西
  3. 搶在時間之前決定怎麼做
  4. 嘗試跟著計畫走,檢查發生的問題

有許多方式可以做到這些,但是在這個網站你將會學到一些在實做上最棒的技術。你將會很快地發現世界上所有專業的遊戲人工智慧開發者都使用類似的技術 – 但是會產生非常不一樣的結果。在這個網站上你將會從經驗中學到一些很重要的課程,而這會幫助你把事情做對。

一個好的遊戲人工智慧引擎基本上必須遵守下列的原則:

Designing Usable and Accessible Games with Interaction Design Patterns

source : http://www.gamasutra.com/view/feature/1408/designing_usable_and_accessible_.php

這篇談到遊戲設計方面的Usablity 和 Accessibility 的問題。有些地方我覺得不太實際啦,像是做遊戲還要考慮到視障同胞們…
不過其他地方講的很好,作者也針對幾個問題提出設計樣式(Design pattern) ,不過文章中只有三種,其餘的請到http://www.helpyouplay.com 去看(目前作者已經收集了23種)。

不過應該要有人告訴這個網站的作者:網站設計也需要Usablity 和 Accessibility的。沒有rss ,都用圖代替文字…,雖然說文字也都寫在alt裡,這樣視障同胞的閱讀機就可以念出來,不過這種作法真的匪夷所思…

這個設計重點說穿了就是讓你的遊戲可以被更多的玩家可以接受。畢竟很多玩家可能反應能力比較差,眼睛可能不是那麼好,可能有點聽力障礙。此外環境也是一個問題,如果只靠聲音提示,那當玩家處於吵雜的環境或是不能開啟聲音(半夜偷偷玩?) 的時候,那就等於沒用。

此外,還有難度等級的設定,可以讓一些可能不是那麼有天份的玩家不會一而再再而三的卡在同一個地方,當然也是有例外啦,有些遊戲就以虐待玩家出名。例如無窮無盡的迷宮(仙劍XD),或是超難的關卡(炎龍系列:P)。

從以前到現在可以看到很多設計都開始遵循所謂的設計樣式,像是教學關卡的設計(玩家不想等,玩家想要現在就開始玩!!!!)。或是以往載入式的世界,現在大多走向無縫式的世界(當初wow宣佈他們採用無縫式的設計時,很多人還很擔憂呢:P) 不過這點後來證明的確是個很棒的設計。但是遊戲的設計還是有很多細微之處,就算是採用漸進式的教學關卡設計,有些遊戲也還是做的很差。wow跟星海的教學關卡都做的很棒,不會讓人家有種:我正在教學關卡,滑鼠趕快點一點,知道些什麼,然後,就開始玩阿!!!

再回到主題, 諸如此類的議題還有很多值得參考,有興趣的人可以去他們的網站仔細看看,他們會針對每個問題提出解決方法,並且拿實際遊戲的作法當作範例喔!!