官术网_书友最值得收藏!

第80章 開(kāi)發(fā)中的困難

一般來(lái)說(shuō),一個(gè)2d游戲的攻擊形式,本質(zhì)上都比較死板。

這個(gè)死板主要說(shuō)的是互動(dòng)效果,也就是你在2d游戲里揮動(dòng)武器砍一下,除了對(duì)怪物造成傷害,它基本不會(huì)出現(xiàn)第二種情況。

2d游戲不像3d游戲,業(yè)界最有名的那幾個(gè)開(kāi)發(fā)引擎,像虛幻和Unity,更多都是為3d游戲開(kāi)發(fā)服務(wù)的。

這些引擎會(huì)自帶一些模擬現(xiàn)實(shí)的物理系統(tǒng),比如最常用的剛體系統(tǒng),就是可以模擬出一個(gè)物體該有的質(zhì)量、空氣阻力、重力影響等等。

無(wú)論你是碰撞到這么一個(gè)剛體,還是將它從高空往下扔,它都會(huì)根據(jù)自帶的物理性質(zhì),產(chǎn)生出非常直接的互動(dòng)效果。

所以說(shuō)在3d游戲里,哪怕你沒(méi)有編寫(xiě)任何的代碼,你揮舞的武器也能發(fā)揮出一些稀奇古怪的效果。畢竟物理系統(tǒng)擺在那,就算你不做格擋之類(lèi)的游戲內(nèi)容,它說(shuō)不定什么時(shí)候也能給你來(lái)一下振刀。

2d游戲可就沒(méi)那么幸運(yùn)了,你3d游戲做把劍出來(lái),那就是真的有這把劍;2d游戲做把劍,實(shí)質(zhì)上劍只是人物身上的一張貼圖,假的很。你就算真砍出去了,靠的也是生成的劍氣判定觸發(fā)器范圍,而不是真的有把劍戳到敵人身上。

“也就是說(shuō),我們要根據(jù)角色的攻擊動(dòng)畫(huà),逐幀調(diào)整他的碰撞體范圍,直至每一幀都吻合動(dòng)畫(huà)顯示出來(lái)的劍氣范圍。”

姜山解釋了接下來(lái)的工作。

到這一步,其實(shí)還屬于正常2d游戲的范疇。

哪怕姜山不說(shuō),團(tuán)隊(duì)其他人根據(jù)網(wǎng)上的視頻教學(xué),或者自己根據(jù)Unity幫助文檔摸索兩天,馬上就能掌握如何實(shí)現(xiàn)2d游戲的人物攻擊。

但空洞騎士的攻擊很有意思,它比許多2d游戲多考慮了一個(gè)維度,那就是它的攻擊系統(tǒng),是融合在平臺(tái)跳躍系統(tǒng)里的!

在場(chǎng)景中許多關(guān)卡,都需要玩家熟練掌握“下劈”這一個(gè)需要點(diǎn)操作量的技巧,才能通過(guò)游戲里的主線(xiàn)流程——沒(méi)錯(cuò),是主線(xiàn)流程!

玩家要是連下劈特殊敵人或者下劈特殊障礙物,來(lái)延長(zhǎng)且增加跳躍幅度的操作都不會(huì)的話(huà),連正常通關(guān)都成問(wèn)題!

這也是空洞騎士被譽(yù)為魂游戲的一大要點(diǎn),那就是這游戲上手是真的需要些門(mén)檻。哪怕在很多玩家眼里,跳在空中的同時(shí),再找準(zhǔn)下墜的時(shí)機(jī)往按住向下方向鍵,再按攻擊鍵一劈,簡(jiǎn)直是有手就行的操作,但輕量且手殘的玩家永遠(yuǎn)占多數(shù),從通關(guān)率就可見(jiàn)一斑。

通過(guò)steam的成就榜可知,空洞騎士在開(kāi)局教程就已經(jīng)勸退了26%的玩家。到了第一次BOSS戰(zhàn)時(shí)又損失了32%的玩家。等到后面一個(gè)接一個(gè)難度越來(lái)越高的BOSS出現(xiàn),空洞騎士通關(guān)率最終也就定格在了18%上。

能在這樣一款近乎千萬(wàn)銷(xiāo)量級(jí)別的游戲中打通關(guān),說(shuō)明你的操作水平已經(jīng)戰(zhàn)勝了百分之八十多的玩家!

毛源也不知道他們將要做的是一款怎樣恐怖的高難度游戲,只聽(tīng)姜山繼續(xù)講解道:

“我相信剛才說(shuō)的攻擊動(dòng)畫(huà)以及如何觸發(fā),你們都是能很容易做到的。”

在理解2d游戲是如何實(shí)現(xiàn)攻擊后,剩下的難點(diǎn)其實(shí)也沒(méi)什么了。

接下來(lái)就是做敵人的受擊表現(xiàn),這一塊也是2d游戲比3d游戲簡(jiǎn)單的地方。在2d游戲中,攻擊劍氣碰撞器只要碰到了敵人,那就在代碼事件中觸發(fā)一次敵人掉血。

同時(shí)敵人會(huì)有一個(gè)僵直的動(dòng)畫(huà)狀態(tài)——在開(kāi)發(fā)引擎里有個(gè)叫做“動(dòng)畫(huà)樹(shù)”的概念,角色的所有動(dòng)畫(huà)狀態(tài)都像一棵樹(shù)一樣,分枝岔葉,“站立”動(dòng)畫(huà)會(huì)連著“行走”動(dòng)畫(huà),所以才能實(shí)現(xiàn)站立與行走這兩個(gè)狀態(tài)之間的銜接。

同理,只要把僵直做成跟其他動(dòng)畫(huà)狀態(tài)沖突,那角色在受擊后也就會(huì)立刻停下別的動(dòng)作,保持僵直一會(huì)兒。

“但空洞騎士這款游戲,它的攻擊是有后坐力的。”姜山說(shuō)道。

“后坐力?”毛源神色有些古怪,“這是為了模擬真實(shí)性?”

“有一部這個(gè)原因吧。”

姜山聳了聳肩,他一直覺(jué)得空洞騎士的后坐力很玄妙,剛開(kāi)始玩的時(shí)候感覺(jué)是個(gè)負(fù)面效果,因?yàn)橛行┢脚_(tái)能站的空間很小,在上面要是打兩下怪,自己反倒先摔下去了。

但是玩到后面找到一個(gè)能減去后坐力效果的護(hù)符,裝上之后,姜山卻怎么玩怎么別扭,反倒又還念起攻擊有后坐力的操作。

“后坐力啊……這個(gè)該怎么做呢……”毛源琢磨起來(lái)。

涉及到具體代碼,姜山確實(shí)不太行,不過(guò)提提思路還是可以的。

“是這樣的,游戲里其實(shí)不僅有橫向的后坐力,也還有縱向的后坐力。”

姜山在小白板上畫(huà)了個(gè)受力分析圖。

“我們打怪的時(shí)候,自己會(huì)往后彈一段距離,這個(gè)就不用說(shuō)了,很好理解。但是在一些特殊的地點(diǎn),比如說(shuō)充滿(mǎn)彈性的蘑菇,以及背上長(zhǎng)滿(mǎn)尖甲的敵人,這時(shí)候我們跳到它們上方,進(jìn)行下劈,也會(huì)產(chǎn)生一個(gè)反作用力,把我們彈上去。”

姜山也思考過(guò)原制作組到底是怎么做出“下劈”這個(gè)極富深度的小操作,后來(lái)跟正常普攻時(shí)產(chǎn)生的后坐力一結(jié)合,姜山瞬間有所感悟。

很有可能,所謂的下劈帶來(lái)的向上彈的效果,就是后坐力的一種!

“我們可以在玩家攻擊的時(shí)候,進(jìn)行射線(xiàn)檢測(cè),并根據(jù)碰撞體的標(biāo)簽,以及攻擊的方向,來(lái)決定施加哪一種后坐力的效果!”

攻擊到普通敵人,那就給最小的彈力;攻擊到彈力菇,那就給個(gè)大彈力。

這不就把整個(gè)系統(tǒng)都完美融入在了一起嗎!

姜山此言一出,毛源茅塞頓開(kāi),“有道理啊……”

毛源趕緊把思路實(shí)時(shí)到代碼上;同樣,茶茶子那邊也要開(kāi)始畫(huà)配套的貼圖,無(wú)論是敵人還是彈力菇還是金礦,不同彈性的東西都要試驗(yàn)一遍;而趙以琴也調(diào)試起了跳躍屬性的數(shù)據(jù),多了一個(gè)彈性系統(tǒng),之前很多東西可能都要順應(yīng)著產(chǎn)生變化。

調(diào)數(shù)值的次數(shù)是永遠(yuǎn)不嫌多的,很多時(shí)候可能就是抓著零點(diǎn)零幾的數(shù)據(jù)玩命調(diào)。

比如說(shuō)長(zhǎng)按跳躍鍵大跳的數(shù)據(jù),趙以琴怎么調(diào)都覺(jué)得變扭,最后敲定的數(shù)字很反直覺(jué)。

那就是判定從小跳變大跳的時(shí)間間隔,只要0.1秒!

這也跟開(kāi)發(fā)語(yǔ)言的底層邏輯有關(guān),總之姜山再一次當(dāng)了甩手掌柜,開(kāi)始忙別的事了。

因?yàn)榻桨l(fā)現(xiàn),櫻桃工作室那邊,阿里有回信了。

“姜,有空嗎?我想找你聊聊。”

看著這條信息,姜山摩挲著下巴的胡茬,心中欣喜,看來(lái)空洞騎士美術(shù)方面的轉(zhuǎn)機(jī)也要來(lái)了。

主站蜘蛛池模板: 凉城县| 绥江县| 股票| 瓦房店市| 田林县| 怀远县| 洛浦县| 崇阳县| 罗城| 永川市| 哈巴河县| 辉南县| 永康市| 咸丰县| 崇明县| 蓝山县| 韩城市| 二连浩特市| 闸北区| 上饶市| 乌鲁木齐县| 铜山县| 阿拉善左旗| 稷山县| 高雄市| 乳源| 墨江| 原阳县| 大名县| 纳雍县| 洪湖市| 扶风县| 四子王旗| 合阳县| 临漳县| 松原市| 新田县| 朝阳区| 普定县| 南部县| 嘉定区|