漢家松鼠CG:聊聊開發了五個年頭的《模擬江湖》“難”做在哪?
大家好,《模擬江湖》從立項到現在已經第五個年頭了。
我們內部開會的時候開玩笑說:五年!讀個大學加去英國讀一年研究生都畢業了,一個遊戲怎麼還沒做出來?
帶著這種一半自我戲謔一半傷感的情緒,我們實在是應該坐下來好好思考和反思一下,這個遊戲到底難做在哪?
說實話模擬江湖立項的時候,想法特別簡單,因為我們玩了一款遊戲叫王權。覺得這種向左滑、向右滑來決策遊戲事件走向的玩法特別有趣。也適合模擬很多武俠劇情中的經典取捨,畢竟很多時候武俠的經典也是來源於選擇,善惡一念間。
《王權》
這樣的設計其實是典型的內容消耗型設計,所有的玩家可以遊玩內容來源於遊戲設計師的手動填寫,所以我們第一版做出來的手機版模擬江湖也是充分的體現了這一點:在新手村體驗相當不錯,是遊戲設計者一個字一個字的設計,每個任務如何串接、不同任務中的邏輯是怎樣都是經過精心設計。
而到了門派養成階段,就相對來說欠缺可玩性,因為內容供給不足,加上游戲通過時間推進的核心機制設計比較簡單。
《模擬江湖》老版本
當然,如果這樣做下去,把門派養成階段做好,後續再加入更多的可體驗的“新手村”級的內容,做更多的可選主角,這樣會是一個好遊戲嗎?
毋庸置疑的,這會是一個不錯的遊戲。
如果是這樣持續去完成遊戲的話,我們可以簡單的把這個遊戲歸結為典型的《俠客風雲傳》式的遊戲:有限的章節式的開放地圖+時間推進養成玩法。實際在測試中獲得一部分玩家好評的新手村體驗,也可以稱之為俠客風雲傳/武林群俠傳的新手村翻版。
《俠客風雲傳》
我們根據測試結果測算和評估,遇到一個比較尷尬的情況。這種玩法在手機平臺上做的話,喜愛的玩家會比較小眾,無論是做內購式的付費還是一次性買斷,如果不做比較大的調整都大概率回不了本。而如果在PC平臺釋出的話,美術品質和遊戲性又和主流的武俠單機有一定差距。
基於市場考慮的原因,我們還是忍痛決定重新開發模擬江湖整個遊戲。雖然漢家松鼠並不是一個以盈利為第一目標的遊戲公司,但一款遊戲是否在市場上正向迴圈,對專案團隊和整個工作室都是至關重要的。
在這時候,其實我們還是有相當多的靈感和想法,只是之前並沒有那麼大的勇氣和信心去立一個複雜度更高的PC遊戲。
《部落與彎刀》
但《部落與彎刀》的成果其實一定程度提升了我們做PC遊戲的信心,它雖然是一次相對比較淺的PC遊戲開發嘗試,但我們內部還是願意把它定義為比較成功的遊戲。這個“成功”是指整個團隊從來沒有涉足過開發PC遊戲,沒有steam開發和發行經驗的情況下,我們做出了一個還不錯的市場成績,以及初步探索了“規則驅動”世界(規則驅動對比的是由金X、漢家江湖等為代表的“人工開放”世界)的設計。
雖然部落與彎刀中也有相當多的被玩家詬病的地方,比如主線劇情文案略顯小學生、戰鬥節奏雜亂、開局難後期平推等等。但毋庸置疑這款遊戲的複雜度,可擴充套件度是我們所有制作的遊戲從未去探索過的高地。
可能會有同學問,看起來部落與彎刀也不復雜啊,這遊戲做起來哪難了?
部落與彎刀首先是一個開放世界,它存在背後的運算邏輯,整個世界的演化是動態的。也就是說,沒有玩家參與的情況下,世界背後的邏輯也是在計算的。比如什麼部落出兵攻打其他人了,比如哪個英雄加入哪個部落了,抑或哪幾個英雄路上遭遇了互相結仇等等。
我們開發這款遊戲有相當長一段時間,就是新增各種規則然後“看海”。
有玩過P社遊戲的同學可能會有這種體驗,就是你找一個開局,然後直接推進時間,什麼都不幹,你會發現世界會發生很多有意思的演化。
P社遊戲《十字軍之王3》
我們覺得這種體驗蠻有意思的,這一方向的玩法前景也非常誘人:給一個世界注入一堆規則,讓這個世界能夠邏輯自洽的跑起來,玩家可以由此參與其中。甚至說得更遠一點,這或許是炒得比較熱的“元宇宙”的一種形態吧。
《部落與彎刀》在開發中由於時間、精力、團隊經驗不足,我們有非常多的取捨和簡化,所以說針對規則驅動世界我們僅僅是淺嘗輒止,但在這一個方向,我們認為可以繼續進行嘗試。
我們很容易展開一些美好的想象:如果是一個帶著各種規則的江湖,俠客、門派、市井都是動態變化,能夠通過世界規則演算演化出來一些經典場景,比如金庸先生筆下《倚天屠龍記》中的六大派圍剿光明頂、《笑傲江湖》的辟邪劍譜路線和陰謀等等,那豈不是妙哉?
懷著這樣美好的憧憬,我們步入了一個深坑。。
理科生做遊戲的方法論,說起來特別好理解:我們總是希望定義一套“公理”,然後在“公理”上可以推匯出各種“定理”,繼而再生長出整個遊戲的內容。
當我們開始思考整個世界如何搭建的時候,那麼如何在數學層面去抽象整個世界,變得很重要:一方面是它是整個遊戲設計的“內功心法”,另一方面它也是如何去落地整個系統的重要參考。
我們可以很自然去拆解一個典型的俠客在AI世界中的行為路徑的問題。比如“林平之”的一個人生目標是最終要獲得“辟邪劍譜”,所以他可能需要先收集劍譜的線索。該線索可能分佈在江湖幾處,獲得每個線索的條件各不相同,比如有的需要戰勝某個角色、有的需要“觀察力”大於多少、有的可能需要等某個時機守備鬆懈了偷偷摸進去…… 而要達到以上條件,“林平之”需要分別提升武功、觀察力、去找夜行衣等等。最終整個遊戲的各種邊界條件和玩家可以執行的行為,可以構成一張巨大的網路,“林平之”需要在已知的各種條件下去尋找一個相對最優解完成他的這個人生目標。
而“林平之”可能有若干個人生目標,江湖上有無數個“林平之”,他們在達成各自的人生目標會產生互動(互相結交、對抗或者仇殺等),那麼整個江湖各個俠客在去達成自己的人生目標時,就可以生動起來。
聽起來只要行為可列舉,那麼當下最有路徑一定是存在的。於是我們翻閱各種論文,選擇用GOAP演算法來做一個簡單的demo。
GOAP演算法示例
做出來的結果是,回合制走格子的情況下,玩家每走一格需要卡5-10秒……而且這還是行為相當有限的情況下。
《模擬江湖》開發中DEMO
Emmm,說到這裡,其實做這種型別遊戲AI有一種比較取巧的方法(也可以在一定情況下獲得好的結果),就是把行為概率化。比如我們可以在構建行為搜尋樹的時候向下搜尋若干層,將結果作為“導向”來決定選取更優結果的概率。
舉個通俗的例子:比如張三現在目標是想“賺錢”,那麼發現去A地可以賺300塊錢,去B地可以賺100塊錢。但由於我不確定後續哪個地方更“賺錢”(因為後續計算過於複雜,當下計算深度不夠),那麼我們可以選擇3/4的概率去A地,1/4的概率去B地,這樣可能可以模擬出來看起來還不錯的結果。
毫不避諱的說,部落與彎刀使用的就是類似的演算法。但這樣的結果我們已經基本驗證過,最終看起來也只是一堆人在地圖上隨意跑動,比較難在演算中發生有前後邏輯連線的故事。(當然,嚴格來說也未嘗不可行,理論上如果邏輯能夠連續一大段時間,還是可以由演算法生成人和人之間相關的故事的。)
進一步想,我們能否通過機器深度學習建立起離線模型來實現呢?為此我們拜訪了國內做遊戲機器學習最好的團隊,我們認為還是有相當的可能性做出來。但還是需要一套更合理的底層數學評估函式,來定量的描述俠客的“人生目標”——為這塊我們投入了不少的研發精力,用以來搭建一個比較理想可行的規則驅動開放世界AI底層。
好了,以上只是舉一個例子說明我們在《模擬江湖》2020年夏重製以來我們的一些陷入的思考。這種型別的創意和嘗試我們在這兩年過程中進行了非常多,我們自己反思和總結,這也是一個理想主義的團隊做創新的必經之路。因為創新很多時候不是靈光一現,而是你對99種方法做了嘗試,最後選了第100種可行的方法來落地。
比如地圖的展開模式我們有嘗試回合制/實時制,比如總體遊戲體驗我們嘗試過是偏向CRPG還是偏向SLG/RTS,比如遊戲中的演出我們嘗試過是否使用更精彩的偏向日式的AVG等等……
有趣的是,我們在開發過程中研究了相當多的遊戲。我們發現作為玩家和作為開發者視角,很多遊戲開發思路和玩法呈現是完全不一樣的,比如我們在思考AI勢力和玩家勢力,甚至玩家為AI勢力打工的情況下,大世界的演化典型遊戲《太閣立志傳》,發現他的玩家為AI打工的各種任務派發體系居然完全是不和世界演化資料相關的,而是策劃憑空硬K出來的。
《太閣立志傳5》
好了,不扯遠了。所幸的是,目前我們已經完全確定了遊戲的最終形態和完成路徑。雖然它的樣子距離我們最初的理想已經不是那麼一樣,中間開放世界規則部分和實際提供給玩家的玩法核心部分有不少取捨。但我還是可以很負責任的說,它會是一款我們心中好的遊戲。
《模擬江湖》開發中版本
好了,今天先聊到這裡,如果大家有什麼更多想知道的也可以留言,我將持續給大家保持同步我們的最新開發進展。遊戲已經在收尾階段,我們會在不久的時間內展開玩家測試,另外也敬請期待我們的Steam官網上線。
相關文章
- 漢家松鼠CG:《漢家江湖2》的開發進度披露和思考
- 小人物的武俠世界,漢家松鼠門派經營遊戲《模擬江湖》開發中…遊戲
- 前端效能優化總結,這也是我做程式設計師的第五個年頭了前端優化程式設計師
- 《Pokémon GO》五年了,下一個爆款AR手遊在哪兒?Go
- CSS段落開頭縮排兩個漢字CSS
- IM伺服器:開發一個高併發的IM伺服器難在哪伺服器
- 中國做3A遊戲到底難在哪裡?遊戲
- 下一個五年,儲存的生意在哪裡?
- iOS 11開發教程(五)iOS11模擬器介紹二iOS
- 在一個公認難做的品類裡,網易已經當了兩年的TOP
- 接手了一個外包開發的專案,我感覺我的頭快要裂開了~
- Openwrt使用Qemu模擬開發。
- 五年落地8千家B端客戶,獲五家國有銀行注資,這家估值20億美元的AI公司做對了什麼?AI
- Web滲透測試怎麼做:安全專家模擬黑客行為講述了滲透測試的原理Web黑客
- 松鼠拼拼模式軟體系統開發模式
- 模擬 easywechat 開發騰訊的 ocr 包
- 在這款模擬遊戲裡,做一個快樂的農民遊戲
- Unity遊戲示例來了,用Unity開源遊戲資源做遊戲,遊戲開發不再難!Unity遊戲開發
- 做過頭了會怎樣?
- InfoQ:模型驅動開發在哪裡成功了?模型
- 程式設計師:難做但又必須做的 9 件頭疼事程式設計師
- 陳星漢:做打動一家人的遊戲 這個行業才會被尊重遊戲行業
- 我們為什麼愛上了模擬經營類遊戲?聊聊模擬經營的魅力所在遊戲
- “俠”已成痴:一個西北漢子的硬派武俠遊戲夢與他的江湖遊戲
- 用 DELPHI 為 WINDOWS 做一個帶聲音的模擬鬧鐘 (轉)Windows
- modelsim指令碼模擬設計(三)帶標頭檔案模擬指令碼
- 畫江湖之 PHP 多程式開發 【建立一個新的程式】PHP
- 畫江湖之 PHP 多程式開發 [建立一個新的程式]PHP
- 萬事開頭難 - 第一個Android應用Android
- 做Java開發7年,今年9個月時間圓夢餓了麼P7Java
- 讓開發人員接受安全編碼培訓難點在哪?
- 騰訊系吸金,頭條系凶猛,2020年手遊行業開了個好頭行業
- 一個紐西蘭人用了五年業餘時間開發了一個作業系統:Winix作業系統
- 成立15年,《模擬火車》開發商的過去、現在和未來
- 相逢五載,江湖歡聚!《熱血江湖手遊》5週年慶典版本登場
- 加速你的安卓模擬器,讓開發更迅速安卓
- javascript模擬重力感應彈跳,做個不一樣的登陸埠JavaScript
- 椅子捏六天,跳躍做一年 為何開發遊戲這麼難?開發遊戲