9 GP
遊戲上的技術
作者:likwueron│2015-08-15 00:09:19│巴幣:18│人氣:248
好像一個禮拜前(還是一個月?),就有人在爭日本遊戲的技術問題,而今天我又看到了。
我看到各種離題,也看創意至上論。
嘛,以一個寫過程式的人,講一下技術的重要在哪。
C語言要怎麼讓兩個數字相加?
a + b;
我現在用函式
int add(int a, int b)
{
return a + b;
}
這就是技術。
啥?等一下,這鬼東西叫技術?
嗯,沒錯,比起拿那些「不明覺厲」的東西,我覺得這種最基本的東西才是表現技術最好的方式。
因為技術,嗯,程式技術本質上就是要讓你覺得:事情就是那麼簡單。
講難一點的好了。
今天兩個物件視窗和按鈕,我希望按鈕按下去時把視窗關掉。
所以我寫了一個草案:
class Button
{
void when_button_clicked()
{
window.close();
}
Window window;
}
class Window
{
void close();
}
啊,這時,你的老閭出來了:「另一個按鈕要能叫印表機開始列印」
你要怎麼做?寫CloseWindowButton和PrintButton嗎?
這邊,我用Java寫個草案(其實我想用Qt啦,只是Java比較有名)
class Window
{
public Window()
{
Button closeBtn = new Button();
closeBtn.setOnClickedListener(new OnClickedListener() {
public void onClicked() {
m_this.close();//我忘了能不能用Window.this.close()
}
});
Button printBtn = new Button();
printBtn.setOnClickedListener(new OnClickedListener() {
public void onClicked() {
Printer.print();
}
});
}
private Window m_this = this;
}
如何?
Java透過OnClickedListener這個類別,把原本寫死的操作分離出去。
再加上匿名類別,很大的把要寫的東西降低。
現在你不需要很蠢的寫class CloseWindowButton和PrintButton了。
所以,技術這東西很單純的就是把重複性的作業簡化,讓你專注處理類似事物間不同的地方。
啍,簡化有什麼了不起的?
我之前看動畫白箱的時候,看到一景
美沙跑去問繪麻要怎麼讓3D畫面更生動,繪麻指出應該是中間幀的問題。
調整後的結果看來令人很滿意。
這時,我想到了,既然可以把2D的想法套給3D,反過來說3D的想法也可以套給2D嘛。
寫一個程式,給它兩張圖,產出中間幀。(其實以前我玩Flash時有碰過這東西的基本版)
這是技術,雖然它可能會讓繪麻失業,但從上面的角度來說無疑是能減少人力成本或加快製作的好東西。
今天日本技術落後,當然可以用其它地方補足。
因為技術本身只是工具而已,用小畫家畫出神圖網路上都可以找到。
但是,當你技術落後時,你的生產成本會比別人高、生產週期會比別人長。
最嚴重的是,它國原本沒相關訓練的人會因為生產工具變簡單(這也是技術提升的結果)而得以參與遊戲製作。
其實日本也有一個很好作品:RPG Maker
你看它,降低生產成本、減少開發週期、拉低參與門檻
有多少人因此而得到了寶貴的製作經驗?又有多少公司得到一批有經驗的新鮮人?
而西方國家在這方面肯定會因為更先進的技術而有更強的工具。
現在或許還看不出來,但它會慢慢的,一點一點磨,最後某一天我們醒來,突然發現,日本遊戲玩完了。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2930206
Some rights reserved. 姓名標示-非商業性 2.5 台灣