以《Pokemon Go》為例 說說游戲抽取算法設計手游
給游戲增加可玩性是游戲設計師必須思考的重要問題,那么如何增加游戲的可玩性呢?在游戲中增加抽取算法設計是一個不錯的辦法,但是概率隨機性的設計方法很難掌握,下面我們就以《Pokemon Go》這款游戲為例,詳細說說游戲抽取算法的設計。
抽取算法
通常在設計游戲的時候,我們需要設計一個抽取算法,或者設計一種從池子里隨機給玩家游戲物體的方法。在實踐中很難看出這些隨機分布具體是一個什么情況,很難設計好它們。所以在這篇文章中,我將介紹一些小的模擬來幫助理解各種算法。
目錄
l 基本的玩家參與
n 模擬
n 關于本文所做的簡化
l 基本的系統
l 抽取系統
n 簡單的模擬
n PokemonGo
l 介紹新的內容
l 各種抽取算法
n 確定性
n 保底系統
n 口袋妖怪的紅色和藍色
l 結論
基本的玩家參與度
模擬
這是我們的第一個模擬,它很簡單。只需點擊interact! 按鈕,就會給玩家一個游戲的碎片。不同的玩家需要不同的參與度。 如果玩家感受到的參與度太少,他們就會離開。
這是一個關于玩家如何在游戲中獲取東西非常抽象的表示。不過,你可以想象,如果這是PokemonGo的話,每次按下交互按鈕的話,玩家都會得到一個新的口袋妖怪。
關于本文所做的簡化
這是對玩家體驗的一個顯而易見的簡化。然而,如果我們把它看作是抽取系統單軸上的體驗,并且是對這個體驗的高度抽象,我們仍然可以從這些模擬中獲得價值。還有值得記住的一點是,這個模擬中的新功能可以做得很好,但是由于這篇文章沒有涵蓋的內容,這里的功能對于游戲來說還是不夠好的,比如說會對游戲中的決策造成不利影響,或者增加復雜度。視頻游戲很復雜,需要從多個角度來觀察。
基本系統
常見的游戲開發模式是使用一個系統來驅動玩家的參與度,而不是以上述模擬的方式。手工制作一個完整的掉落模式通常是耗時和昂貴的。 所以,通過這個模擬,我們將要為自己打造一個基本的系統。
在這個模擬中一共有三個滑塊可以控制:
抽取率:玩家獲得新游戲碎片的頻率。
新奇的要求:玩家需要獲得新的東西。
觀察:
你可以看到,在這個模擬中,你能夠快速地達到幾乎穩定的狀態,那些想要比系統所能提供的更多參與度的玩家會離開,而其余的玩家會繼續堅持。
抽取系統
簡單的模擬
我們現在要對以前的模擬添加一些細節,使其更接近真正的抽取系統。
這個作品的動力來自于觀看Pokemon Go將第二代寵物小精靈放在野外,所以我們將使用該游戲作為其余部分的主要例證。特別是,我們將看看玩家隨機遇到新寵物小精靈的方式,并考慮用一個抽取系統來實現。
我們將從最抽象的表示開始,我們假設所有的碎片都具有相同的價值,我們將假設它們一共有100個。
觀察:
n 將抽取率設置為與上一圖中相同的值,并將重復碎片的值設為0會導致圖形趨向于0,因為玩家獲得的游戲碎片越來越多,因此不太可能體驗到獲得一個新的游戲碎片的感覺。
n 如果我們將獲得新物品的值設置為等于獲得重復物品的值,那么我們可以簡單地重現上一個圖。
n 當重復碎片的值仍然為0的時候,將掉落率提高到超過某一點,會出現玩家快速收集完所有的碎片,然后快速離開的情況。
n 提高重復碎片的值對圖形尾部的大小有很大的影響。
n 對于100個游戲碎片的情況,并且針對平均時間最高進行優化,玩家平均能得到大約77個獨特的游戲碎片。
可能的改進:
l 計算抽取的潛在價值 - 當玩家有可以讓他們興奮的東西的時候,他們對獲得這些東西的機會自然就會更為激動。然而,這對于模擬來說太復雜了,所以這些效果的計算會作為讀者的練習。但是,這種興奮是玩家體驗的主要部分,在設計自己的系統的時候,你應該牢記這一點。
l 不均勻的抽取率- 在現實世界中,抽取率可以像你想要的那樣復雜。但在這里,我會把它作為一個穩定流,只是為了保持模擬的簡單。
Pokemon Go
讓我們深入了解下一個真正的抽取系統是什么樣子的。以Pokemon Go為例,不同的口袋妖怪有不同的價值,由于以下的原因:
l 內在價值 - 口袋妖怪對玩家來說,除了游戲性之外,還有其它價值。喜歡小狗的人可能會喜歡Growlithes,無論它的數值如何。
l 之前沒有抓到過這個口袋妖怪 - 這是一個收集游戲,你想抓住全部的口袋妖怪,所以得到一個你以前沒有抓住的口袋妖怪自然將是大多數玩家的主要動力。
l 進化 - 與前一種相似,但是強度可能較低。能夠將一個碎片轉換成你尚未獲得的物品對玩家來說是有價值的。
l 戰斗價值 - 獲得比你已經擁有的能力更強的口袋妖怪或能夠為隊伍的主要成員加油的口袋妖怪對玩家來說是有價值的。
我們不會模擬所有這些,只是會比上面的模擬更接近這里的內容。請注意,在這個抽象層次上,這個數據可以代表很多游戲,而不僅僅是Pokemon Go。 為了做到這一點,我:
l 把所有的卡都放在一個罕見的層次上,并給它們一個新的值和舊的值,基于一些隨機的噪音。
l 將碎片的數量設置為150。
觀察:
l 很自然的,當重復值非零但小于新值的時候,這些圖顯然非常類似于以前的圖。
介紹的新內容
Pokemon Go在推出第二代的時候,只是在現有的抽取系統中添加了更多的東西。當你的玩家已經執行了大量的抽取的時候,會有如下圖所示的圖形。
觀察:
· 為了比較,你可以將上述圖形之一設置為相同的參數,以便可以看到只讓玩家抽取新物品的時候你的參與度曲線是什么樣子的。當然,這并不實用,因為你的玩家想要獲得他們全部,但是值得注意的是,這種抽取算法的圖形是有多么的糟糕。
· 確保你的重復碎片持有的值在這里有很大的不同。
各種抽取算法
到目前為止,我們只使用簡單,高度隨機的抽取算法。 在本節中,我們來看一下其他的一些抽取算法。
確定性
如果每個元素一個接一個的抽取出來的話,那么這個圖表在這種微不足道的情況下是什么樣的?
請注意,對于玩家來說,隨機抽取和確定性抽取的感覺非常不同。其中一個原因是能夠計算出玩家想要某件東西所需的努力。雖然這些模擬沒有辦法建模。他們只能告訴你玩家得到了什么。
觀察:
· 與簡單模擬相比,最佳抽取率要低得多。 這也導致平均時間較短。
· 讓所有玩家都能輕松獲得所有的碎片。
保底系統
平滑抽取系統方差的一個常見方法是對設置一個下限。這樣會產生如下圖形:
觀察:
· 圖在這里下降得更為顯著。
· 很容易參與,讓所有玩家都能獲得所有物品。
· 最佳平均時間與簡單模擬的平均時間非常接近,但是方差要小得多。所有的玩家都有非常相似的體驗,導致他們得到所有的碎片,然后離開。
· 所以,雖然所有的玩家都接近平均水平,但是沒有玩家花費比平均水平多的多的時間。
· 這里的最佳抽取率比簡單模擬的最佳抽取率要低。
從我個人的觀點來看,我不喜歡游戲做到了這一點,而不向玩家明確的告知,因為我覺得它會加強賭徒的錯覺。我也覺得讓底更加明確是一個更好的體驗,因為如果這個信息是隱含的,玩家不會覺得那些得到差結果的抽取會幫助他們得到好結果的抽取。
口袋妖怪的紅色和藍色
另一個選擇是將你的池子劃分成很多較小的池子,然后讓玩家在他們之間移動。 這本質上就是PokemonRed做的事情,還有“Heroes Charge”等游戲所做的事情。這會使流程變得更加流暢,因此圖形更像是這樣:
當然,實施這樣一個方案的方法有很多,所需的工作量取決于你想做的分離類型。
觀察:
· 這里的最佳平均時間遠遠高于任何其他模擬的最佳平均時間。
· 最佳抽取率低于任何其他模擬的最佳抽取率,但僅略低于上限。
· 再次,玩家在最佳情況下,最終會得到所有的碎片。
結論
這當然是一個非常不完整的分類法。 但是,希望你可以考慮玩家如何與你所做的抽取系統進行互動,以及這些解決方案的潛在問題和好處。
【來源:Gad 】
1.砍柴網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;2.砍柴網的原創文章,請轉載時務必注明文章作者和"來源:砍柴網",不尊重原創的行為砍柴網或將追究責任;3.作者投稿可能會經砍柴網編輯修改或補充。