跨平臺(tái)工具詳解:Ideaworks 3D Ltd (Marmalade)
主要產(chǎn)品和技術(shù)
Marmalade的工作是把C++代碼轉(zhuǎn)換為本地設(shè)備支持的代碼。支持的設(shè)備包括iOS,Android,BlackBerry平板,Symbian和Bada。開發(fā)者用標(biāo)準(zhǔn)C++、OpenGL和跨平臺(tái)的Marmalade API來(lái)編程。Marmalade API相對(duì)本地設(shè)備API來(lái)說更加簡(jiǎn)潔。標(biāo)準(zhǔn)編譯器把代碼轉(zhuǎn)換為ARM級(jí)的機(jī)器語(yǔ)言,同時(shí)也轉(zhuǎn)換為帶有平臺(tái)特性的代碼。這種代碼在由運(yùn)行時(shí)封裝的本地抽象層執(zhí)行。超過400Kb的基線內(nèi)存,相比其他是更好的解決方案。
Marmalade的App可以用Microsoft Visual Studio或者Xcode桌面開發(fā)環(huán)境開發(fā)。它的SDK包含很多的工具,比如仿真,桌面ARM調(diào)試,UI構(gòu)建,部署,用于設(shè)備控制測(cè)試的遠(yuǎn)程調(diào)控手段,和支持本地代碼用C語(yǔ)言擴(kuò)展為App的擴(kuò)展開發(fā)包。
Marmalade的很多版本都可以使用。提供給個(gè)人開發(fā)者的是149美元的個(gè)人版(附贈(zèng)一個(gè)Marmalade 的軟件啟動(dòng)畫面),也有提供給企業(yè)和出版商的版本。OEM級(jí)的服務(wù)包括優(yōu)化,SDK的可定制增強(qiáng), 多個(gè)SDK的聯(lián)合, 以及其他平臺(tái)上App的管理端口。
Ideaworks還能為用Marmalade開發(fā)的App提供一個(gè)分布式的解決方案,使之能適用于多個(gè)App商店,這些商店涵蓋了SDK支持的所有平臺(tái)。這家公司還開發(fā)了一個(gè)名為GitHub的space,它現(xiàn)在包括了超過60個(gè)源C++組件,以及經(jīng)過調(diào)整適用于Marmalade的擴(kuò)展。
市場(chǎng)影響力
Marmalade宣稱差不多5萬(wàn)名開發(fā)者安裝了他們的開發(fā)工具,這之中包括知名游戲工作室比如EA和PopCap。著名的基于Marmalade開發(fā)的軟件,有Plants vs. Zombies, Call of Duty: Black Ops: Zombies, Need for Speed Shift,Cut The Rope,,Lara Croft Guardian of Light 以及Sim City Deluxe。
市場(chǎng)定位
Marmalade的市場(chǎng)定位和其他3D游戲引擎提供商如Unity和Unreal比較相似。他們的產(chǎn)品都更偏向于設(shè)計(jì)第一人稱設(shè)計(jì)類游戲的設(shè)計(jì),而Marmalade的產(chǎn)品是則更靈活多變。其他的開發(fā)工具用的是包含BatteryTech和EDGELIB的C++內(nèi)核,這是定位于游戲產(chǎn)品開發(fā),同時(shí)也能延伸到MoSync,雖然這并不是游戲開發(fā)的范疇。由于Marmalade支持眾多平臺(tái),開發(fā)者可權(quán)衡平臺(tái)的流行程度自行選擇為什么平臺(tái)進(jìn)行開發(fā)。用Marmalade開發(fā)的App中,32%支持Bada,27%支持BlackBerry,29%支持Symbian,同時(shí)93%支持iOS,85%支持Android。調(diào)查顯示,對(duì)Windows Phone的支持,以及更好的桌面部署方案(現(xiàn)在還是beta版),現(xiàn)在正受到開發(fā)者的廣泛需要。
Ideaworks以前曾專注于為知名游戲開發(fā)商提供產(chǎn)品服務(wù),服務(wù)對(duì)象后來(lái)增加了個(gè)人開發(fā)者,OEM和出版商。因此,Marmalade功能中包括3D繪圖和動(dòng)畫工具,2D/3D幾何支持,以及最近才有的本地UI組件。這些組件擴(kuò)寬了Marmalade的用戶范圍,因?yàn)樗鼘?duì)非游戲開發(fā)者也有幫助。這些繼承自Marmalade的遺產(chǎn)反映在目標(biāo)市場(chǎng)上,就是81%的Marmalade開發(fā)者進(jìn)行的是游戲開發(fā),19%的進(jìn)行企業(yè)App開發(fā)。調(diào)查中,開發(fā)者表示,性能這一選擇工具時(shí)的重要指標(biāo)是讓Marmalade得到大多數(shù)投票的重要因素。
開發(fā)者也表示,讓他們放棄一個(gè)工具的原因中,該工具不支持他們的目標(biāo)平臺(tái)占大多數(shù)。這個(gè)原因占了32%的比例,而其他原因的平均值是18%。Marmalade支持的移動(dòng)平臺(tái)范圍很廣,這個(gè)原因也許對(duì)它不適用。不過因?yàn)樵谟螒蛞媸袌?chǎng),開發(fā)者也許會(huì)需要Marmalade支持其他游戲引擎(如Unity)支持的網(wǎng)絡(luò)游戲控制平臺(tái),所以要求Marmalade支持其他平臺(tái)的開發(fā)者比例是29%,而其他工具平均是17%。這一點(diǎn)(而且Marmalade支持的App種類多于Unity)也反映在開發(fā)者表示他們?cè)艞壛税∕armalade在內(nèi)的工具,只是因?yàn)樗麄儾贿m應(yīng)游戲開發(fā)。
Marmalade主要吸引經(jīng)驗(yàn)豐富的開發(fā)知名移動(dòng)App的開發(fā)者。這在我們的調(diào)查中,反映在Marmalade的使用者比其他平臺(tái)的使用者通常有多得多的移動(dòng)開發(fā)經(jīng)驗(yàn)。這些開發(fā)者從事開發(fā)的時(shí)間都比平均開發(fā)者長(zhǎng)2至3倍。Marmalade的開發(fā)者同時(shí)還更傾向于開發(fā)有10萬(wàn)到100萬(wàn)用戶的知名游戲。
Marmalade的原話
“運(yùn)行于智能手機(jī)、平板電腦和其他嵌入式平臺(tái)上的豐富App和游戲,都可以在Marmalade SDK這一跨平臺(tái)開發(fā)環(huán)境下方便高效地開發(fā)。Marmalade已經(jīng)被多個(gè)世界頂尖出版商采用,在Apple的App Store中發(fā)布了一系列高品質(zhì)、 知名的App。”