楊亨冉:用Silverlight實(shí)現(xiàn)跨平臺游戲開發(fā)
原創(chuàng)相對于iOS和Android的開發(fā),Windows Phone開發(fā)還是有它獨(dú)特的優(yōu)勢的。比如,它很好的跟微軟開發(fā)工具結(jié)合起來,以及與微軟成體系的產(chǎn)品都能很好的銜接。
如果你曾是一名使用微軟Silverlight技術(shù)的開發(fā)人員,那么有個好消息是,你可以很容易的把你用Silverlight開發(fā)的網(wǎng)頁應(yīng)用移植到Windows Phone手機(jī)上。
中游在線就正在做這樣的事。作為微軟的MVP,中游在線的總經(jīng)理?xiàng)詈嗳綄ilverlight技術(shù)非常熟悉,中游在線公司所有的游戲都是利用Silverlight來開發(fā)的,包括大型的MMORPG和各種休閑類的小游戲。同時(shí),他們還積***力于Silverlight技術(shù)的推廣,包括推出了一些開發(fā)工具以及定期舉辦線下討論沙龍等。
Silverlight跨網(wǎng)頁與移動平臺的移植
在回答51CTO記者“將Silverlight開發(fā)的網(wǎng)頁游戲移植到Windows Phone手機(jī)上有多大難度”的問題時(shí),楊亨冉很輕松的說“幾乎沒有什么難度”。他表示,移植中更多的精力會放在對UI適配的解決上,畢竟大屏幕的網(wǎng)頁游戲與小屏的移動終端在視覺體驗(yàn)上會很不同。此外,還有一些代碼上的細(xì)節(jié)問題,比如,網(wǎng)頁版游戲你需要用工程模板來實(shí)現(xiàn)類似前進(jìn)后退這樣的導(dǎo)航功能,但是在Windows Phone 7 上,由于系統(tǒng)本身就帶有翻頁的功能,所以移植的時(shí)候要把原代碼中跳轉(zhuǎn)的部分去掉。
“代碼上的話,除非你用了很多Silverlight網(wǎng)頁上一些新的特性,或者Windows Phone 7上很多特性,改起來就麻煩一點(diǎn)”,楊亨冉說。
在去年的TechEd上,楊亨冉曾現(xiàn)場用Silverlight寫了一個簡單的游戲,然后把它移植到Windows Phone 7上,整個過程不超過15分鐘。而對像《窩窩世界》這樣大型MMORPG游戲的底層移植,只用了不到兩個星期。
當(dāng)然,這其中有個細(xì)節(jié)是,《窩窩世界》的移植是在Windows Phone Mango版上進(jìn)行的。因?yàn)樽畛醯腤indows Phone 7版本不支持Socket,在7.1即Mango版新增了這一特性。
不久之前,有報(bào)道稱,微軟將在Windows 8 上推出基于Silverlight的應(yīng)用商店,這樣一來,開發(fā)者使用Silverlight開發(fā)的應(yīng)用就同樣可以發(fā)布在Windows 8系統(tǒng)。“Windows 8針對平板開發(fā)的系統(tǒng),當(dāng)然你也可以把它用在PC上”,楊亨冉評論道,他認(rèn)為將Market palce放回Windows 8上將有可能改變中國軟件銷售行業(yè)的格局,因?yàn)檫@樣以來一些傳統(tǒng)的靠推薦windows軟件生存的網(wǎng)站可能就沒什么意義了,此外,微軟這一舉動將可能有效杜絕盜版問題的存在。
#p#
對Silverlight初學(xué)者的忠告
既然Silverlight有這樣多的好處,而且微軟顯然將其放到了一個比較重要的位置,那么對于一個開發(fā)者來說,如果想涉足Silverlight開發(fā),需要哪些儲備呢?
楊亨冉說,如果是一個從來沒有接觸過Visual Studio相關(guān)開發(fā)的人員,他只需要安裝Visual Studio,Express版本(學(xué)習(xí)版)和Silverlight Tools for Visual Studio 基本就可以滿足開發(fā)需求這樣coding的環(huán)境基本就完成了。
設(shè)計(jì)的部分,用微軟的Expression Blend,Design,Web來完成,他們的功能分別對應(yīng)我們比較熟悉的Flash,Photoshop和Dreamweaver。
這套工具的特點(diǎn)就是有效提升了開發(fā)速度。楊亨冉舉了一個例子:有一次,運(yùn)營商要在《窩窩世界》中加一個擺攤系統(tǒng),開發(fā)團(tuán)隊(duì)用了不到一天就完成了這個功能,而如果用傳統(tǒng)的方法,通過PS設(shè)計(jì)、前端制作、代碼配合一整套流程下來,通常最短需要四天左右才能完成。
不過,對于一些沒有接觸過微軟產(chǎn)品的開發(fā)者來說,開始可能會遇到一些問題。這主要是由于不同開發(fā)語言的思維方式不同。比如,非.NET體系的開發(fā)者可能對事件體系不太適應(yīng)。
小的方面,楊亨冉舉例說,初學(xué)開發(fā)人員可能經(jīng)常會遇到一個問題是“跨線程訪問無效”。這是因?yàn)镾ilverlight事件調(diào)用的時(shí)候會調(diào)一個UI線程,如果另外一個事件或線程操作了UI線程中的一部分,就會出現(xiàn)這種情況。解決方法也很簡單,你需要做一個線程隊(duì)列梳理清楚,然后在合適的時(shí)機(jī)調(diào)用它。
介紹游戲運(yùn)營經(jīng)驗(yàn)
中國的游戲開發(fā)者經(jīng)常遇到的問題是,在技術(shù)和創(chuàng)意方面做的還不錯,但是運(yùn)營推廣比較薄弱。作為在游戲領(lǐng)域有著多年開發(fā)、策劃、運(yùn)營經(jīng)驗(yàn)的專家,楊亨冉有什么樣的建議呢?
楊亨冉認(rèn)為,一個好的游戲需要具備幾個要素:***用戶感官上、過程中是一種享受。也就是游戲界面要符合用戶體驗(yàn),故事邏輯要有劇情的深度,要有一種文化在里面。其次,收費(fèi)點(diǎn)要合理,大家都很喜歡的,游戲的壽命會很長。最重要的也是最基礎(chǔ)的,游戲要穩(wěn)定,bug越多用戶流失的越嚴(yán)重。
此外,不同平臺的游戲在設(shè)置考慮上也要有所區(qū)別。移動設(shè)備上的游戲主要占用碎片時(shí)間,因此目前一些休閑類的小游戲比較受歡迎,大型游戲如果要在移動端發(fā)展,需要設(shè)置一些特別的點(diǎn),吸引用戶隨時(shí)回頭。楊亨冉認(rèn)為將來移動端和PC端肯定是融合的趨勢,同一個游戲,用戶可能在不同的場景用不同的終端完成不同的事情。
針對目前國內(nèi)游戲界“重技術(shù)輕策劃”的現(xiàn)象,楊亨冉認(rèn)為,重技術(shù)是因?yàn)榧夹g(shù)普及的太慢,像Silverlight推廣就很難,技術(shù)形成需求瓶頸后,大家于是都追求技術(shù)。楊亨冉希望這一現(xiàn)狀能夠在不久的將來得到改觀,畢竟“技術(shù)目的是為產(chǎn)品服務(wù),技術(shù)的盤子有多大,產(chǎn)品就能做多大”。
談到HTML5和Silverlight誰更有前景的問題,楊亨冉表示“HTML5是現(xiàn)在的趨勢,但不是現(xiàn)在的優(yōu)勢”。優(yōu)勢可以變成收益,但趨勢不能。他說,廠商瞄準(zhǔn)HTML5是因?yàn)樗菍砘ヂ?lián)網(wǎng)很重要的領(lǐng)域,誰站穩(wěn)了誰就有可能成為互聯(lián)網(wǎng)新霸主,但是現(xiàn)在HTML5還是不是一個完善的標(biāo)準(zhǔn),以國內(nèi)市場來說,IE6仍然占了半壁江山,要等到HTML5普及的那一天,想必還有很長的路要走。楊亨冉預(yù)測“三年之內(nèi)你很難在HTML5這個技術(shù)上得到很實(shí)惠的收益。