從業30年‘老司機’給遊戲開發者的4條經驗

【Gamelook專稿,轉載請註明出處】

Gamelook報道/最近,我離開瞭從業很久的軟件研發行業,實際上,我專職從事軟件研發的時間已經超過瞭20年。在9-10歲的時候,其實我就已經寫瞭第一款遊戲,並且直到20歲參軍以及長大成人之前還在寫遊戲。所以,如果算上之前的經歷,加上目前的職業生涯,我做遊戲的時間整整超過瞭30年。

developer

在這短時間裡,我學到瞭非常有價值的經驗,其中很多與遊戲研發相關,還有一些是軟件方面的,所以這裡我希望分享一些相關的經驗。

1.如果它沒有趣,那麼你的遊戲就做錯瞭

在我職業生涯中的很多時間裡,我經常會涉及多個領域的軟件研發,毫無例外的是,無論什麼時候開始一個領域的軟件研發的時候,我都會很快離開。拿主機托管來說,我在90年代的公司曾經開過一傢這樣的公司,並且非常樂於做復雜和先進的發行方案。在某些時候,我們停止瞭這些東西,因為這件事變得太嚴肅,人們希望購買我的公司,還包括其他的增長問題。我們比武專註於什麼能夠帶來收入,而不像之前那樣專註於優秀的事情,所以這件事逐漸變得無趣,而隻是關於掙錢瞭。



當然,結局顯而易見,那傢公司一年之後就失敗瞭。

做研發總要有時候嚴肅對待,但永遠不要把簡單的樂趣抹去,因為當你喜悅所做的事情的時候,更容易有動力。

所以我的經驗是:做那些可以激發你的熱情並能讓你高興或者開心的事情。

2.要一直學習,因為知識和技能是容易掌握的

我學的的一個重要經驗就是,在停止瞭一個項目或者任務之後,一定要盡可能多的學知識,我這麼說的意思是你應該永遠都確保自己在做某些事情的時候學到東西,即使是完全做失敗瞭也要確保是否自己沒有遵循某些規律。

這樣做的目的有兩個,首先,它可以鍛煉你的大腦,從我的瞭解來看(這不是科學證明)人的大腦和身體一樣需要經常的練習才能保持健康。然而,其次就是知識很容易保留下來,你搬到另一個城市的時候並不需要額外的空間帶著它,你也不用在未來30年為此付出任何租金,學到瞭它就是你的,是免費的而且是無價的。

當我們做首款遊戲《Maff’s Math Game》的時候,我們更關註的是學習如何真正的做一款遊戲,換句話說,我們的整個團隊大多是在沒有計劃也沒有盈利打算的情況下從完整的遊戲研發過程學到瞭東西。這種做法的結果是,我們現在開始新遊戲的時候可以直接略過很多的學習過程並且更快的得到結果。沒錯,這個學習的過程可能會投入比較多的資金,但我們知道在長期來看,這種投入的回報是很多倍的。

學到的經驗是:Omnia mea mecum porto, my life motto.(拉丁語:我所有一切的財富都帶在身邊,這就是我的人生格言)。

3.始終做可重復使用的資源

我的公司Lobster Games目前在做一個新的遊戲系列叫做《Final Arena》,我們並不確定遊戲玩法是完全正確的,我還沒有對它進行測試,但我們的研發還在進步中,我們現在招聘瞭作曲傢、模型師、動畫師等崗位。如果按照傳統的觀念,一定認為我們這種做法是瘋瞭,“你需要盡早測試你的想法,這樣可以及時發現錯誤”,我同意這個觀點,但我學到瞭更為重要的經驗。

你看,我們做遊戲的方法,代碼庫可以讓我們快速的替換掉遊戲中的任何部分,如果目前的玩法不合適,沒問題,我們可以換一些更好的,但這並不會改變我們需要控制角色的系統、講述遊戲故事、存儲遊戲狀態、追蹤角色健康值和物品欄等事情。通過把各種不同的組件分開來做,我們可以在不影響其他遊戲部分的前提下進行替換。同樣重要的是,我們可以把這個遊戲中的一些部分重新在其他遊戲中使用,因為絕大多數情況下,未來的遊戲都需要有音樂、故事和角色。

學到的經驗:始終要重復使用資源,即便有些資源你可能不會重復使用,但在做的時候也要假設它會被再次使用,這個做起來比你想象的還要簡單。

4.編程語言並不相關,但卻是必須會的

比我更聰明的人也談論過電腦語言,但我更喜歡引用的名言是,語言之於編程就像望遠鏡之於天文學一樣重要,你需要學一門,但這並不是目的。我經常看到有人爭論到底那種語言才是最適合遊戲編程的,然而真相是,沒有答案,所以這也是該問題持續瞭十多年但仍然沒有清晰答案的原因。

所以,隻要做遊戲編程需要一個語言,那麼至於是哪個都沒有太大的關系。

這裡我們就要說到本部分標題的後半句,你始終需要會一種編程語言,不管現在有多少種不需要編程就能夠做遊戲的工具,但學習編程對於遊戲研發都是至關重要的,如果你不學會編程的話,你很難做好遊戲研發。在我此前十多年一直就職的SharePoint公司,這個是微軟不得不取消最重要的非編程研發工具,一個工具的視覺設計界面就被稱為SharePoint Designer,此前叫做Frontpage,瞭解的人應該會知道。微軟也表示他們這麼做是因為SharePoint遇到瞭MySpace問題。

之所以出現這種問題是因為,很容易出現你認為輸出瞭價值但實際上更多時候並沒有,很容易讓你和你的團隊陷入死胡同。

然而,對於一個程序員來說,尤其是有經驗的程序員,他們會在開始做解決方案之前就掌握瞭問題的大部分原因,他們知道維護性、擴展性、安全性以及很多簡單網頁轉換從來不會遇到的問題。這並不是因為程序員們有非常高的智力或者其他東西,而是因為學習寫代碼可以讓你用更加清晰和有條不紊的解決問題,隻要有可能,我都會催促人們學習編程,即使很多人一輩子都不需要寫出來一行代碼,理由很簡單,因為它可以讓人們用更清晰的方式解決問題。

學到的經驗:一定要學編程,沒有任何理由。

所以,這些就是我認為最重要的四條經驗,這些都是我在30多年的軟件研發經驗中所學到的東西,並且已經積極的應用在瞭遊戲研發生涯中。

(本文英文作者:Bjørn Furuknap)

Comments are closed.