[個(gè)人獨(dú)立游戲] 密閉之城2.0-開發(fā)日志02-廉價(jià)版處決系統(tǒng)
前言
該專欄系列存在的目的在于.
[1] 對于關(guān)注密閉之城2.0的小伙伴, 文章可以更細(xì)節(jié)的了解小盒當(dāng)下的開發(fā)進(jìn)度.
[2] 對于同是游戲制作人的朋友, 這便是一種純粹的經(jīng)驗(yàn)交流分享.
我很期待大家的來訪和反饋. 你們的批評與建議, 始終是我不斷向前邁進(jìn)的動力.

正題
作為開發(fā)日志的第二篇, 正如標(biāo)題所言, 能帶來強(qiáng)力正向視覺反饋的<處決系統(tǒng)>將是本文的核心內(nèi)容.相較于玩家的視角, 本篇文章可能對同是游戲開發(fā)領(lǐng)域的朋友更具參考意義.

前期準(zhǔn)備
首先, 在著手制作處決系統(tǒng)之前, 需要先去了解兩件事.
第一件事: < 常見的處決系統(tǒng)是怎樣設(shè)計(jì)和運(yùn)作的? >
我們可以簡單的將它理解為, 這就是一組玩家與敵人同步播放的動畫.
相較于傳統(tǒng)的打擊交互, 鑒于處決動畫是配套制作的完全契合型動作,
因此, 它能夠?qū)崿F(xiàn)更為細(xì)膩真實(shí)的打擊感和更為強(qiáng)烈的視覺沖擊感.
但這類動作近乎不具備可復(fù)用性, 導(dǎo)致了, 制作傳統(tǒng)處決, 相對于程序的部分,
更多的工時(shí)和資金消耗是傾注在了動作構(gòu)建方面.
第二件事: <常見的處決系統(tǒng)適合于我的獨(dú)立游戲嗎?>
通過了一些, 簡單的思維導(dǎo)圖設(shè)計(jì), 和程序效果嘗試.
我得到了一個(gè)非常喜人的結(jié)果: 誒, 完全不適合.
具體怎么不合適呢, 我將這個(gè)大問題拆開, 咱們細(xì)聊一下.

第一個(gè)問題: 消耗不起.
首先, 傳統(tǒng)的處決動畫制作方式, 在工時(shí)和財(cái)力上都是獨(dú)立開發(fā)者所消耗不起的.
即便, 自身具有一定的動作制作能力, 先不說是否可以達(dá)到專業(yè)動作工作室的質(zhì)量等級,
想要實(shí)現(xiàn)處決自由,動作隨意擴(kuò)充, 僅是時(shí)間上的成本消耗, 就是難以估量的. 更不用說資金的耗費(fèi)了.
制作一款游戲需要多種工序相互配合, 不可能將大部分時(shí)間都押在一個(gè)處決系統(tǒng)之上..
那么可以依靠購買現(xiàn)成的[處決類動作包]解決嗎?
而這就引出了第二個(gè)問題.
第二個(gè)問題: 缺乏可控性
無論是Unity還是虛幻都有屬于自己的商用資源站.
雖然可以買到一些處決動作包,
但是這其中也包含著大量的問題.
[1] 首先, 資源是極其有限的, 且質(zhì)量參差不齊. 它們無法完美契合自己的想法.
[2] 現(xiàn)成的商用處決動作包, 因?yàn)槭且徽淄暾膭幼? 而很難對其進(jìn)行修改和擴(kuò)充.
[3] 無法發(fā)揮個(gè)人的想象力去隨意組合動作, 只能依靠他人的創(chuàng)意是最難以接受的一點(diǎn).
最后一個(gè)問題: TPS類動作射擊游戲的不適用.
大家可以去回憶一下自己玩過的大部分具備處決機(jī)制的游戲.
它們的觸發(fā)特點(diǎn)是什么.
一般都是敵人陷入特定的脆弱狀態(tài)后, 給予提示.
然后玩家靠近到極近的距離, 才允許觸發(fā)處決.
而這樣做的緣由就在于,
就像我在一開始說的, 傳統(tǒng)的處決系統(tǒng), 本質(zhì)上是一套完全契合的交互動畫.
距離,角度,時(shí)間差上稍有差錯(cuò), 都會導(dǎo)致視覺效果異常.
?

而游戲是動態(tài)環(huán)境, 玩家與陷入脆弱狀態(tài)的敵人之間的通路可能存在著各種各樣的障礙.
距離會產(chǎn)生極大的不確定性.
所以, 最簡單的解決方案就是, 要求玩家靠近到足夠近的位置, 再觸發(fā)處決,
從而避免了以上狀況的發(fā)生.
?
對于近戰(zhàn)為主和節(jié)奏相對較緩的射擊游戲而言.
需要靠近敵人, 再近戰(zhàn)處決, 并不是什么問題.
而對于類似我這樣的偏快節(jié)奏的動作射擊游戲, 就是很大的問題了.
面對中遠(yuǎn)距離陷入脆弱狀態(tài)的敵人
玩家需要取消瞄準(zhǔn), 并跑步靠近目標(biāo), 最后實(shí)施近戰(zhàn)處決,
在戰(zhàn)斗感受上, 會形成極其強(qiáng)烈的操作割裂感.
綜上所述, 這3個(gè)問題的出現(xiàn), 從根源上導(dǎo)致了我的游戲無法使用傳統(tǒng)的處決機(jī)制.

既然問題已經(jīng)拋出來了, 那么能夠解決嗎?
事實(shí)證明是可以的.
?

<最終解決方案>
經(jīng)過一晚上時(shí)間的思考, 我想到了這樣的一套解決方案.
首先, 跳出傳統(tǒng)的處決系統(tǒng)的交互動畫定義,
我將處決行為設(shè)想成一種:? 對位置, 角度, 交互時(shí)間差, 都較為
苛刻的近戰(zhàn)系統(tǒng)去考慮.

而有關(guān)近戰(zhàn)相關(guān)的程序, 我在做破甲模式的時(shí)候, 已經(jīng)完成了一套很成熟的方案.
這套方案的主要功能便包含了, 自動對象篩選, 角度差, 位置差控制, 和通路結(jié)果判斷.
正好可以復(fù)用這方面的邏輯, 只需稍作改進(jìn), 便形成了新處決系統(tǒng)的底層.
?

為了能讓處決系統(tǒng)具有更多的自定義和擴(kuò)展空間,
我將處決系統(tǒng), 再次拆分成了 預(yù)處決和處決 兩套行為邏輯.
而每一套行為之中, 都可以填入數(shù)個(gè)單一動作,
并通過參數(shù)控制的方式, 自定義組合多個(gè)動作進(jìn)行隨意混合,
從而實(shí)現(xiàn): 先構(gòu)思動作想法, 然后依靠程序參數(shù)調(diào)配, 形成動作模式的完整過程.
?
舉例來說:
[1] (身體前沖+高段掃腿+低段掃腿+轉(zhuǎn)身恢復(fù))+(暈眩搖晃+身后后仰+后仰摔倒+布娃娃模式) = 處決動作A<切割分離>
[2] (身體前沖+蓄力上勾拳+下段魔法攻擊+站立恢復(fù))+(眩暈搖晃+受力浮空+浮空維持+快速下墜+布娃娃模式) = 處決動作B<重力翻轉(zhuǎn)>
?
通過程序控制的方式, 只讀取每個(gè)單一動作的一部分進(jìn)行再重組,形成一套想象中的互動行為, 最終讓玩家誤以為這本就是一套完整的處決動畫.

剩下的是高級細(xì)節(jié)表現(xiàn)
傳統(tǒng)的處決方案, 為了更好的視覺效果和沖擊力展現(xiàn), 會有專屬的鏡頭設(shè)計(jì), 時(shí)間控制, 事件觸發(fā), 等多屬性進(jìn)行裝飾化處理.
?
為了解決這方面的問題,
我又單獨(dú)寫了個(gè)工具, 讓自己可以輕松的自定義調(diào)配大量屬性, 最終實(shí)現(xiàn)細(xì)節(jié)部分的效果雕刻.
這些屬性, 我會在下面單獨(dú)貼出來, 用作各位開發(fā)者朋友進(jìn)行參考使用.



最后
完成以上這些內(nèi)容之后,
我按照個(gè)人的美感, 嘗試性的先做了6套不同的處決動作,
接著, 為了驗(yàn)證這套處決系統(tǒng)的視角效果接受程度.
我便隨意錄制了一段純處決系統(tǒng)展示視頻, 上傳到了B站之上.
經(jīng)過30萬次的播放, 產(chǎn)生的過千條評論反饋.
數(shù)據(jù)匯總形成的清晰權(quán)重圖表明, 雖然還有一些細(xì)節(jié)需要進(jìn)一步打磨.
但整體來說, 這已經(jīng)算是一套較為合格的處決機(jī)制了.
很欣慰, 這些天的努力沒有白費(fèi).
?

觀測角度的不同
玩家們?nèi)ビ^看這段視頻時(shí), 會很自然的去關(guān)注外在的視覺表現(xiàn)效果.
會因看到一個(gè)符合自己感受的處決動畫, 而感到開心.
?
而站在開發(fā)者的視角, 真正讓我開心的是這套邏輯的成功運(yùn)轉(zhuǎn).
它證明著, 即使僅擁有大型游戲開發(fā)公司的數(shù)千分之一的資金和數(shù)百分之一的人力.
我們獨(dú)立游戲開發(fā)者, 也能夠創(chuàng)造出一套還算合格的,?且可隨意擴(kuò)展的處決系統(tǒng).
并最終實(shí)現(xiàn)[不再受到資金匱乏限制]的處決自由.
?
獨(dú)立游戲開發(fā)者 - 堆小盒
2022 - 3 - 23


小盒是一名全職獨(dú)立游戲開發(fā)者, 目前項(xiàng)目開發(fā)資金完全在依靠以下方式維持.
對我的游戲感興趣的小伙伴, 可以前來支持一下哦. 蟹蟹大家~
[1] 密閉之城1.0 https://store.steampowered.com/widget/1095260/
[2] 密閉之城2.0 - 愛發(fā)電開發(fā)資金資助?https://afdian.net/@littlebeangames?