如何設計遊戲分類機制,以便更好的兼容各種平台和媒體已經慣用的分類,並前後兼容?
我和朋友在做一個遊戲搜索引擎,涉及到如何給世界上所有遊戲分類的問題,想拋出來聽聽知乎上大家的見解。
我有3個需求:
- 能夠兼容各種平台和媒體已經慣用的分類,能嚴謹的形成對應:是考慮到平台(如App Store和Google Play等)和媒體(如騰訊遊戲,有趣點http://www.youqudian.com/,遊戲時光http://weibo.com/vgtime,GiantBomb,GameRankings,MobyGames等)都有自己的分類法且彼此間未必一致。
- 能夠向前兼容:是考慮到未來有創新的遊戲類型會出現
- 能夠向後兼容:是有很多古舊,或特別的遊戲類型存在,如光線槍遊戲,或遊戲合集。
GameRankings是大類下面分子類
http://www.gamerankings.com/browse.html// 僅列出Action &>&> Shooter
Action &>&> ShooterAction &>&> Shooter &>&> First-PersonAction &>&> Shooter &>&> First-Person &>&> ArcadeAction &>&> Shooter &>&> First-Person &>&> TacticalAction &>&> Shooter &>&> Light GunAction &>&> Shooter &>&> RailAction &>&> Shooter &>&> Shoot-"Em-Up
Action &>&> Shooter &>&> Shoot-"Em-Up &>&> HorizontalAction &>&> Shooter &>&> Shoot-"Em-Up &>&> Top-DownAction &>&> Shooter &>&> Shoot-"Em-Up &>&> VerticalAction &>&> Shooter &>&> Third-PersonAction &>&> Shooter &>&> Third-Person &>&> ArcadeAction &>&> Shooter &>&> Third-Person &>&> TacticalGiantBomb則採用不太一樣的方法http://www.giantbomb.com/games/ 國外最全的遊戲信息庫MobyGames也有獨特的方法http://www.mobygames.com/browse/games它只設了一級genre(如Fighting, Fishing),此外另設theme用於表示遊戲主題(如Crime, Horror, Superhero)。
他只有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 ViewSoldier.Shooter.Third Person ViewSoldier.Drive.xxxxxSoldier.Pilot.xxxxxxWarrior.Fighter.xxxx
Warrior.Hero.xxxxCommander.Kingdom.xxxxx
Commander.General.xxxxCommander.Captain.xxxx。。。。。
職業.遊戲方式.視角 三級分類我建議使用要素標籤法 而不是樹狀分類例如cod按樹狀分類可以叫fps
而按要素標籤法可以是 第一人稱視角,射擊等遊戲要素的組合
當出現新類型遊戲時,樹狀分類能做的只有加分類,而要素標籤卻可以組合描述,或者添加新的要素而使用者也能藉此找到更符合口味的遊戲用遊戲機制來劃分是最合理的方式,如果出現新類型就加新類目,無法歸類的就歸到Others好了。
Themes是借用電影分類的機制,這個是不嚴謹的,也不需要嚴謹。電影的歸類相當混雜,有內容分的:偵探片、愛情片、災難片、歷史片、體育片、傳記片等;有表現分的:音樂片、歌舞片、戲曲片等;還有根據觀眾來分的,如成人電影、兒童片等;還有為了市場營銷方便貼的標籤,往往是因為製片商為了影片票房利潤而大量仿製而成為類型的,如西部片、功夫片、警匪片。
於是我們可以看到女性電影、兒童電影、戰爭電影、愛情電影、喜劇電影、政治電影、傳記片、紀錄片等各種各樣的分類邏輯。
除了部分約定俗成的叫法以外,我覺得這種分類毫無意義,只是一種強行定義的標籤,譬如很少有人會說我最近玩了一款Futuristic Shooter Spy遊戲。
我支持大類下面分小類的常規做法。先分平台吧 然後再分子類
推薦閱讀:
※為什麼爐石傳說很多卡組被稱為毒瘤?
※為什麼某些LOL技術好的主播直播虐白銀黃銅分段?
※為什麼索尼不把the last of us跨平台到psv?
※Unity做遊戲有哪些比較好的代碼管理方式?
※dota2中如果所有英雄都把大招去掉,會怎樣?