作者midas82539 (喵)
看板XBOX
標題[心得] 再探太空戰士1最強攻擊力組合
時間Wed Mar 11 20:59:02 2026
既然2代模型都做出來了,就順便回頭看1代資料是不是也可以研究出一個攻擊力模型。
也許讀者可能會覺得:幹就一個老遊戲幹嘛算那麼多?
但就研究層級來說,一代很有趣的地方是:
這款遊戲不算很複雜,而且跑一輪遊玩時間也不會花太多,
單純做一個專題來說,它剛好適合可以充當練習的題目。
這種回到以前學生時代的經驗其實還滿不錯的。(笑)
那麼接下來就是一樣,目標是要找出各職業的攻擊力曲線;
來找出理論上能成長到最大值的最強攻擊力組合。
不過如果實作很快就會發現一個困難,就是實際的攻擊次數缺乏已知的公式。
所以你必須要從無到有的建立一個簡易公式,來做為計算的基礎模型。
--
那麼首先你要有一個合理的環境假設:
在任天堂紅白機(FC)的時代,這個"計算機"的計算核心是一個叫做Ricoh 2A03的晶片。
由於CPU是單一8bit,意思是單值最多只能記憶八個空格,例如假設你要遊戲算出最終是
十進位制的13,那麼首先要先轉換成二進位格式,這時就會變成:
次方 7 6 5 4 3 2 1 0
(0/1) 0 0 0 0 1 0 1 1 = 8+4+1=13
理論上總共有2^8=256種,也就是0~255。
已知原版遊戲最大hit=16,最小命中hit=1,且原版等級最大=50。
假設你是設計遊戲的人,目標就是:如何分配點數,而在最大等級時=255?
那會用除法,即255/50=5.1,也就是每升1級給你5點。
hit扣除最小值(基礎值)16-1=15,接著要把250點能分配15次,
故門檻=250/15=16.66,無條件捨去為16。
--
剩下5點會有兩種做法:作為計算空間避免數值溢出錯誤。或者直接放在基礎值。
1. 250點制:rounddown((現有等級-1)*5/16,0)+1
2. 255點制:rounddown((5+(現有等級-1)*5/16,0)+1
角色設定:「不對阿我有一個只空手的武僧欸,所有人都能打16hit那武僧不就爛死?
那16hit就只給他好了。」
這時候很合理的改動就是把原本的模型等比縮限,其他人最大hit必須=8,而不是16。
1. 首先不變的:255/50=5.1,一樣每升1級+5點。
2. 255/8=31.875,取近似值32。則每32點+1次hit。
3. 只有武僧乘與2,代表他空手等級1就可以2hit。
所以你就可以推導出基礎公式:
1. 其他職業版=ROUNDDOWN((5 + (現有等級-1) * 5) / 32, 0) + 1
2. 武僧版=(ROUNDDOWN((5 + (現有等級-1) * 5) / 32, 0) + 1)*2
主管:「太無趣了,弄一點變化好不好?比如說盜賊就比較快升攻擊次數,
武僧就相對較慢。」
角色設定:「..好喔那我就把初始值變大,所以每個角色起點不同。升級門檻再微調。」
--
那麼我要怎麼找到未知的初始值?以及微調後的門檻值?
好問題,這塊屬於未知。我的方法是假定每個職業的空手初始命中率是有意義的。
因為我注意到只要拿命中率+10%的武器,不知為何攻擊次數會+1次。
這個現象隱含了命中率是可以等比的換成點數,故定義為命中點(ACC),規則為:
ACC=命中值 * 255。例如戰士的空手命中率=0.07,0.07*255=17,85=18。
這時就可以推算各角色的初始ACC點,例如戰士初始值=18。
剩下就是枯燥的紀錄資料了。也就是你每升一級,就要把隊伍全部換空手,
看沒有武器干擾的空手攻擊次數是多少,來看升到第幾次才增加。
然後統計出變化的門檻值大約是幾級才加一次,就可以反推得知
該職業每升級是加幾點,然後累積到達門檻後才+1hit。
不過實際反推出現了幾個問題,例如門檻值不見得是固定的。
這代表:(1)每級升點含小數點,(2)可能隱含隨機干擾,例如敏捷也會+acc。
這原本設計是讓你可以提早累積到門檻值+1hit,不過在反推就很討厭。
這一塊我只能說,我只能推出一個大致上是符合遊戲經驗,但不見得完全正確的結果。
--
我這一輪總共測試了戰士、盜賊、紅魔導使、武僧這四種。
所以攻擊次數為:
戰士:初始點數18點,每升1級+4點,最大8hit。
盜賊:初始點數28點,每升1級+5點,最大8hit。
紅魔:初始點數20點,每升1級+3點,最大8hit。
武僧:初始點數13點,每升1級+3點,乘與2,最大16hit。
然後其他職業的單次攻擊力=武器傷害+力量。
武僧攻擊力=(力量+1)*0.75+耐力*0.5。
(對你沒看錯,不是原版的等級/2,所以單就攻擊力像素重製板是弱化了)
理論上不存在敵人防禦力下,總傷害= 單次攻擊力 * 攻擊次數。
『白癡喔敵人就有防禦力減傷阿,那你算這有屁用?』
東西是要一步一步建立的,接下來就是拆解與建立防禦力減傷的參數。
--
就我玩過1~2代的紀錄,這幾款遊戲的底層邏輯沒有變化,
他都是很簡單的骰出0~200的數值,然後乘0.01轉換成百分比,
所以如果你定期的記錄所有的總傷害和次數,可以發現都是1~2倍的倍率。
而實際打到敵人的傷害=(攻擊力-防禦力)*攻擊次數。
假設你現在眼前有個指導老師,那他八成會問你:
「那你要怎麼抓防禦力?一個個怪物的防禦力值做平均值嗎?」
這就是很典型的陷阱了,在我們領域中有一個陷阱,叫做過度擬合。
用通俗的舉例就是:如果你死背考古題來準備考試,的確如果考題有考古題,
那你就會作答,但只要是考新的,你原本的準備就沒用,考出來成績就不符預期。
如果把每一個參數想像成一個漏斗的篩子,你的篩子越多當然會篩出更少的資訊。
但多不一定是好,假設你最終篩子的缺口是「?」形狀的,那對於原本資料,
你可以篩100%準確率,但如果未來資料長得像「!」呢?那你只能篩到下面的點,
準確率就會下降,這時還不如單純的只篩「.」來的有效。
--
所以重點在於,參數不能太多而降低了資訊的自由度。
而且還要有一定的邏輯道理,至少是自洽的,可以說服你眼前的教授(笑)。
例如你可以說:「我們先重新釐清規則:
擲骰 (0–200)
├─ > 命中率 → Miss(出手無效)
└─ 命中率 → 命中
├─ > 爆擊率 → 普通命中(傷害扣除防禦)
└─ 爆擊率 → 爆擊!(普通傷害 + 額外攻擊力,額外部分無視防禦)
假如我是遊戲設計師,我特地設計1~2倍傷害
空間,就是避免玩家基礎攻擊力太低而經常變成0,但防禦力又不能太低,
導致實際上期望值是(1+2)/2=1.5讓玩家太爽。
所以我們可以反推最終目的是要設定一個防禦力比例(K),讓攻擊力(ATK)=1倍。
1.5 * ATK *k = 1* ATK
k = 1 / 1.5 = 0.667,我只要把原本的攻擊力*0.667就好。」
--
「你怎麼知道K=0.667,如果遊戲最終體驗不是0.667你要怎辦?」
「我不知道,但這是最簡單可以解釋遊戲平衡,以及含怪物減傷結果,
以及相對的武僧爆率無視防禦力的爆傷優勢的公式。
它不完美,但它足夠可以讓我關注我想解釋的東西,也就是實際攻擊力。」
這時候就要講到武僧的隱藏優勢了:爆擊率計算。
1代武僧爆率非常的奇葩,爆率(P)=等級*0.01
這就會讓整個公式產生很精巧的變化:
其他職業傷害期望值(E) = 0.667* ATK
武僧 E = 0.667*ATK * (1+p)
也就是說,等級越高,P增加的百分比就會造成更大的倍率差異,例如25級,
無視防禦力的造成的差異,相對就多了1.249,差不多就是+25%。
這時只要加* (1+p) ,p=等級,就可以在excel修正值得到更合理的曲線。
--
最終可以得到這張圖:
https://i.imgur.com/XoPQmsE.png
很明顯的武僧在爆率下有壓倒性的成長,其次是每兩級有保證升力量的戰士。
盜賊比較尷尬的是,雖然他的acc點拿得比較多,但也導致他很快就到8hit
天花板,而這在轉職成忍者也無法改變。
紅魔法使是點數最少初始點數也低,定位為輔助萬金油單體攻擊力曲線最低。
那要怎麼樣突破,達到超越4武僧的戰力呢?答案很簡單,利用加速就好。
由於加速是次數乘與2,只要在分工上打王時讓紅魔法師個別幫其他人放加速,
這時在四回合內,第四回合的攻擊力,以3武僧1赤魔就會是(3武僧)*2=6倍。
從而最大限度的加倍了戰力超越了原本4武僧:
https://i.imgur.com/D49ytzy.png
平均流=戰士/盜賊/紅魔/武僧
「你特地多弄一個2武僧1戰士1赤魔幹嘛?」
這是一個策略取捨。
--
3武僧1赤魔的優勢在於它極端強化了攻擊力,確保了打到最終魔王。
還有簡單有效的策略可以疊加傷害打贏。
但前期很難避免武僧防禦力低經常要補血的問題。
2武僧1戰士就是藉由攻擊力的犧牲來換一個防禦力經常2~3倍的坦克值。
由於隊伍傷害機率從第一到第四是:50%/25%/12.5%/12.5%
所以這時就可以把戰士放到第一位,來換到更少的傷害和舒服的遊戲體驗。
雖然在60級以後因為武僧的爆率無視防禦力比例變高,差距還是會拉開。
但基本上你到55級左右就可以挑戰最終魔王了,用攻擊力換防禦力是可以接受的。
剩下兩組針對像素重製板的最終魔王血量20000就會出現"打不贏"的陷阱。
這個在原版fc血量只有2000沒有問題,在2000各種組合都可以在少回合打贏。
所以你可以在舊攻略看到像是「2戰士2紅魔最強」的論點,你不能說他錯。
因為原版是真的有效,但當重製版增加到10倍,像是平均流、2戰士2紅魔
大約在打完四大復活魔王後,等級大約50出頭會打不贏。
這時你反而還要開4倍經驗值農到60以上,基礎血量和傷害都疊高了才能打贏。
--
2武僧1戰士1紅魔比平均流好是因為盜賊的定位很尷尬。
盜賊算是醜小鴨變天鵝,他變成忍者是真的很強,戰士穿的他都可以穿,
而且他還能放等級4以下的黑魔法,也就是可以放加速和強力可以充當輔助。
但問題在於相對武僧還是太強,你等於是用一個基礎傷害高的武僧,
換一個相對基礎傷害低的盜賊。想要達到一個2x2快速施法成型的打法,
然而很簡單的數學問題:2x2=1x4。
意思是最終來說只是順序先後問題而已,這樣分配沒有意義。
剩下又會回到武僧傷害差異大到交換不划算,防禦力也會輸戰士。
最終反而打最後王會有點不爽。
總之如果真的想輕鬆體驗遊戲,又不想體驗到拿到遊戲最強石中劍。
但隊伍沒人能拿的可笑場景的話,2武僧1戰士1紅魔算是我能驗證的最佳解了。
3武僧1赤魔則是想體驗像是某些輕小說極限流的故事,你不排斥"無趣"
那可以玩玩看。
至於全魔法?饒了我吧,你知道那多麻煩嗎?有興趣可以自己試試看就知道了。
--
※ 文章網址: https://webptt.com/m.aspx?n=bbs/XBOX/M.1773233945.A.25B.html
1F:推 srx080578: 你真的超變態XD 03/11 21:28
2F:→ Ashely0913: 推 03/11 21:37
3F:推 rakuinn: 超研究者!推一個 03/11 22:42
4F:推 bala045: 跪著看 03/11 23:59
5F:推 fookafook: 想問一下 為什麼要自己猜測推導, 不直接查...? 03/12 01:27
7F:→ fookafook: 裡面的Formulas 那段是不是就是傷害公式? 03/12 01:29
那麼,你有找到傷害次數公式嗎?沒有嘛。
社群只有很籠統地說明,武僧命中次數加倍,但對於命中次數並沒有一個簡易公式。
你看過的資料我其實都看過一輪了,關於攻擊次數大致上會有幾種算法,
不過公式上就存在幾種差異,原因就是文章提到的原因。如果你有興趣的話
你可以想想看為何我還要特地推導而不是單純沿用,原本公式可能存在哪些
沒有處理的盲點,而這個盲點會造成遊戲體驗和理論數值的差異?
※ 編輯: midas82539 (98.159.43.4 泰國), 03/12/2026 02:03:56