2008年12月3日 星期三

感謝艾達瑪指揮官、感謝六號複製人

如果你手邊也有「魔獸世界--巫妖王之怒」的說明書,請翻到最後,工作人員名單的部分。

前幾天,隨手亂翻的時候,突然在工作人員名單裡看到這麼一個人:

瘋狂科學家 Joe Rumsey

呵......Blizzard又開始搞怪了。

網路上查了查,原來這位仁兄是魔獸世界的伺服器主程式。

繼續往後面看,後面有一些工作人員寫的感謝狀,感謝爸爸媽媽啦,感謝家人啦,感謝雙胞胎女兒啦,感謝女朋友啦......

有一個感謝的是,"My Moon Pie"。

感謝一個派要幹嘛?

然後又看到,

Admiral William Adama

MV5BMTUzNTUxODA4NV5BMl5BanBnXkFtZTcwODQwNTE2MQ@@._V1._SX100_SY133_

Number Six

200px-Number_Six_Tricia_Helfer

我說,感謝這兩個人要幹什麼呀?

感謝艾達瑪指揮官也就算了,感謝六號複製人要做什麼? 難道這遊戲也跟塞隆人有關係?

還有人感謝的是別人家的廚房,"Cho’s Kitchen"。這擺明就是常常去搭伙。

還有人感謝的是這個人,"Cao Cao",KOEI出的三國志在還沒中文化之前,這兩個字就是「曹操」。

我意猶未盡,把前一個資料片「燃燒的遠征」說明書拿出來翻,也有搞笑的感謝狀。

“Paul Young”

“The Korean BBQ crew” (常常吃韓國燒烤就對了)

“i and o” (這絕對是程式設計師寫的)

“Every Gnome I’ve ever killed” (這...)

================= 感謝分隔線 ================

最近我們也在想感言要怎麼寫,我想,我還是老老實實的感謝父母親對我這個不務正業的兒子的支持吧!

2008年12月1日 星期一

CSI在我面前採指紋!!

其實這是在家裡遭竊之後,不得不然的苦中作樂跟自我安慰。

前幾天晚上,回家的時候發現門打不開,當時還想說可能是鎖壞了。找了鎖匠來,鎖匠卻說,這是被反鎖了。

反鎖? 怎麼可能? 沒人在裡面啊....

百分之八十的機率就是遭竊了。

開門之後,家裡一團混亂。兩個鎖匠還拿了「傢私」防身才進門。竊賊當然是已經不在了。

拜CSI影集之賜,我們沒有馬上清點失物,而是保留犯罪現場完整,趕快報警。

波麗士大人幾分鐘之內就趕到了,不過是個菜到不能再菜的菜鳥警察。他看了看現場,打電話請鑑識組的學長過來採證。

等這個CSI就等很久了,菜鳥警察臉色越來越尷尬。

CSI學長一直不來,菜鳥波麗士就一直被我們小老百姓逼問。

「是不是我們這個案子太小不想辦啊? 」

「是不是我們小老百姓沒背景沒關係不想辦啊?」

小警察也被逼得一直道歉,一直幫學長找藉口。

終於,將近一個小時之後,CSI來了。

台北市整個行政區,只有一個CSI在值班,前面的案子還沒弄完,所以才會讓我們等這麼久。

如果是真的,警察的人力就真的是少得太過分了。

(我家的案子還沒弄完,CSI就又接到一通車禍現場要去採證的電話了)

首先呢,CSI先把犯罪現場拍照,每個房間的凌亂樣子都拍了下來,還有疑似竊賊的出入口。然後在房裡找了一些可以採指紋的東西。

採指紋必須是表面光滑的物品,而且這個用來採指紋的粉末,是洗不掉的有毒重金屬。所以傢俱是不能拿來採指紋的,只能找一些可以丟掉的東西來做。

採證之前,還要請住戶簽個同意書。

所以說,CSI影集都在亂演。最好是什麼亂七八糟的東西都能採指紋。

那個CSI刑警說,可以是可以啦,但是要送到美國的高檔實驗室去做,這費用,誰出啊?

小老百姓就還是算了吧。

最後呢,找了幾個東西來採指紋,就在我家裡當場做。

CSI影集看那麼久,這下真的看到CSI就在我面前採指紋......

還有點興奮哩,真是奇怪的心態。

CSI大人弄了幾分鐘,最後只發現「編織物」的紋路(大人說,這樣講就夠專業),就是戴著一般的那種棉布工作手套的紋路。

CSI大人說得很酸,現在應該沒有那種偷東西還不知道要戴著手套的竊賊了吧!

其實我們也知道,不過該報警,該採證的還是要做,搞不好碰到個一時疏忽,忘了戴手套的竊賊也說不定。

2008年11月27日 星期四

莫戈莫戈大王

我在北風凍原的簡易機場上。

有個地精告訴我,「這是最怪的事,德魯伊,有個魚人在請求我們的幫助!」


「他被稱為莫戈莫戈大王,冬鰭魚人的頭目。看來似乎他和他的人民被趕出來了,他們想要有人來保住他們的村落。」

我心想,「魚人頭目? 魚人什麼時候變成NPC了啊? 你確定是那種成天哇嗚哇嗚亂叫的魚人嗎?」

地精沒作聲了,我招喚出我的座騎霜紋豹,偷看了一下攻略上的座標,跑過去冬鰭魚人的避居地。

OMG!!

91088 91089

「這....這就是魚人大王??」

我忍住笑,開始跟莫戈莫戈大王閒聊。

原來大王不是魚人,是愛好自然的塞納里奧遠征隊的一員,原本穿上這身打扮是為了要就近研究魚人生態的,卻沒想到碰上了冬鰭魚人遭逢大難,一時心軟伸出援手,就這樣被奉為大王了。

我轉到大王身後,「大王!您的愛心內褲露出來了啦!」

EPC2

大王說,冬鰭魚人的洞窟被一隻龍蝦人克拉希穆司占領了,有一部分的冬鰭魚人也因為龍蝦人的邪惡魔法而發狂。大王教了我魚人的語言(不就是哇嗚哇嗚的亂叫嗎?),派我衝進洞窟解救被俘虜的小魚人。

有經驗值跟裝備可拿,那還有什麼猶豫的?

花了幾分鐘,小魚人救出來了,大王又跟我說了件秘密。

「我有件羞於承認的事:我被勒索了!」

「最好是啦!」我嘀咕著。

「姆姆戈莫同意替我清理一些物品,並找到了我的備用魚人服裝。他威脅要將我的真面目揭穿給其它魚人知道。」

我傻眼了。

「我不需要跟你解釋這會是一場多嚴重的混亂吧!」大王咕噥了一聲,「除此之外,我有個計畫得要把那套服裝拿回來。」

「然後?」

「拜託,請你前往避居地另一頭的北邊找姆姆戈莫,並答應他的要求,不管是什麼樣的要求。」

我想問,「為什麼要我去?」不過為了經驗值,還是走了一趟。反正沒幾步路。

往北走了幾步,看到這個一臉卑鄙樣的姆姆戈莫。

92276

「噢,你一定就是人稱莫戈莫戈大王僕人的那個人吧。我猜是那個夜精靈派你來安撫我的?」

「我才不是什麼僕人,有什麼事就快說吧!」

我被姆姆戈莫使喚去殺了一隻大虎鯨,交換回了莫戈莫戈大王的備用服裝。

姆姆戈莫還不忘記威脅兩句,「很好,只要你們的國王繼續協助我們對抗敵人,他的秘密就不會有洩漏的危險。」

我啐了他一聲,把備用服裝拿回給莫戈莫戈大王。

「該是結束這種違反自然情況的時候了。」 大王說道,「為了讓冬鰭魚人能夠有個未來,克拉希穆司必須死!」

「我要你帶著我的備用魚人服裝,以投降當藉口混入冬鰭洞窟。拿著白旗,魚人就不會攻擊你。」

「要我詐降? 一路殺進洞裡不就得了? 士可殺不可辱啊!」

「你要不要經驗值啊? 照我說的做。」 大王說道,「你可以在洞窟的西南邊最角落處找到他。一旦你靠得夠近,就解決掉克拉希穆司。」

我照做了。

穿上魚人裝,走向魚人洞窟。還好沒在吃泡麵,不然鐵定會笑著把麵打翻。

這魚人裝走路的樣子太搞笑了吧? 跳起來還會跌倒咧!

(後來才想到,我應該把這件魚人裝留起來的)

我穿著魚人裝,舉著白旗,一路走近龍蝦人。解任務的人很多,地上已經躺了兩隻龍蝦。

沒多久,殺了龍蝦人,我回到莫戈莫戈大王那兒。大王給了我經驗值,也任我選了一件裝備。

「謝謝你所提供的一切幫助。隨著克拉希穆司被擊敗,也許我們可以重新結合剩餘的魚人,封鎖那些洞穴。」

到現在還是為著冬鰭魚人著想,大王真是太偉大了,好感人。

不過沒時間傷感了,我招喚霜紋豹,繼續找經驗值去。

至於莫戈莫戈大王什麼時候才能回到塞納里奧遠征隊,我就不知道了。

============= 回到現實的分隔線 ===============

遊戲,就是要有趣。「魔獸世界」裡的這個任務串,讓我從頭笑到尾。一個很衰的生態觀察員,一個會勒索主人的清潔工,再加上一件很搞笑的服裝,害我笑了一整晚。

2008年11月24日 星期一

今天真是一整個好運到爆

今天是一定要記錄一下的。

SEGA野球這個遊戲,從看了銀狐的介紹以後,就一直玩到現在,算一算好幾個月了,也打了五年十幾個球季。

這遊戲不需要我花很多時間,每天只要抽一抽球員卡,調整一下球員陣容,然後就可以下線,讓球隊在伺服器裡自己去比賽。(非常適合上班族) 戰績好的球隊呢,會從菜鳥聯盟升上小聯盟,再升上大聯盟,戰績不好呢,就會往下降。

我的球隊這幾個月來,始終龜在小聯盟,距離大聯盟總是差一歩,期間還有一次不知道為什麼戰績超爛被降到菜鳥聯盟去。(結果在菜鳥聯盟好威啊,有史以來頭一次拿到聯盟冠軍)

終於,在昨天開始的第六年第三球季,我的球隊升上大聯盟了。(雖然是吊車尾,但也還是升上去了....)

只不過這一升上去,球員太弱的缺點馬上顯現,第一次碰到空間太充裕、球員不夠放....搞得我一開季就三連敗....

今天咧,照慣例又來抽球員。本來只是當做每天的例行公事,一點也沒打算補強球員(也沒什麼球員可補強就是了),但是就在這個時候,棒球之神顯靈了。

噹的一聲,第一張就是傳說版的球員卡,不是郭泰源,不是陳大豐,也不是野茂英雄。不管他。除非給我郭泰源,否則SEGA別想賺我的錢。

然後....

一張Cost 10的球員卡出來了....拉米瑞斯.... (哇..今天真好運..頭一回抽到Cost 10的球員..)

然後....

一張Cost 8的球員卡出來了....赤星憲廣....(不會吧.. 又一張.. 今天是怎樣..)

然後....

一張Cost 6的球員卡出來了....平野惠一....(蝦咪.. 今天會不會太賽了?? 平常抽到Cost 6就已經很滿足了,今天跟著Cost 10, Cost 8的後面出來,是在搞笑吧?)

十張抽完,大滿足!!

這下子,應該可以在大聯盟多撐兩個球季了吧....

2008年11月21日 星期五

遊戲中的腳本語言

這幾年,越來越覺得遊戲內的腳本語言(Script Language)是一個必要的東西。尤其是遊戲越做越大,越做越複雜,沒有個理想的腳本語言實在是沒辦法應付這樣的需求。

在以前那個一切都還很美好的時代,遊戲也很美好,也很簡單,我們不需要太複雜的腳本語言。簡單的一個文字檔,寫下NPC的ID,起點的位置,終點的位置,然後我們就可以控制NPC,讓他在場景裡從這邊晃到那邊,再從那邊晃回來。

沒有人會嫌這隻NPC很單調。

不過時代不同了。

大概在半年多一年以前,我們的遊戲有個需求,我們需要在人物技能的Tool tip上,顯示各種技能在攻擊與防禦上的影響,而這些影響會跟著人物屬性數值變化。遊戲企劃給了一些公式,大概都是把屬性數值拿來加減乘除算一算。

於是我們的程式設計師很認真的開始分析這些公式,希望可以找出規則,產生出個表格,然後用一個函式搞定所有技能影響的計算。

如果你也是這麼想,那就表示你對遊戲企劃的了解還不夠深。

這規則只有神仙才找得出來。

於是我們開始引入腳本語言。

過去我們曾經研究過lua。lua名氣不小,而且自從「魔獸世界」的UI系統與它結合並且利用它發展出一整套的Addons之後,名氣更大。不過,我們選擇的是Squirrel

Squirrel,松鼠。不知道作者為什麼要取這個名字,它的Script檔案,附檔名是nut,就是給松鼠吃的堅果。很幽默。

Squirrel的作者據說是Far Cry這個遊戲的程式設計師,他們在Far Cry這個遊戲中原本是使用lua,所以骨子裡的程式碼是跟lua很像的。

好,回到我們的技能Tool tip。

舉個例子,有一個攻擊技能,會根據人物的力量屬性計算傷害加成,公式是這樣:

傷害加成 = (力量數值) x (技能等級+5) / 100

遊戲程式可以很簡單的把這個公式寫進程式中。但是隔沒幾天,任性的遊戲企劃來改公式了,於是程式設計師把這一小段程式改寫。又過了幾天,覺得這個技能太強了,又改公式,程式設計師又動了一次刀....

然後是無窮迴圈。

把這些公式的計算,開放在腳本語言中做計算,讓企劃可以自行修改,我們就能夠擺脫任性企劃的糾纏。

程式中的寫法當然不同了。

上面的傷害加成公式,是寫在Script中,腳本語言提供一個函式給遊戲程式呼叫,傳回傷害加成計算的結果。

function GetDamageModify()
{
  return PlayerStr() * ( SkillLv() + 5 ) / 100;
}

PlayerStr(), SkillLv()是兩個由遊戲程式提供給腳本語言呼叫的函式,分別會傳回力量屬性數值以及技能等級。

這兩個函式是額外寫的,腳本語言沒有強大到可以直接呼叫遊戲程式中的函式。我們必須將提供給腳本語言呼叫的C/C++函式,用腳本語言所能理解的方式再包裝一次,腳本語言才能使用它們。

這個包裝的過程,lua跟Squirrel叫做Bind。包裝的方法很繁瑣,也不容易理解。所以,有人利用Template寫出一整套的Binding工具程式庫。lua有luabind, Squirrel有sqplus。

RegisterGlobal(SquirrelVM::GetVMPtr(),&GetPlayerStr,_T("PlayerStr"));
RegisterGlobal(SquirrelVM::GetVMPtr(),&GetSkillLevel,_T("SkillLv"));

這兩行是寫在C/C++遊戲程式中,利用sqplus工具,將 C/C++ 的 GetPlayerStr(), GetSkillLevel()兩個函式,登記給腳本語言呼叫,在腳本中的函式名稱分別是 PlayerStr() 與 SkillLv() 。

這樣套入之後,我們與遊戲企劃就開始分工了。程式設計師需要做的,就是定義與實做這些提供給腳本呼叫的函式,至於公式的內容,就讓遊戲企劃自己去處理。

============= 時間的分隔線 ===============

話說,幾個月之後,遊戲製作人決定要重新檢視一遍所有幾十個技能的設定,同時調整所有的計算公式....

程式設計師笑了....

2008年11月7日 星期五

我是傳奇的異塵餘生

fallout-wp8-800x600

200px-Poster_of_I_Am_Legend

有沒有?

兩張圖有同樣的味道喔?

一個人跟一隻狗,走在同樣是廢墟的道路上。背著一把步槍。

看到「異塵餘生3」的這張圖,第一個讓我想到的就是「我是傳奇」這部電影。電影是有點單調沉悶,反倒是電影海報讓我印象深刻。異塵餘生這款遊戲呢,說真的,我不是很喜歡這種帶著恐怖的遊戲,更何況遊戲的戰鬥進行方式還是類似FPS的戰鬥方式。我在FPS連線遊戲中只有一種角色,槍靶子。所以在異塵餘生這個遊戲裡,也是很慘。

我需要Cheat Code…

(圖片取自網站)

2008年11月5日 星期三

全世界最有權力的黑人

art.obama.historical.gi

(圖片取自CNN網站)

雖然嚴格說起來,歐巴馬是混血的非裔美國人第二代,但這依然是歷史性的一刻。不僅僅是美國歷史,也應該是世界歷史中的一筆。

最近在閱讀美國史(中文翻譯啦,英文閱讀能力還沒有這麼高..),我想可能很快就要改版了,要把歐巴馬的這一場歷史意義加進去才行。

曾經在電視上看過一次歐巴馬的演講,非常的撼動人心,尤其是一再強調的一句”Yes, we can.” 連在地球對面,跟這個選舉沒什麼關係的我,都可以感受到震撼。

說實話,無論是演講技巧還是聽眾情緒拿捏的功力,我們台灣的這些人物實在是差太遠了。

一兩百年前,黑人是隸屬於主人的「財產」,是在市場上買賣的「貨物」,現而今,雖然還沒就任,但已經產生了一個即將是全世界最有權力、最有影響力的黑人。

今天,見證到了一個歷史。