如何設計遊戲分類機制,以便更好的兼容各種平台和媒體已經慣用的分類,並前後兼容?

我和朋友在做一個遊戲搜索引擎,涉及到如何給世界上所有遊戲分類的問題,想拋出來聽聽知乎上大家的見解。

我有3個需求:

  1. 能夠兼容各種平台和媒體已經慣用的分類,能嚴謹的形成對應:是考慮到平台(如App Store和Google Play等)和媒體(如騰訊遊戲,有趣點http://www.youqudian.com/,遊戲時光http://weibo.com/vgtime,GiantBomb,GameRankings,MobyGames等)都有自己的分類法且彼此間未必一致。
  2. 能夠向前兼容:是考慮到未來有創新的遊戲類型會出現
  3. 能夠向後兼容:是有很多古舊,或特別的遊戲類型存在,如光線槍遊戲,或遊戲合集。

GameRankings是大類下面分子類

http://www.gamerankings.com/browse.html

// 僅列出Action &>&> Shooter

Action &>&> Shooter

Action &>&> Shooter &>&> First-Person

Action &>&> Shooter &>&> First-Person &>&> Arcade

Action &>&> Shooter &>&> First-Person &>&> Tactical

Action &>&> Shooter &>&> Light Gun

Action &>&> Shooter &>&> Rail

Action &>&> Shooter &>&> Shoot-"Em-Up

Action &>&> Shooter &>&> Shoot-"Em-Up &>&> Horizontal

Action &>&> Shooter &>&> Shoot-"Em-Up &>&> Top-Down

Action &>&> Shooter &>&> Shoot-"Em-Up &>&> Vertical

Action &>&> Shooter &>&> Third-Person

Action &>&> Shooter &>&> Third-Person &>&> Arcade

Action &>&> Shooter &>&> Third-Person &>&> Tactical

GiantBomb則採用不太一樣的方法

http://www.giantbomb.com/games/

它只設了一級genre(如Fighting, Fishing),此外另設theme用於表示遊戲主題(如Crime, Horror, Superhero)。

國外最全的遊戲信息庫MobyGames也有獨特的方法

http://www.mobygames.com/browse/games

他只有8個genre(Action, Adventure, Educational, Racing / Driving, Role-Playing (RPG), Simulation, Sports, Strategy)但是輔以themes(AdultAnime / MangaArcadeBattleMechBoard / Party GameCards / TilesCasinoChessComicsCyberpunk / Dark Sci-FiDetective / MysteryFantasyFightingFlightGame ShowHelicopterHistorical Battle (specific/exact)HorrorInteractive FictionInteractive Fiction with GraphicsInteractive MovieManagerialMartial ArtsMeditative / ZenMental trainingNavalPaddle / PongPersistent UniversePinballPost-ApocalypticPuzzle-SolvingReal-TimeRhythm / MusicSci-Fi / FuturisticShooterSpy / EspionageStealthSurvival HorrorTankTrainTurn-basedVideo BackdropVisual Novel)並且單列各種體育遊戲類型(BaseballBasketballBike/BicyclingBowlingBoxingCricketFishingFootball (American)GolfHockeyHorse / DerbyHuntingMotorcycleOff-Road / Monster TruckOlympiadPaintballPing Pong/Table TennisPool / SnookerRugbySailing / BoatingSkateboardingSnowboarding / SkiingSoccer / Football (European)SurfingTennisTricks / StuntsVolleyballWakeboardingWrestling)


我覺得這是個數據結構問題。

用繼承樹顯然是要死翹翹的,就算加上多重繼承也沒戲,更不要提多重繼承本來就很難理解了。裝飾者模式是一個可以考慮的方案,在大類型上面加上小的特徵進行修飾。不過在大類型本身逐漸發生演化的情況下也不見得適用。用tag分類是個包容力比較強的做法,雖然仍然需要消耗精力去管理tag之間的包含和互斥關係(也可以乾脆不管理),但至少迴避了「XX遊戲到底是FPS還是RPG」這樣的撕逼問題。


『遊戲類型』(genre)本質上是一種對遊戲運作/互動機制和玩法的抽取和抽象,剝離美術、敘事、比喻、意義、世界觀之類溫暖動人(塑造體驗)的表皮血肉(或者說『內容』),只留下直白生硬、遺傳自前人、得到過驗證和培育的骨架構造,這跟電影和小說基於內容體驗的分類完全不同。

正因為本質是機制和玩法,就如同絕大部分新技術都是在現有技術基礎上發展組合起來的(少數來自學術理論領域的突破),大部分類型之間必然有歷史發展的繼承關係(比如從實時策略到塔防,從平台捲軸到跑酷),有從共通到特化的從屬關係(比如從模擬到飛行模擬到太空飛行模擬),有從簡單到複合的組合關係(比如從角色扮演到動作角色扮演到射擊角色扮演),即使在一款遊戲內,也有從核心到補充的主次表裡關係(SRPG里角色扮演&>策略/戰術,Terraria里平台&>沙盒,刺客信條里動作&>冒險解謎&>開放世界),而且那些原初、共通、單一、在其出現時真正『創新』的類型,幾乎都來自技術上的發展變遷(新設備、新平台、新交互),數量並不多,所以把所有這些元素和關係整合到一起,一定是樹狀的,只會因為加入的元素和關係不同、節點的定義和命名不同而導致樹的形狀有所變化。比如可以像這樣:

『標籤』本質上是離散的元素和特徵,更類似語義網裡的元數據,而不是連貫、系統的『意義』本身,在解決方案里完全指望標籤其實是一種無理解、無系統和懶惰

另一方面,對於面向普通用戶的產品來說,最重要的不是『理解』,而是發現和查找的『效率』和『直覺』,所以要麼對樹狀分類中不同層級的節點採取不同的形式(比如pinterest的hashtags + 主分類 + custom categories + guided search),要麼就不能用單一的樹狀分類,而應該由多個簡單扁平的系統合在一起來滿足需求(比如steam的genre + feature + user tag + ....)

比如我自己雖然在steam里搞了樹狀分類,但日常使用時還是更喜歡win8 tile的平鋪:


不用分類,改用關鍵詞不是更好么


有點意思,不過你這個兼容分類就困難了。

大概只對未來的新遊戲有意義

遊戲製造和市場實際上一直分為歐美和日本兩個不同的世界,兩邊的分類也完全不同。你要是兼容了歐美的,就不可能兼容日本。越早的遊戲兩邊差異越大……你不要想著只用歐美的標準就可覆蓋所有遊戲,因為實際上很多遊戲名作根本就沒有歐美版。

真要能向前兼容,除非你手工把過去的遊戲都重新分類……

我覺得唯一好分的就是平台,因為總體數量也不多。


要分類就按交互性分——遊戲畫面再華麗,交互性還是核心。

遊戲分類的複雜性在於一個遊戲的交互性勢必有很多不同的「元素」,而「元素」本身又可以如生物那樣界門綱目科屬種做分類樹(或者 DAG),比如我之前所「如何評價」過的 Ori 可以這麼拆分

  • 場景層次:唯一
    • 實時交互 → 平台遊戲
    • 實時交互 → 實時戰鬥
    • 二維場景 → 側視角 → 單一準連續地圖(上面三個合一就是所謂的 Metroidvania)
    • 角色代入性 → 單一主角
    • 角色代入性 → 經驗值升級系統
    • 角色代入性 → 有天賦系 → 線性或多線性


邀請我作甚!這題我就看看,不能答。

因地制宜很重要,主機遊戲的資料庫分類和頁游的,或者是手游的肯定相去甚遠。只有自己找方法了。


如果閑的蛋疼,就用 語義網 。(像 freebase) 那樣。

我覺得比較好的是 知乎 的 這種 有向無環圖的標籤形式。

還嫌麻煩可以用兩層標籤的形式。大類分一層,比較具體的常用指稱(比如 第一人稱主視角射擊這種) 都放在第二層。

總之用標籤而不是分類的話會大大增加兼容性,不管你是 genre 啊 theme 啊 平台啊什麼的貼標籤就可以了,就看標籤系統怎麼設計。


我自己的分類

Soldier.Shooter.First Person View

Soldier.Shooter.Top View

Soldier.Shooter.Third Person View

Soldier.Drive.xxxxx

Soldier.Pilot.xxxxxx

Warrior.Fighter.xxxx

Warrior.Hero.xxxx

Commander.Kingdom.xxxxx

Commander.General.xxxx

Commander.Captain.xxxx

。。。。。

職業.遊戲方式.視角 三級分類


我建議使用要素標籤法 而不是樹狀分類

例如cod

按樹狀分類可以叫fps

而按要素標籤法可以是 第一人稱視角,射擊等遊戲要素的組合

當出現新類型遊戲時,樹狀分類能做的只有加分類,而要素標籤卻可以組合描述,或者添加新的要素

而使用者也能藉此找到更符合口味的遊戲


用遊戲機制來劃分是最合理的方式,如果出現新類型就加新類目,無法歸類的就歸到Others好了。

Themes是借用電影分類的機制,這個是不嚴謹的,也不需要嚴謹。電影的歸類相當混雜,有內容分的:偵探片、愛情片、災難片、歷史片、體育片、傳記片等;有表現分的:音樂片、歌舞片、戲曲片等;還有根據觀眾來分的,如成人電影、兒童片等;還有為了市場營銷方便貼的標籤,往往是因為製片商為了影片票房利潤而大量仿製而成為類型的,如西部片、功夫片、警匪片。

於是我們可以看到女性電影、兒童電影、戰爭電影、愛情電影、喜劇電影、政治電影、傳記片、紀錄片等各種各樣的分類邏輯。

除了部分約定俗成的叫法以外,我覺得這種分類毫無意義,只是一種強行定義的標籤,譬如很少有人會說我最近玩了一款Futuristic Shooter Spy遊戲。

我支持大類下面分小類的常規做法。


先分平台吧 然後再分子類


推薦閱讀:

為什麼爐石傳說很多卡組被稱為毒瘤?
為什麼某些LOL技術好的主播直播虐白銀黃銅分段?
為什麼索尼不把the last of us跨平台到psv?
Unity做遊戲有哪些比較好的代碼管理方式?
dota2中如果所有英雄都把大招去掉,會怎樣?

TAG:遊戲 | 遊戲設計 | 遊戲開發 | 分類 | 遊戲推薦 |