張路斌:從HTML5到Unity的遊戲開發之路

Spread the love

非計算機專業出身、熱愛遊戲的張路斌,為了離夢想近一些,畢業後前往日本,選擇在遊戲行業發展。在這段時間裡,他在CSDN博客里撰寫了幾十篇技術文章,並著有《HTML5 Canvas遊戲開發實戰》一書。

張路斌,英文名Lufy,非計算機專業出身,由於本身喜歡玩遊戲,畢業後千里迢迢前往日本,從事遊戲開發工作。一開始接觸Java、.Net和PL/SQL開發工作,由於碰上金融危機公司裁員,便跳槽至一家小公司做了半年手機遊戲開發,隨後到一家網際網路公司工作。現在在一家遊戲公司上班,接觸最多的是Unity開發。

Lufy曾開發《楊家將傳奇》、大型網頁遊戲《アイドルバトル》、《Flash遊戲ポイガチャ》、多平台三國記系列遊戲,以及數十款手機小遊戲。在CSDN博客上撰寫了幾十篇的技術博文,還著有《HTML 5 Canvas遊戲開發實戰》一書,並獨立開發了HTML5遊戲引擎lufylegend。

近日Lufy接受專訪,讓我們一起來看看他在日本遊戲發展道路上的點點滴滴。

問:請先介紹下自己。

Lufy:大學畢業後,我最先接觸Java開發,後來到日本做.Net和PL/SQL開發。很不巧的是,我在日本碰到了嚴重的經濟危機,一起出來的小夥伴們都回國了。相比下,我運氣較好,找到了一家做手機遊戲開發的小公司,後又跳槽至另一家網際網路公司,主要接觸PHP、JavaScript和Flash。現在在一家遊戲公司工作,接觸最多的是Unity。

問:非計算機專業出身,為什麼會選擇到日本,在遊戲行業發展?

Lufy:我做這個行業,主要是因為我喜歡玩遊戲。遊戲玩多了,自然就會有「遊戲中的某個地方要是如何如何設計,或許會更好玩」之類的想法,就會想要自己去做一款遊戲。

大學時,我做了一款《楊家將傳奇》,在同類遊戲中,它的人氣還算不錯,現在也有不少人在玩。這款遊戲對我的影響非常大,也更讓我堅信遊戲開發之路。

畢業後來到日本,很大一部分原因是我比較喜歡日本的遊戲,到日本發展或許會讓自己離夢想更近。實際上,到去年年末之前,我都不算是一個全職的遊戲開發者,我之所以一直在堅持,是因為我很喜歡遊戲開發。

HTML5的遊戲開發經驗之談——縮短開發周期,並想辦法維護

問:我們知道您曾獨立開發大型網頁遊戲《アイドルバトル》、《Flash遊戲ポイガチャ》、多平台三國記系列遊戲,以及數十款手機小遊戲,能和我們分享下經驗嗎?

Lufy:經驗談不上,我就根據自身開發經驗簡單的說下。之前我開發的有點規模的遊戲,現在都已下線了。前幾天我聽了一個遊戲經驗的分享,和我的想法不謀而合,我在這裡和大家分享下。遊戲開發者都知道,一款遊戲是否會火,根本就是不可預計的,有的遊戲畫面特效做得相當絢麗,有的遊戲內容非常有意思,有的遊戲玩法特別新穎,但最後都被淘汰了。當然,以上這些因素都是一款好遊戲應該具備的,但也不是必要的。有時你覺得遠不如自己的遊戲反而一夜之間火爆了,有些簡單的不能再簡單的遊戲,反而取得了很大成功。

所以,經驗告訴我們,遊戲開發,就是不斷的重複再重複,挑戰再挑戰,沒人知道這個遊戲是否會讓你或者你的團隊「一夜暴富」。

此外,我認為遊戲開發應該儘可能的縮短開發周期,讓市場來決定你的遊戲是否生存下去,然後再想辦法維護。就像很多美劇一樣,拍攝幾集就開始播,先觀察觀眾的反映和需求,反映不好還可以調整,或者直接放棄。當然,還有一些開發者開發遊戲是為了自己的興趣或者單純的為了實現自己的某個理想,對他們而言,遊戲做出來了,就已經算成功了。

問:2013年時,您寫了一本名為《HTML5 Canvas遊戲開發實戰》的書,能介紹下嗎?

Lufy:這本書有對HTML5 canvas的API的詳細介紹,也有對lufylegend.js引擎的使用詳解,更重要的是,書中以實例為嚮導,詳細講述對休閒、射擊、物理以及網路遊戲等各種類型遊戲的開發流程,包括遊戲分析、開發過程、代碼解析和小結等相關內容,幫助讀者了解每種類型遊戲開發的詳細步驟,讓讀者徹底掌握各種類型遊戲的開發思想。最後,書中通過數據對比分析,指導讀者提升程序的性能、寫出高效的代碼,從而開發出運行流暢的遊戲。

問:既然您提到了HTML5遊戲引擎lufylegend,那麼能否介紹下為什麼會有自己開發引擎的想法?

Lufy:至於我為什麼想開發自己的HTML5遊戲引擎lufylegend,這裡我依然引用《HTML5 Canvas遊戲開發實戰》一書前言中的一段話來回答我開發HTML5引擎的原由:

我是一個喜歡不斷學習新知識的人,所以當HTML5作為一種新技術出現的時候,我沒有理由不去了解它。由於本身對JavaScript有一定的了解,所以我在學習HTML5的Canvas時,上手非常快。出於對ActionScript的喜愛,我一開始便試著在JavaScript中模仿ActionScript的API來做開發,並且在博客上發表了《用仿ActionScript的語法來編寫HTML5》系列文章,這便是最初的lufylegend開源庫件的構建過程。當我把自己研究的類庫整合到一起後,發現它使用起來十分方便,使用它來開發遊戲可以節約大量的開發時間,於是我將其分享到了網上供大家免費使用,希望給相關開發者提供便利。

問:lufylegend有哪些優勢呢?

Lufy:lufylegend的優勢在於入門簡單、性能高等特點。其實所有的引擎都有一套自己的標準,並在這個標準上進行封裝和擴展,所以在渲染過程中必然要增加很多額外的處理和計算等,但這些都會導致引擎效率的降低。而我在這款引擎的設計和維護上,一直堅持以高性能為第一目標,儘量簡化渲染流程,以達到接近原生渲染的速度。

我之前做過一個測試發現,在Canvas 2D基礎上,lufylegend的渲染速度高出其他引擎很大一截。目前,lufylegend正在追加WebGL渲染功能,相信不久後的2.0版本,lufylegend在渲染速度上依然會保持領先。

當然一款引擎只比性能是不夠的,還要比易用性。在lufylegend交流群里,很多人都說,lufylegend太簡單了,用它一天就可以開發出一款簡單的小遊戲。這個絕不是吹牛,lufylegend在設計上模仿了Flash的API。此外,在lufylegend中還有顯示列表、對象、繼承、事件等,極大的彌補了JavaScript在開發過程中的不足。

lufylegend中還提供了對Box 2D的簡易封裝,以及Tween,不同螢幕的自動適配等功能。此外,我還引入了一些在Unity開發中自己發現的一些比較實用的小功能,這都讓lufylegend更方便使用。

問:HTML5瀏覽器兼容性問題讓人很頭疼,你怎麼看待這樣問題?

Lufy:說到兼容性,這也是出現許多引擎的原因之一。不同瀏覽器會有不同的處理,比如不同螢幕大小的自動適配,比如各個瀏覽器對音頻的支持度等。開發者要麼自己進行處理,要麼就接觸第三方工具或者引擎來處理。一款引擎,只有幫助開發者解決問題,才能受到歡迎。

我覺得大家可以對兼容性持樂觀態度,因為,兼容性的問題不可能會完全消失,但隨著一系列標準的完善,這類兼容性問題會越來越小,未來會更小。所以,兼容性、渲染性等問題,應該交給引擎和框架來解決,開發者應該把重心放在自己的產品和開發上。

問:你覺得HTML5在開發遊戲時有哪些優勢?對它未來發展有哪些看法?

Lufy:用HTML5開發遊戲最大優勢在於它的跨平台性,即無需進行下載就可進入遊戲。一個連結一個二維碼就可以在任何平台上向其他人分享你的遊戲,還有比這個更簡單的傳播方式嗎?再一個開發JavaScript人員儲備充足,這也是一個很大的優勢。

HTML5出現的時候,我認為它是未來Web的方向。在移動開發方面,HTML5已經是主流了,這個不用多說。隨著移動端和PC端對WebGL等新功能的支持,也讓HTML5有了更大的發展空間,我覺得不光是在遊戲領域,未來HTML5一定會滲入到各個領域。

Unity能夠縮短遊戲開發周期,但學習成本高

問:您最近剛換了工作,現任工作最多接觸的是Unity開發,可以說您現在也是一位Unity初學者,請問在學習Unity時,遇到了哪些難題?

Lufy:我本身英語比較差,unity的介面是全英文的,所以遇到第一個問題就是打開unity後,眼睛看到的基本都是問號。這個難題我只能自己去查資料、摸索,慢慢學習資料查多了,再多的問號也就變成了文字。

我比較喜歡Flash開發,對於Flash的設計理念根深蒂固,所以剛接觸Unity時,遇到2D介面的開發,我總是將Flash的思路帶入到Unity中,不過經過公司Unity大牛的指點,最終回歸正途。此外,Unity還有自己的一套標準,如果只是將以前完全不同領域的思路或做法強加到Unity當中,只會讓後期開發變得越來越困難,這也是導致很多Unity開發者失敗的原因之一。

再一個就是unity太複雜,並不是短時間內就可以掌握的,我接觸時間還比較短,現在依然在逐步深入學習當中。

問:Unity在3D引擎方面具備卓越的品質和優勢,同時也支持2D遊戲的開發,您覺得它和HTML5相比,有哪些不同和優劣勢?

Lufy:其實Unity和HTML5基本沒有衝突點,Unity主要是App開發,而HTML5的優勢主要是頁游開發或者是依賴於WebView的端游開發,這要看公司的產品側重哪一塊了。

不過既然問到了,我簡單說一下自己對Unity的看法。Unity的優點很多,簡單總結的話,主要有以下幾個方面:

相對於遊戲引擎來說,功能非常完善;

學習資料豐富,交流社區也很強大,開發案例多;

可以在PC端預覽,Debug方便;

Editor的擴展方便;

GUI、以及NGUI等UI組件豐富;

多平台支持;

可以直接在AssetStore中購買所需素材或組件等。

因為以上優點,使用Unity開發,能夠有效的縮短遊戲的開發周期。當然缺點也有,比如說學習成本比較高,想短時間深入了解Unity是不可能的。

問:給我們簡單的介紹下日本遊戲市場吧?

Lufy:這個問題比較大了,我只能簡單的說下我對日本手游的一點了解。

日本手游中卡牌遊戲居多,遊戲一般都採取免費下載、內部收費的形勢。

日本的手游的發布渠道比較單一,一般只考慮蘋果以及谷歌旗下的應用商店就可以了。

日本用戶消費意識很高,日本人對扭蛋尤其鍾愛,其也是日本手游的主要收費方式之一,卡牌類、RPG類、養成類、戰略類,無論什麼類型,扭蛋幾乎無處不在,而且所有人都會大把的往裡砸錢。

日本手機網速比較快,而且手機上網基本上都是包月形勢,所以不用擔心遊戲流量問題。

日本人對手機遊戲的狂熱程度絕對超出你的想像,路上、電車上、廁所里,任何地方都能看到低頭擺弄手機玩遊戲的人。這也決定了,能夠適應碎片化時間的遊戲會比較賣座。

問:以後會回國發展嗎?怎樣看待國內遊戲市場的發展?

Lufy:這個當然,以後肯定會回到國內發展的。其實我覺得無論國內還是國外,手游開發都將成為未來遊戲開發的主流。而且國內有著全世界最大的用戶群,很多國外公司都開始進軍中國手游市場,把中國當成最大的遊戲市場,包括我現在的公司也是。

現在智慧型手機在國內已經很普遍了,而且性能越來越高,再加上微信等各種平台渠道的推廣,所以未來國內的遊戲市場也就是手游市場,手游市場必將取代PC遊戲市場。

問:給同樣熱愛編程遊戲的小夥伴們提供一些學習建議吧。

Lufy:這是一個老生常談的問題,之前也有很多人總結過了,我再總結一遍吧。

自己多動手,有些東西看一百遍或者聽一百遍,也不如自己寫一遍理解的透徹。

多看代碼,現在開源的代碼庫這麼多,這絕對是提高自己編程能力的一個捷徑。

多跟人交流,有些問題可能自己通過調查解決了,但如果聽下其他人的想法,或許會學到更多。

尤其在你剛接觸到某個新領域的時候,一定要多看書,這個書包括電子書,或者網際網路上一些從基礎到深入的連載文章。

在開發過程中,最忌諱的就是遇到問題不思考就發問,雖然我覺得大家都知道這樣不好,但是這類人確實有很多。舉個簡單的例子,一個對象的某個屬性可以設定為兩個不同的值,對於會學習的人來說,他會將這兩個值分別設定,然後看一下結果有什麼不同。而另一部分人,會直接到論壇或者QQ群等地方去問。這就是自學能力差異的體現。

本文作者單明珠

產品中國(微信號:pmtooo),這裡有很多產品、數據、設計和技術乾貨,已經有5萬人正等著你加入!

若無註明,本文版權屬於產品中國,轉載請註明出處。

文章來源:產品中國

原文網址:https://read01.com/KE55PO.html

spot_img

More like this

【 紗羅 ̵...

https://www.youtube.com/watch?v=lY3UiUmJ3-o Sara Ch. 紗羅 【群星計畫 / 比鄰星域所屬】 哈囉~ 我是紗羅!請多多指教! 虛擬中文系研究生,朝知識型Vtuber的方向努力著。 夢想是在家裡打造一座圖書館。 隸屬於臺灣Vtuber企業團體「比...

【水上玄子】《誰是中...

https://www.youtube.com/live/Dkj6FbsF0yI 大家好,我是病氣系vtuber水上玄子,擅長占卜、直覺溝通,目前常態企劃有鳥卦人生,請大家多多指教<3 生長自夢境,想成為人類與人們一同生活,先是變身成鳥,才終於成為人形。 病氣系vtuber,罹患焦...

【納希斯Narcis...

https://www.youtube.com/watch?v=YArbmONSXUE 本週六日11/9-11/10在花博,巴哈姆特要28周年站聚啦! 聯合各家 VTuber 相關獨立遊戲開發團隊,並打造了雙面巨型看板,邀請120位台灣VTuber主播們一起幫巴哈慶生。 歡迎大家到現場...