FlasCC是Adobe的Alchemy 2的商標(biāo)名。 早在Alchemy 1.0的時(shí)代,Adobe就成功地實(shí)現(xiàn)了將純C/C++編寫的程序,編譯為SWF和SWC。 而在Alchemy 1.0的時(shí)代,是要收費(fèi)的。
到Alchemy 2.0的時(shí)候,Adobe正式推出,并成為了游戲開發(fā)工具包的主力成員。 第一次推行的時(shí)候,F(xiàn)lasCC是要收費(fèi)的,按每個(gè)產(chǎn)品的Title進(jìn)行利潤(rùn)抽成。 高達(dá) 9%. 這一舉動(dòng)將很多開發(fā)商擋在了門外。 因?yàn)樽鳛榱艘粋€(gè)新興的編譯器,以及,編譯導(dǎo)向?yàn)锳dobe自己的平臺(tái)。 更多開發(fā)商在這里停步了。因?yàn)樘貏e是國(guó)外一些大作,其作品都是由很多大師級(jí)引擎拼裝而成的。 比如UDK,ScaleForm,Havok等等。 它們中很多引擎已經(jīng)是抽成模式了。 現(xiàn)在Adobe還要來抽成,還抽了9%。 這就有點(diǎn)過了。
Adobe得知這樣下去,將會(huì)很艱難,于是改變戰(zhàn)略,將FlasCC作為了免費(fèi)工具。
而由于這一舉動(dòng),使得早先就使用FlasCC的Unity3D引擎受到了損失。 因?yàn)閁nity3D引擎之前用FlasCC是交了錢的。 現(xiàn)在又不交錢了,好像Adobe也沒有要退錢的意思。 最后,最新版的Unity3D不再提供導(dǎo)出為SWF的功能。 官方給出的原因是說Adobe對(duì)Stage3D的發(fā)展方向不確定,于是不再打算支持。
而大名鼎鼎的UDK則一如既往,提供了一個(gè)網(wǎng)頁(yè)版的示例DEMO。 目前就放在了FlasCC的推廣頁(yè)上。 可以直接傳送,耐心等待一會(huì)兒就可以出現(xiàn)一個(gè)場(chǎng)景漫游的效果了。
http://www.unrealengine.com/flash/
UDK放出這個(gè)DEMO很久了,但是DEMO一直沒有更新。 這應(yīng)該是其它問題了。也不好猜測(cè)。
而FlasCC本身是很OK的,特別是到了目前FlasCC 1.0.1版本。 我通過對(duì)文檔和例子的研究。大概發(fā)現(xiàn)FlasCC可以完成以下事情。
一、將先前的C++庫(kù)直接編譯為SWC,供AS3項(xiàng)目使用。 比如一些純C++寫的跨平臺(tái)物理引擎(BOX2D,BULLET等等)
二、如果想提供一個(gè)真正的多線程環(huán)境,那可以使用C++編寫基于POSIX標(biāo)準(zhǔn)的線程庫(kù),供SWC使用。
三、一些效率要求較高的地方,比如尋路,排序等,可以使用C++編寫,導(dǎo)出為SWC,供AS3項(xiàng)目使用。
四、可以使用OPENGL編寫圖形引擎,編譯為SWC,而采用AS3進(jìn)行邏輯開發(fā),做微端或者頁(yè)游。 OPENGL很多人都熟悉,同時(shí),GLSL比AGAL好寫得多,并且C++編寫的效率較高(要在LLVM上運(yùn)行)。 結(jié)合二者的優(yōu)點(diǎn),可以讓一個(gè)端游團(tuán)隊(duì)快速轉(zhuǎn)向頁(yè)游或者端游,如果效率優(yōu)化足夠,可以直接到達(dá)手游。
五、已經(jīng)成熟的游戲,想改微端或者頁(yè)游,可以更換其圖形層(如果是D3D寫的,如果是OPENGL,就容易多了)。再編譯為AIR或者SWF就可以了。