[產品開發] 意外:Ghost 與 Belt 重新設計
GASS 遊戲製作工具的功能裡面有一種叫做 Ghost ,就是很像半夜拿一支金魚火花在空間中移動,眼睛會覺得空間中有殘留影像,像是拖著一條尾巴的特效。
另一種叫做 Belt ,就像跳彩帶舞那樣,拖著前面的頭捲動或翻轉,後面的彩帶就會跟著動。最近比較少見這種表演,可參考 Jolin 的「舞孃」MV,就有彩帶舞。
這個週末被迫把這 2 個特效整個功能重寫!
原本做第 4 關魔王飛天掃帚三魔女時,由於加上了新的 GASS 指令 Roll ,做邊移動邊滾動就方便了很多,一切還算順利。
沒想到做了這個風魔法:「風龍術」的時候,卻出了意外。 原本還想,終於可以把上個月被煩人「雜蟲」拖延的進度趕上一點了。真是天不從人願!
風龍術,顧名思義,就是風像一條龍捲動。
因為每台電腦的顯示卡不同,運算速度不同,畫面更新率 (FPS = Frames Per Second) 也就不相同,拖出來的尾巴樣子就會不一樣。愈慢的電腦與顯示卡,將會愈稜稜角角,而且,長度會因此突破更新長度的控制,而拖得比原本長很多。
結果,就變成下面這張圖那樣:
(Ghost 功能重寫前,「用鐵絲硬拗成的拒馬」都比這個「壞掉的彈簧」好看…… = . =)
這還是我的新電腦「降速模擬慢速」以後跑出來的,其他比較舊的電腦,圖中那些稜角還會更多、更粗糙! 然後,若三隻巫女同時發射魔法,就會有更多這種影像疊合在一起。
很不幸的,總監 hyc 看到這種法術,就說:「像一堆雜碎擠在那裡,醜死了!」。(我很懷疑是因為上週五晚上,我批評他最喜愛的漫畫「刃牙」的作者,所畫的角色臉上總是充滿著刀疤,好像縫紉機車過的補丁線。導致他先懷恨在心,而挾怨落井下石的關係!)
總監 Gibarman 雖然比較含蓄一點,但也不遑多讓,說:「你要不要把這個法術留給最後魔王?」(想把問題往後拖,看我會不會放棄?)。
另外,我出門吃飯的時候,Gibarman 還追加補傳了一張韓國線上遊戲的法術剪圖給我看,裡面是發射一枚「波動炮」的樣子,說:「給你參考一下,可能跟你要的很類似。」(X的咧,這是風龍耶,跟波動炮有什麼關係啊?幹嘛叫我改成波動炮? = 3 =)
不知道為什麼,這麼趕的時候,還被他們這樣噱,頭一次讓我氣到快要七竅冒煙、氣血攻心,一股無名火冉冉升起,實在讓人非常不爽!
以前會覺得算了,用別的方法改。這次不知道怎麼搞的,硬是覺得嚥不下這口氣……
我推測應該是那個韓國遊戲的「波動炮」,成為壓垮我這隻駱駝的最後一根稻草。Gibarman 好心的建議,在我正處於「魔由心中起、惡向膽邊生」的心情下,「波動炮」簡直成為諷刺我們的 GASS 居然寫不出「風龍」這種特效的嘲笑羞辱!(不知道為什麼,我猜如果波動炮是 XBox 360 的遊戲上出現的特效,我應該就不會這麼不爽才對。)
仔細想想,GASS 工具裡面,什麼東西差不多都有穩速,就只有這兩種特效,會隨著玩家電腦的速度不同,而產生不同程度的「變形」,實在很像美女臉上化個大失敗的「如花妝」。
「還是改了吧!」這個聲音纏著我整個週末。
畢竟新的 PC 或 XBox 360 的 3D Game,哪一款做這種曲線特效會這麼兩光的?雖然說遊樂器平台因為硬體固定,比較沒有這種困擾。
但 Gibarman 丟剪圖給我看的那一款韓國遊戲,在他們的日本代理商網頁 demo 畫面中,有出現曲線特效的東西也是做得很漂亮。(這又讓我更不爽!管他是用模型欺騙人眼,或是跟我們一樣是即時運算的! \ _ / )
那款韓國線上遊戲,還是我先丟給他們看,跟他們說:「這個遊戲特效好像不錯耶!還每天在西門町圓環的大液晶電視廣告哦!」,他們原本還一起不屑的咧!(不消說,再次「大桶大桶的」火上加油! T 皿 T)
(測試中的新 Ghost,風龍拿掉 1/2 的特效,觀察速度與表現以便修改。)
(重寫過後的 Ghost ,雖然可以看到左邊的數字 16 FPS [每秒畫面更新數],跟上面舊的醜陋版是一樣的少,看起來卻跟舊版的 60 FPS 以上的效果一樣。)
還好,10 年前我就在研究 spatch 這套軟體的曲面如何成像。
3 年前還做過一版利用衛星空照圖的資料,實作的青康藏高原 spatch 地圖。
原本是為了 MMORPG 而設計,後來因為資金短絀、程式、工具設計上未解決的問題,尚未完全發展完成,就沒有把「曲面」功能放進這一版的 GASS 與拜金勇者裡面。
爰此,曲線計算的程式碼已經過驗證可用。
於是,週末推論了一天一夜,終於把 B-Spline 計算方式,成功推衍套用到特效的曲線化之上。在畫面更新率太小時,就可以把原本粗糙的幾個「大折角」點,換算成細緻的 B-Spline 。
因為 B-spline 的計算方式,其中會有 1 或 2 點成為控制點,沒辦法讓曲線完全通過指定的 3 或 4 個點,造成曲線比預定的位置更縮小。為了克服這個問題,才會多花了一天,沒辦法直接套用舊的 spatch 程式碼。
重寫完 Ghost,週日晚上又焚膏繼晷,繼續改 Belt。
第 3 關魔王大鬼眼騎士揮刀的時候,原本會有一道漂亮的弧線光芒,是以 Belt 像彩帶那樣黏在刀尾做的。但是在顯示卡比較差一點的電腦上,就會像下面的圖那樣:
(重寫前的 Belt,刀光變成「五角大廈」,一點都不帥氣…… = 皿 =)
之前寫好第 3 關魔王的時候,因為它的出現頻率不高,也沒有影響遊戲的「品味」太嚴重,所以 Gibarman 跟 hyc 沒有像這次這麼機車,放過我一馬。
但既然 Ghost 都解決了,豈有放著這原應該漂亮的刀光不管的道理呢?就是比 Ghost 同時多算 1 條曲線嘛!
(重寫後的 Belt ,跟 Ghost 表現一樣 OK! ^_^)
果然,寫遊戲還是要多唸書。
在這樣窮困、負債累累,還要堅持產品做出好品質的情況下,10 年寒窗苦讀居然沒有白費,不禁泫下一把酸苦淚!
記得不知道是聽誰說過「電子遊戲是小孩子的玩意兒」這種話?發言者顯然應該是書讀得不夠。 = _ =
4 則留言:
那位老先生只是不想活到老學到老而已,一腳踏進棺材的滋味畢竟不好受~ (懶的登入的gibarman)
給 [gibarman]
=============
嘿嘿……懶的話就早點退休唄,給其他年輕人一個機會嘛……
那個風龍術怎麼看都像個東西在那邊跳啊跳的..雖然沒人看過真正的龍,不過動畫那些可能也看過一點,以蛇為藍圖去想像遨翔的龍或許會更好.
給 [lee]
========
嗯……謝謝建議。
但那應該是靜態剪圖的角度問題。實際上的運作,它是呈現橫向螺旋狀的方式移動。
可以想成風龍是對著一根與地面平行的龍柱纏繞而行。
張貼留言