Re: [問題] 蟲霧..

看板StarCraft作者 ( なに?! )時間18年前 (2005/11/09 09:26), 編輯推噓5(500)
留言5則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《Eeon ( なに?! )》之銘言: : ※ 引述《FukadaKyoko (FQ)》之銘言: : : - . -那槍兵打人也有火花出來啊,不討論這個,不是重點 : 呃.... : 我不是說有沒有扣血跟火花有關.. : 那一句,我是回答,你說跟dragoon 比較, Tank 沒有彈頭的部份... : : 這邊我不是很確定,請問你有實測數據嗎? : : 比如說火燄兵或破壞能攻擊蟲霧中單位的損傷 : : 我只知道Tank打蟲霧中會打折扣,因為只有噴濺在作用 : 我又改了一下剛剛那個地圖,多加了一大沱marine 在三點區那邊, : 立起來的英雄坦克旁, 你可以把一大沱 marine 帶出來,擠的 很密很密, : 不要太小塊,然後灑蟲霧,控坦克打中間的marine, : 結果砲火著彈點會平移, : 然後去看marine的扣血量,你會發現,還是有marine扣到100%應扣血量, 73 滴血的。 : (就是有另一個人可能會比較衰,本來砲火不是瞄準他,結果蟲霧一移,變成被正中。) : 可見嚴謹的說,splash扣血量應不受蟲霧影響, : 按新的著彈點,應扣100%,還是扣100%,應該 50% 的還是 50%, : 蟲霧作用在於讓敵人打不準。 : 所以我說 : "而 "噴濺攻擊" 造成的傷害 則可能會有折扣, : 因為打歪了,本來要正中,結果變成只有掃到。 : 或者 運氣更好,偏移後落點更好...XD 不過,這機會應該比較小..) " : : 那麼蟲霧中我如果有很多兵放在一起,敵方攻擊我平移一格之後 : : 應該要打到該目標旁邊的單位吧? : : 但是我方並無人受傷啊 : : 我認為那種可受到保護應該是陷阱視為人員單位而非建築物 : 關於這個..我也一併放進比較新的地圖裡了.. : 結果 陷阱應該不算 "men"(人員) , 也不算 "building" 但是算 "unit" 是沒問題。 : (unit 這個集合包含 men 和 building 兩個子集。) : 我多寫了三個 trigger, : 第一個:當玩家把一隻刺蛇帶到右邊的beacon附近時, : 所有的 "men" (人員) 通通會被幹掉, : 結果實際run時,我把刺蛇帶過去,炮台沒爆, : 第二個:當玩家把一隻刺蛇帶到中間的beacon附近時, : 所有的 "building" (建築) 通通會被幹掉, : 結果實際run時,我把刺蛇帶過去,炮台還是沒爆。 XD : 第三個:當玩家把一隻刺蛇帶到左邊的beacon附近時, : 所有的 "unit" 通通會被幹掉, : 結果實際run時,我把刺蛇帶過去,炮台終於爆了。 (beacon 跟炮台屬同一類型。) : 地圖位址一樣是: : http://eeon.myweb.hinet.net/test2.scx : 我又仔細觀察刺蛇口水彈著點受到蟲霧的影響, : 當目標是 men 時, 口水彈著點 會平移, : 而目標是 building 時, 彈著點則不會平移。 : 因此我本來的說法應該不太正確, : 應該是看目標 是 men 還是 building 來決定蟲霧會不會作用在該發攻擊上。 : (陷阱炮台是個很有趣的東西,跟據上述測試不被看成men 或 building, : 但是彈著點會平移。) : 至於以下這一段... : " 那麼蟲霧中我如果有很多兵放在一起,敵方攻擊我平移一格之後 : 應該要打到該目標旁邊的單位吧? : 但是我方並無人受傷啊 " : 我的猜想是,當程式在決定目標扣血量時,需要考量目標的位置, : 而目標的位置,程式是採一個點 (很小很小很小的點) 來判斷, : 而不是地圖"單位圖格",像上面那一張測試地圖, : 地圖圖格僅有 128,可是當單位放不下時,程式顯示的警告訊息坐標位置是 一兩千的。 : 因此,程式在run 的時候,地圖圖格是沒啥意義的,而是用很小單位的位置坐標系統。 : 回歸正題,所以有一個marine 甲,如果我們看起來他在地圖圖格坐標(1,1), : ("假設"地圖圖格坐標比程式坐標系統比例尺 1:100) : 他的程式坐標系統位置可能是 (50,50), : 然後他旁邊的地圖圖格(1,2)有一隻marine 乙,其程式坐標系統為(50,145), : 在蟲霧作用下,本來要打到 程式坐標系統(50,50)的機槍砲火被移到 (50,150), : 於是在動畫上看來,好像marine乙被炮火打到了, : 可是程式在判斷扣HP時,他要扣的人是位在程式坐標系統(50,150)的人, : 可是地圖圖格(1,2)的marine乙 程式坐標系統為(50,145) ,並不是 (50.150)。 : 於是造成子彈在地圖圖格(1,2)的marine身上,可是他卻沒扣血。 : (事實上,一個地圖單位圖格,可以塞n隻marine, : 如果程式用地圖單位坐標來處理的話,程式應該會錯亂。) Hmm.. 上面這個有關非splash 的傷害的說法,之前只是猜想而已,沒仔細驗證過.. (因為驗證比較麻煩..Orz) 剛認真地弄了一下.. 測試圖是剛又updated的 test2.scx .. 首先要先把地圖圖格和程式坐標系統的比例弄出來, 跟據地圖一開始顯示的錯誤訊息,神民運輸船產生點是地圖中央, 可得出 地圖圖格和程式坐標系統的比例應該是 2048/64=32, 所以理論上如果可以在一定大小的n個見方格內(當然越大越大好) 的這 32 X 32 X n 個坐標小點都各放一顆spider mine, 那麼上面的說法成不成立就很好驗證了。 不過這很難辦到 。 (想像一下 要在 1 X 1 的地圖方格內放上 1024顆 "不同"位置的 spider mine..~_~) 所以我們只能退而求其次...儘量塞.. 剛努力地塞了一下,然後用templer放一次電, 得到中央區塊很密的時候,也只kill 249 mines, templer電的範圍假設小一點 3 X 3,共有 九個方格, 平均一個方塊也只放到不到三十個的 mine..~_~ 而且還有可能有重覆的..(雖然可能不多)..Orz 為了方便計算就算三十個好了...1024點 算一千點,然後位置都不重覆好了.. 隨便一發平移後打到某個方格的炮火, 要命中雷的機率只有 30/1000 = 0.03....orz 算不中的機率為 0.97。 那麼嘗試兩次不同位置,不中的機率是 0.97^2 約為 0.94, 以此類推嘗試n次不同位置,不中的機率是 0.97^n 。 當n=30時,不中的機率約為0.4,也就是, 如果之前我的非splash彈著點說法正確的話, 在嘗試了三十次平移不同位置後,應該有超過一半以上的機會會命中。 繼續地加大測試次數,則可取得更有效力的檢驗。 不過我試了一下..還沒有發生在蟲霧中的mine被非splash的range攻擊打爆的情形發生, 有兩種可能 A.我原來的說法要修正。 B.剛好都發生不中。 從以上這個model看來,嘗試次數一大, (ex: 90 次,就可將不中機率壓在 0.4^3= 0.064), 不是那麼容易不中。 (有興趣的可以下test2.scx 來幫忙測試,加大信心強度。 triger 為 在5點中方向,會在一個地方自動生出 vulture, 如果將一個部隊移到 vul 生成點左下方的beacon,會把地雷轉給電腦玩家, (因為自己殺自己的部隊,不算 kills,所以要把雷轉給電腦) ) 所以如果要總結的話, 蟲霧的作用流程應該是先看目標為何而定,再看彈著點和splash與否,來決定最終傷害值。 目標: 1.building => 蟲霧不作用,彈著點不變。 2.men => 蟲霧作用,彈著點平移一格,做出動畫,考慮攻擊型態, 2.a 攻擊型態沒有splash屬性,攻擊無效,沒人受傷。 2.b 攻擊型態有splash屬性,按照新彈著點來計算splash屬性傷害, 中央一圈者 100%,第二圈 50%, 第三圈 25%。 註: 小炮台 和 小瓦斯桶 , 小礦石, 比較特殊, 程式本身是視為 非 men 非building。 (其屬性是 men 或 building,在寫RPG地圖時很重要。 有時會利用到計算部隊或建築個數的trigger conditions。) 不過在魔法屬性作用時,則將其納入 "men" 的系統處理, 所以 蟲霧中,有彈著點平移效果。 科學船可對其加防禦方陣,保護。 templer 可用電,傷害之。 會被地雷炸傷。 : 而攻擊屬性是splash的話,扣血量則是看範圍, : 亦即著彈點 程式坐標系統 某個半徑內100%, 第二圈 50% ,第三圈 25%。 : 所以雖然某個目標的程式坐標系統並沒有很準確地跟 : 平移後的著彈點的坐標系統一模一樣,還是扣了100%的血。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.25.192 ※ 編輯: Eeon 來自: 220.135.25.192 (11/09 09:57) ※ 編輯: Eeon 來自: 220.135.25.192 (11/09 10:00)

11/10 00:07, , 1F
歡迎加入國科會
11/10 00:07, 1F

11/10 23:29, , 2F
National Starcraft Science Council ?!
11/10 23:29, 2F

11/13 23:43, , 3F
幹 原po你真的可以出論文了 orz
11/13 23:43, 3F

01/05 09:33, , 4F
push
01/05 09:33, 4F

10/02 23:46, , 5F
這篇太猛了吧
10/02 23:46, 5F
文章代碼(AID): #13SL0eIA (StarCraft)
討論串 (同標題文章)
文章代碼(AID): #13SL0eIA (StarCraft)