【教程】13紅色警戒2地圖編輯器FinalAlert2案例教程 - 高階 - 利用變量循環(huán)隨機(jī)觸發(fā)


====☆☆本篇教程內(nèi)容復(fù)雜,用以成熟的專業(yè)創(chuàng)作者技術(shù)討論,不適用于新人學(xué)習(xí)☆☆====
在第12小節(jié)中我們提及了局部變量,在本小節(jié)中我們將要拓展關(guān)于局部變量的內(nèi)容,利用局部變量實(shí)現(xiàn)在游戲地圖創(chuàng)作中的隨機(jī)性觸發(fā)。
眾所周知在FA2中可以被直接性寫(xiě)入的觸發(fā)條件中,含隨機(jī)值的僅包括【51-隨機(jī)延時(shí)】
(此處不討論Hares等平臺(tái)重置增加的額外隨機(jī)值算法和觸發(fā)條件/結(jié)果)
本次,我們需要討論的是關(guān)于如何編寫(xiě)一個(gè)循環(huán)隨機(jī)點(diǎn)刷兵事件。
簡(jiǎn)單概括,在地圖上存在ABCDE五個(gè)刷兵點(diǎn),我們想要讓五個(gè)刷兵點(diǎn)隨機(jī)刷兵。
這樣我們可以通過(guò)寫(xiě)入五個(gè)隨機(jī)延時(shí)的結(jié)果7援軍小隊(duì)來(lái)實(shí)現(xiàn)隨機(jī)刷兵。
但是這樣存在一個(gè)問(wèn)題,那就是如果玩家的臉太黑,會(huì)導(dǎo)致五個(gè)刷兵點(diǎn)同時(shí)刷兵,導(dǎo)致地圖上瞬間出現(xiàn)大量單位,導(dǎo)致游戲難度出現(xiàn)過(guò)大波動(dòng),同時(shí)可能導(dǎo)致單位過(guò)多產(chǎn)生卡頓甚至彈窗報(bào)錯(cuò)。
這是我們不想看到的。
那我們需要限制同時(shí)刷兵的點(diǎn)的數(shù)量。這時(shí)候我們就可以用上上一節(jié)中提及的局部變量了。
那么如果在RA2中通過(guò)僅有的這一個(gè)隨機(jī)算法,我們?nèi)绾尉帉?xiě)一個(gè)隨機(jī)點(diǎn)刷兵事件呢?


首先我們還是要先創(chuàng)建一個(gè)【類型2】的循環(huán)觸發(fā)

條件【51隨機(jī)延時(shí)】來(lái)引入隨機(jī)性算法

結(jié)果【7援軍小隊(duì)】
在這里,我們就編寫(xiě)了一個(gè)隨機(jī)延時(shí)基數(shù)為120秒,在A刷兵點(diǎn)的循環(huán)刷兵觸發(fā)。接下來(lái)我們編寫(xiě)其他的刷兵點(diǎn)的循環(huán)刷兵觸發(fā)

我們一共編入了5個(gè)刷兵點(diǎn),均為基數(shù)120的隨機(jī)延時(shí)循環(huán)刷兵。
接下來(lái)我們需要為他們加入限制條件,來(lái)實(shí)現(xiàn)周期內(nèi)不大量重復(fù)刷兵的情況。
首先我們先在所有五個(gè)刷兵觸發(fā)的結(jié)果中加入一個(gè)【56設(shè)置局部變量】,使每次觸發(fā)結(jié)果均能將局部變量α寫(xiě)為1


同時(shí)我們要在五個(gè)刷兵觸發(fā)的條件中寫(xiě)入額外的一條條件,【37局部變量被清除】,約束該觸發(fā)在局部變量α被寫(xiě)為0時(shí)才可以被觸發(fā)
這樣,五個(gè)循環(huán)隨機(jī)刷兵觸發(fā)在任何一個(gè)被成功觸發(fā)后,會(huì)寫(xiě)入約束局部變量α的值為1,而局部變量α在取值1的時(shí)候循環(huán)隨機(jī)刷兵觸發(fā)將不能被成功觸發(fā)
但是這些循環(huán)觸發(fā)本身并不會(huì)被禁用,而且循環(huán)隨機(jī)延時(shí)會(huì)繼續(xù)進(jìn)行,結(jié)果事件在局部變量α取值改變之前均不會(huì)被觸發(fā)。
隨后,我們新建一個(gè)觸發(fā),用于循環(huán)清除這個(gè)刷兵事件的緩沖CD



然后,我們把之前編寫(xiě)的五個(gè)隨機(jī)循環(huán)刷兵觸發(fā)的結(jié)果中寫(xiě)入【53允許觸發(fā)】,并且在參數(shù)中選擇CD清除觸發(fā)。

這樣,這個(gè)觸發(fā)將會(huì)在條件循環(huán)(例如圖中的75秒)后清空一次局部變量α,這樣在75秒內(nèi),五個(gè)刷兵點(diǎn)將不會(huì)刷新任何援軍小隊(duì),在75秒后,將可以繼續(xù)在各刷兵點(diǎn)繼續(xù)按照隨機(jī)值進(jìn)行刷新。

應(yīng)用性:
這種隨機(jī)循環(huán)多點(diǎn)援軍小隊(duì)的處理辦法可以有效的被編寫(xiě)在特種小隊(duì)關(guān)卡設(shè)計(jì)方案中,或者多人RPG地圖等,也可以用來(lái)在生化危機(jī)主題的地圖中控制地圖中的刷兵數(shù)量,來(lái)控制地圖難度和游戲性能。
但凡需要隨機(jī)刷兵但是需要優(yōu)化性能和限制難度的情況下,均可使用該方法。
因本小節(jié)不討論Hares或其他平臺(tái),其他平臺(tái)如有更多隨機(jī)值算法則無(wú)需使用本方法進(jìn)行隨機(jī)值計(jì)算。
【教程】13紅色警戒2地圖編輯器FinalAlert2案例教程 - 高階 - 利用變量循環(huán)隨機(jī)觸發(fā)的評(píng)論 (共 條)
