精華區beta WarCraft 關於我們 聯絡資訊
SLK優化, 簡單來說就是將魔獸地圖裡的物件資料轉換為SLK與TXT格式的程序。 由於魔獸處理SLK資料比處理WE本身所建立的物件資料快得多, 因此經過SLK優化的地圖,讀取時間就能大大縮減。 幾張熱門地圖如OS、先前的三國、信長,各自在某版本後讀取速度突飛猛進, 就是SLK優化程式的成果。 這種優化方式應該可溯源於俄國人True.Rus, 一開始他的做法並不是將所有物件資料轉換為SLK, 而是將地圖資料中零亂的字串正確排列至.txt檔,(這裡印象可能有錯) 因為魔獸讀取整理好的.txt檔,仍然比直接讀取WE生成的地圖資料快速, 所以創造了DotA Allstars 5.84c的高速讀取傳說。 然而由於True.Rus的盜圖行為,他的努力不被官方承認, Allstars官網甚至明文規定,討論涉及5.84c者必刪。 OS5.84c之謎持續了好一段時間, 接著True.Rus在某些WE討論區透露了他的方法。 (他也公開發佈自己的工具叫作Inliner,不過那是很後來的事。) 我認為理論是一直存在的,MPQ的運作早被一些玻璃渣的老玩家摸透, 只是當時還沒有人投入實作,而True.Rus又以當紅的OS為目標,所以一舉成名。 方法公開後,其他的高手開始對加速讀取感興趣,於是推動了Widgetizer的誕生。 Widgetizer,SLK優化程式的第一個成品,作者PitzerMike。 這件工具對英語系WEer而言是天大的福音, 更精確地說,這幾乎成為OS量身訂作的優化工具。 我幾乎是剛完成的時候就一直跟著相關的討論串, 然而很明顯該程式對藍綠大戰毫無效果。 它有兩項致命的限制: 1. 它不支援非英語系地圖 2. 它不支援超過4級的技能優化 雖然很多人要求PitzerMike修改為可支援Unicode, 並且希望能夠處理超過4級技能的問題, 然而PitzerMike兄總是不為所動, 因此依Widgetizer問世而受益的地圖,有名的大概就只有NOTD跟OS兩張。 (不知為何,對戰地圖總是出現自然獨占現象也就罷了, 但使用新技術所得到的掌聲也會全歸熱門地圖所有, 無論國內外皆如此。) 這時有些人開始尋找如何讓此程式用於非英語地圖的方法, 然而高手經常諱莫如深,能google到的討論鳳毛麟角, 最後我是從hobill手上拿到一份做法, 但一來該做法繁複到不合乎地圖改版的時間效益, 二來也沒聽說過哪張非英語地圖運用該做法得到成功, 所以我是以放棄作結。 (其間一個比較特別的事件是中國那邊有人釋出了Widgetizer的漢化版, 興沖沖地實驗後發現只有介面漢化,同樣毫無效果。) Widgetizer釋出是2006年1月的事, 漢語WE使用者能夠真正進行SLK優化,則要到2007年9月: U9,中國目前最有名的WE討論站所在處, 發佈了名為「U9MapOpt」的SLK優化器。 即使從討論串的人氣上看不太出來,但我認為這是一個極具代表性的工具。 它解決了上述的語系問題和技能等級問題。 當然,或許受限於魔獸的讀取方式,所謂等級問題的解決方法, 是把前4級轉換為SLK,其他仍然放回WE生成資料中, 但這不妨礙它確實地使讀取速度增快許多的結果。 U9MapOpt的作者Shasure(南南)非常認真, 每一則BUG回報都會回覆處理, 因此U9MapOpt從初版的物件消失與斷線分流各式問題中走了出來, 成為一個穩定的SLK優化程式, 以台灣的熱門地圖來說,三國以及前些日子的新版信長都是使用這個程式。 最近此程式做了一些介面簡化,改稱為「U9優化精靈」, 同時增加了MPQ鎖圖的新功能。 http://bbs.uuu9.com/viewthread.php?tid=1375231&extra=page%3D1 基本上,三國以及信長前幾版,1.22會讀取到一半就跳出, 與這個優化程式脫不了關係。 由於U9優化精靈的新版本已修正此BUG,所以三國的問題應該很快就會解決。 最後,我想介紹一款名為Wc3MapMax++的軟體。 雖然可能對Shasure來說很抱歉,但事實擺在眼前, 2008年6月以後,U9地圖優化精靈就已經不再是U9最好的SLK優化程式。 Red_Wolf,老狼,中國WE界非常資深的超級高手之一, (有趣的現象是:超級高手會留下教學與工具, 圖卻常常一張完整的都做不出來......) 他本來把Wc3MapMax++初版當作玩WE最後的創作, 最近似乎又燃起鬥志,稍微積極地更新起來。 U9優化精靈的使用耗時甚久,以藍綠為例須約10分鐘完成, 而且U9優化精靈目前不支援WTS優化,所以join game時會產生明顯的停頓; 反之Wc3MapMax++可同時進行WTS優化,最近又完成了圖檔、模型檔等等的壓縮功能, 所以在地圖容量、讀取加速、進入遊戲三方面都有明顯的優勢。 此外,對地圖作者來說,同樣重要的是優化時間, Wc3MapMax++的作業僅耗時約8秒! 優化時間極小,對於作者自己進行地圖測試的好處很大, 像藍綠這樣物件與觸發數量以千百計的地圖, 在WE上直接按下test map後,原始檔大概需要15分鐘才會載入完成, 這段時間電腦被占著完全無法動作,造成時間的高度浪費。 如果優化只需要8秒,那麼優化後再進行測試就變成可行的方案。 雖然我沒有跟FN確認過, 但信長最新的幾個版本很可能就是使用Wc3MapMax++; 證據是信長的新版進入1.22後並未出現如同三國的優化問題。 不過Wc3MapMax++畢竟沒有U9官方工具的地位, 所以總是被U9的廢水淹沒,今天去找已經掉到第三頁以後了: http://bbs.uuu9.com/viewthread.php?tid=1357749&extra=page%3D3 我不清楚上述兩位U9的優化程式作者對彼此的看法是什麼, 希望他們能夠持續地良性競爭,如此後來的WEers才有更多好東西可用。 以上,就是SLK優化的故事。 一般來說,地圖作者都是一個人, 所謂的「製作團隊」只存在於玩家的想像中;三國、信長不外如是。 然而,一張地圖的完成往往包含許多無名英雄的智慧結晶, 這種只為熱血不求回報的集體創作,乃是WE最重要的精神。 兩年多以來,SLK優化的進展可為明證。 -- うまれて、すみません。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.54.190 ※ 編輯: gonzdevour 來自: 203.73.54.190 (07/12 07:34)
ahinetn123:大推!!! 07/12 07:35
boyen3:好文 07/12 07:39
Kendai:推推 07/12 07:41
Luckyo:讚! 07/12 07:45
gaflight:推倒...阿不.....推爆 07/12 07:45
blackjack0s:卻常常一張完整的都做不出 ← 中肯 07/12 07:48
blackjack0s:高手都要留下教學 devour要留下ai教學嗎 我看不太懂囧 07/12 07:50
robinzzz:大推! 07/12 07:56
HypocritePro:推 優化程式為我所不及的領域 在熱心前輩幫助下受益 07/12 08:01
HypocritePro:良多 非常感激!!! 07/12 08:02
B0Y0:好像看小說 推推 07/12 08:06
NEOERIC:推阿 07/12 08:25
Drunkenman:可是我玩信長D2版有時還是讀不進去.. 07/12 08:26
svcchaos:大推 看你的文章好順暢好有趣 忍不住一口氣讀完 07/12 08:28
ilove305mmm:推 07/12 08:51
mw1128:推 07/12 08:56
vice909:推~大大的增加了我對地圖優化的知識 07/12 08:58
maplemeowcat:讓我不自覺的就按了推阿 07/12 09:08
mein:推一個 受教了 07/12 09:11
lafel:推 07/12 09:53
yourboss:長知識推 07/12 10:06
pikaaco:推 07/12 10:07
wotupset:不推 有違鄉民魂啊 07/12 10:09
Gemani:推 07/12 10:32
gjack:討厭"優化"這種對岸用法,為了少打一字,不願用"最佳化"一詞? 07/12 10:33
kuolarry:樓上想紅也別這樣 優化不一定是最佳化吧 07/12 10:35
lafel:樓樓上...你不覺得優化這詞用的還不錯嗎? 07/12 10:36
elic:推推推 07/12 10:38
etgees:GOOD 07/12 10:49
kevinlai29:幫推~~ 優化哪裡錯?! 其實我按end了... 07/12 10:50
eva7493:意義上優化可能比較合 因為不會是最佳XD 07/12 10:51
eva7493:雖然我也不太喜歡對岸詞彙@@ 07/12 10:51
TaiwanFlight:"優化" 比"最佳化"有感覺阿 07/12 10:54
gonzdevour:幾年前我也是看到「漢化」就倒彈;但仔細思考後會發現, 07/12 10:55
gonzdevour:中國的某些詞語使用方式似乎較為精確。 07/12 10:56
srewq:大推!!!!!! 07/12 10:59
SGBA:推 07/12 11:01