激情與溫柔交織的纏綿告一段落,黎允兒的熱烈與主動,讓孫軼民此刻略感疲憊。
黎允兒安靜的靠在孫軼民臂彎,猶如一只滿足的綿羊。面色緋紅中帶一絲嬌羞,潔白的兇口微微起伏。
在這個陽光燦爛的午后,孫軼民領(lǐng)略到了這個小蘿莉不為人知的另一面的美好,這令他有些沉醉。
略作休息,孫軼民穿衣起身,坐到電腦桌前。
黎允兒略微收拾打扮,恢復(fù)了正常形態(tài),坐到了孫軼民身旁。
此后的兩個小時,黎允兒陪伴他在電腦屏幕上解讀著復(fù)雜的程序代碼。
通過研讀,孫軼民看出來了一點:黎允兒的程序中的計算功能,采用了大量的標準模板庫中的現(xiàn)成類模板以及函數(shù),這造成了程序的臃腫,在com組件框架本身冗余的基礎(chǔ)上,進一步降低了程序的效率。
這一點令他欣慰,因為他此刻已經(jīng)明白,如果能運用自己高超的編程技術(shù),用純C語句避開那些冗余低效率,重新構(gòu)造加密解密功能模塊,那么就可以讓自己的程序在一定程度上取得速度優(yōu)勢,從而擊敗刑天(的程序)。
或許刑天聘請的程序員有很牛逼,但很明顯他沒有能力自行破解醉風(fēng)月的通訊加密方式和密碼,也就避不開黎允兒解碼組件的低效率。
黎允兒重點講述的是代碼中的加密解密函數(shù),以及破解后的通訊密碼。至于她是如何破解獲取,這個并不在代碼中體現(xiàn),她的解碼組件僅僅是運用了破解的成果。
當然,關(guān)于破解的原理,孫軼民之前也曾好奇的打聽了一下。
黎允兒大致講述過原理:利用游戲服務(wù)器上的漏洞取得管理員權(quán)限,截獲關(guān)鍵程序加以反編譯解讀得到。當然,這個破解涉及到高深的黑客知識,孫軼民目前是不會的。
換句話說,如果醉風(fēng)月運營方再次改變通訊密碼,那么孫軼民還得再次求助黎允兒。
加密解密函數(shù)的實現(xiàn)以及密碼本身都有點復(fù)雜,在獲得黎允兒允許的前提下,孫軼民用本子做了一點筆記,以免遺忘。
研讀完畢已經(jīng)接近傍晚,孫軼民為表謝意,請黎允兒吃晚飯。
黎允兒想要挽留他晚上陪她。孫軼民心中雖有些留戀溫香軟玉的纏綿,但因為心中有著對依依的歉疚,以及急于回去做正事,便婉拒了黎允兒。
晚上回到家,孫軼民便迫不及待的投入了刺客程序的改造工作之中。
其實在掌握了黎允兒透露的醉風(fēng)月通訊數(shù)據(jù)加密方式和密碼之后,改進工作并不復(fù)雜。
孫軼民在刺客源代碼中,直接去掉了對原先黎允兒解碼組件的調(diào)用。然后采用純c語言重現(xiàn)構(gòu)建加密解密函數(shù)。之所以不采用c++類模板,是因為其冗余與低效。
事實上這樣做能提高的效率,如果換算成時間其實微乎其微(時間以計算機的運算周期計,幾乎就是幾毫秒),但是在游戲世界的競技戰(zhàn)場上,幾毫秒的時間差距,往往能決定戰(zhàn)斗結(jié)果走向。
舉例來說,疾風(fēng)沖刺是霸王職業(yè)最重要的一個策略性技能,其本質(zhì)為可以遠程發(fā)起的控制技能,并造成一定傷害。此技能冷卻比較短,使用頻率高,為霸王職業(yè)玩家公認的掌控戰(zhàn)局的關(guān)鍵技能。
在戰(zhàn)局剛開始,或者雙方手中這個技能都已經(jīng)冷卻完畢并再次逼近對方的時候,雙方必然會首先使用“疾風(fēng)沖刺”擊倒控制對方。
那么如果其中一方能比對方快出1毫秒放出這一技能,被擊倒在地面的就是對方了。而接下來,贏得先機的一方就有機會施放后續(xù)的攻擊技能,從而占據(jù)有利地位,掌控戰(zhàn)局。
為了驗證新程序的效率優(yōu)勢,他在代碼中加入了一種計時功能,然后編譯為兩個版本。
一個版本仍然調(diào)用黎允兒的解碼組件,另一個版本則使用自己的解碼程序運行。然后將兩本版本的程序進行對比測試。
他來到野外,用程序記錄對同一種怪物,從同樣的距離出發(fā),從發(fā)起“疾風(fēng)沖刺”技能的那一瞬間到將怪物擊倒在地的瞬間。
測試結(jié)果顯示:新的戰(zhàn)斗程序所使用的時間,要比舊程序所耗費的時間,少了約5毫秒左右。效果令人滿意。
第二步驟,孫軼民從戰(zhàn)斗策略層面對程序進行了改進。
從上一次街頭切磋中,孫軼民可以看出來刑天的戰(zhàn)斗程序同樣采用了“控制+攻擊”的連招策略。這意味著同為霸王職業(yè)的雙方在戰(zhàn)斗一開始的時候,便進入快速的內(nèi)耗狀態(tài)。
具體來說:A方使用控制技能控制B方然后準備施放攻擊技能,B方會迅速解控并且反控A方,打斷A方的攻擊技能。然后A方再次解控準備方劑……如此循環(huán)往復(fù),在短時間內(nèi)便將雙方的控制和解控技能使用完畢。
而這些控制以及解控技能是需要冷卻的??刂萍寄芾鋮s較短,解控卻比較長一般在五分鐘以上。
這就意味著在一場戰(zhàn)斗中,第一輪火并結(jié)束后,雙方基本上沒有機會再次使用解控技能了。
而大多數(shù)控制技能和攻擊技能不會同時冷卻完畢,這就意味著后續(xù)繼續(xù)采取連招模式的機會很少了。
那么這時候就需要進行靈活的游擊策略——有技能就打,沒技能就跑,同時等冷卻。
在這個過程中,最要講究的是速度和躲避策略。
在雙方的控制技能(特別是疾風(fēng)沖刺)再度冷卻完畢后,雙方必然再次逼近對方。很明顯此時誰先出手快控制對方,誰就占據(jù)了優(yōu)勢(畢竟對方已經(jīng)沒有解控技能了)。
而在己方的控制技能沒有冷卻完畢,對方卻的沖刺技能已經(jīng)冷卻完畢的情況下,則需要采取措施有效避開對方的沖刺(因為是遠程,沖刺技能有可能命中失敗。)
特別是當對方開加速追擊,己方必然會被追上的前提下,必須走復(fù)雜曲線,以增加對方命中失敗的概率。
(當然這個曲線躲避的戰(zhàn)斗策略在當初對付幽鬼的時候已經(jīng)加入程序中了,本次需要專門針對霸王的沖刺技能,做進一步優(yōu)化。)
反之,如果己方的沖刺技能已經(jīng)冷卻完畢,而判斷對方還沒冷卻完畢,那么就可以適當?shù)倪\用加速技能追擊。從而占據(jù)優(yōu)勢。
為實現(xiàn)以上功能,需要增加專門針對霸王的技能冷卻時間的估算功能。孫軼民在程序中增加了一個線程專門記錄對手的關(guān)鍵技能特別是沖刺技能冷卻結(jié)束時間。
如此一來,當自己手中的沖刺還未冷卻,而敵人折返逼近的時候,可以明確對方手里到底有沒有貨,以便決策是否需要躲避。
同時如果己方技能已經(jīng)冷卻完畢,而對方未冷卻完畢,則可以開加速追擊。
孫軼民花了2小時基本上改造程序完畢。然后跑到長安街頭實測效果。
要實測,自然是要找到禺彊。畢竟其他人沒有戰(zhàn)斗程序,與他們切磋沒有意義。
但是孫軼民考慮到了一點:即便自己的程序功能改進讓自己占據(jù)了優(yōu)勢,也不能過早讓刑天知道這點,從而引起警惕。畢竟下周末才進行決賽。
他主動找到禺彊切磋,在比賽的前半場火力全開,主要測試疾風(fēng)沖刺的速度和戰(zhàn)斗策略。
為了蒙蔽對方,在后半場他關(guān)掉了程序采用手動,故意輸給對方。
另外有幾場,他采用了舊程序,讓禺彊在有時候率先沖刺成功。
如此一來,孫軼民自己得出了令他滿意的測試結(jié)果。而刑天卻很可能還以為自己與對方旗鼓相當。
具體測試結(jié)果令他滿意:采用新程序之后,冷月有85%的機會首先使出疾風(fēng)從此控制對手。
而曲線路徑躲避策略令對手命中失敗率達到60%左右。
另外躲避與追擊的判斷基本準確無誤。
測試完畢出房間,坐在沙發(fā)上抽煙。
柳榮華關(guān)切問起新年爭霸賽一事,略微擔憂:“我聽說上次你在街頭切磋打不過刑天,今天我看了下,好像確實如此,怎么辦呢?”
“放心,我已經(jīng)在努力,而且有把握了。”孫胸有成竹道。
“有沒有我需要幫忙的?”柳榮華問。
“你能幫什么?”孫問。
“我準備將電信寬帶升級到當前最先進的10m速率?!?br/>
孫軼民笑道:“這個其實作用不大。網(wǎng)絡(luò)客戶端與服務(wù)器交換的數(shù)據(jù)并不多,因此所占用的網(wǎng)絡(luò)帶寬并不大。
即便是在打群架那種大場面,所需要的帶寬也就是不會超過100kb,理論上只要我們的寬帶速度超過這個數(shù)值,就不會對游戲造成瓶頸效應(yīng)了。再高沒有意義。
即便是升級到10m的寬帶都不會顯著提升游戲的反應(yīng)速度。只不過,到比賽進行的時候,你把你自己的電腦上任何占用帶寬的程序關(guān)掉就行了。比如在線音樂,在線視頻,這些東西是很占帶寬的?!?br/>
“額,不管怎樣升級了總有好處。我本來就打算升級的?!绷?。
“那隨你。多謝兄弟?!?br/>
晚上睡前,孫軼民躺在床上,想起今日在黎允兒家中的意外ya
遇,心情復(fù)雜矛盾。
一是感覺對不起依依,痛惜自己忠貞破滅,而是有些沉醉于黎允兒小小蘿莉萬般風(fēng)情與溫柔。
,