多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 專訪Ejoy2D作者云風(fēng):因Lua而生的開源圖形引擎

專訪Ejoy2D作者云風(fēng):因Lua而生的開源圖形引擎

來源:程序員人生   發(fā)布時(shí)間:2014-10-23 08:00:00 閱讀次數(shù):4802次

Ejoy2D是一款圖形引擎、基于C和Lua開發(fā),底層是一個(gè)十分簡(jiǎn)單的核心層,基本上只負(fù)擔(dān)繪制工作,上層語(yǔ)言是Lua。Ejoy2D是國(guó)內(nèi)簡(jiǎn)悅(EJOY)游戲公司所開發(fā)的一款游戲圖形引擎,旨在幫助開發(fā)人員輕松地嵌入到游戲引擎中,方便開發(fā)者定制自己所需的功能。遵循MIT開源許可。 

托管地址: https://github.com/cloudwu/ejoy2d

CSDN記者聯(lián)系到了Ejoy2D項(xiàng)目負(fù)責(zé)人云風(fēng)(微博:@簡(jiǎn)悅云風(fēng)),請(qǐng)他來分享Ejoy2D的開發(fā)歷程及他在游戲開發(fā)方面的感悟。

云風(fēng):真名吳云洋,曾任網(wǎng)易杭州研究中心總監(jiān),是網(wǎng)易《大話西游》、《夢(mèng)幻西游》等游戲的主要開發(fā)者,他在2011年9月從網(wǎng)易辭職,并與前網(wǎng)易COO詹鐘暉聯(lián)合創(chuàng)辦了簡(jiǎn)悅(EJOY)游戲公司,任公司CTO。


Ejoy2D項(xiàng)目負(fù)責(zé)人 云風(fēng)

CSDN:Ejoy2D項(xiàng)目創(chuàng)建的初衷是什么?

云風(fēng):Ejoy2D的起源來自于我在2013年初玩到的一款叫Clash of Clans的移動(dòng)平臺(tái)游戲,這讓我發(fā)現(xiàn)在移動(dòng)平臺(tái)上,除了一個(gè)人玩的傳統(tǒng)游戲之外,還可以有非常有趣且結(jié)合移動(dòng)平臺(tái)特性的游戲類型存在。在此之前,我們公司并沒有立刻開始移動(dòng)平臺(tái)開發(fā)計(jì)劃;之后,我們迫切的想進(jìn)入移動(dòng)平臺(tái)游戲的開發(fā)領(lǐng)域。在經(jīng)過公司內(nèi)部的充分討論后,我們打算先模仿Clash of Clans做一款類似的游戲練手。我個(gè)人判斷,把這類游戲做好,客戶端開發(fā)有一定的技術(shù)門檻,不太容易做的好。而我在十多年前就開始做2D游戲引擎,很有自信可以為這款游戲定制一款新的、適應(yīng)移動(dòng)平臺(tái)開發(fā)的2D引擎。這就是Ejoy2D的開始。

在獨(dú)立開發(fā)了大約一個(gè)月后,從我們的PC端游戲組調(diào)出了一名同事,和我一起來制作這款新游戲。邊用邊對(duì)Ejoy2D提出新需求,并完善它。

到了2013年7月左右,我們的外包美術(shù)資源開始進(jìn)入,這時(shí),我們又從外部招聘了一名同事專門為 Ejoy2D定制美術(shù)工具。這樣才慢慢完善了工具鏈,最終把游戲做了出來。這款游戲就是現(xiàn)在的陌陌爭(zhēng)霸。

從一開始,我就希望把引擎開源。因?yàn)橹拔覀冮_源的游戲服務(wù)器框架Skynet反響很好,幫助了不少朋友,同時(shí)開源也提高了代碼質(zhì)量,不少bug都是公司之外的同學(xué)發(fā)現(xiàn)的。這讓我們?cè)谧约荷a(chǎn)環(huán)境碰到bug前就得以修正。

但一開始的Ejoy2D代碼很不穩(wěn)定,且充滿了為了游戲項(xiàng)目能快速完成而臨時(shí)添加的補(bǔ)丁,所以直到我們的陌陌爭(zhēng)霸基本完成。后來,我花了大約2周時(shí)間全部重寫了Ejoy2D的代碼,覺得可以與大家見面了,就公布了代碼,并發(fā)布了開源的消息。接下來,我們內(nèi)部有兩個(gè)新的項(xiàng)目組開始使用新版的Ejoy2D開發(fā)游戲,這兩個(gè)組都有同事開始為Ejoy2D貢獻(xiàn)代碼。

CSDN:與其它游戲引擎相比,比如Cocos2d-x,Ejoy2D有哪些與眾不同的地方?

云風(fēng):Ejoy2D其實(shí)是對(duì)OpenGL ES的一個(gè)淺封裝。我并不想把它發(fā)展成一個(gè)游戲引擎,而只停留在圖形引擎層面上。但和別的引擎相比較大的區(qū)別是,它天生為和Lua結(jié)合而設(shè)計(jì)并實(shí)現(xiàn)的。你幾乎不可能只使用Ejoy2D的C API ,而我鼓勵(lì)你只用Lua API在其上做開發(fā)。只有解決不了的需求時(shí),再編寫一個(gè)供Lua調(diào)用的C模塊。由于這種設(shè)計(jì),在使用方式上,Ejoy2D應(yīng)該會(huì)比其它結(jié)合Lua腳本的引擎更高效些,使用起Lua API也會(huì)更自然。同時(shí),Ejoy2D保留了很小的C內(nèi)核,代碼全部用很簡(jiǎn)短的C實(shí)現(xiàn)。閱讀理解起來會(huì)比較容易,維護(hù)它更輕松一些。

CSDN:您們最近上線了一款手游,叫陌陌爭(zhēng)霸,在這款游戲中,Ejoy2D都做了些什么?

云風(fēng):陌陌爭(zhēng)霸的客戶端全部用Lua開發(fā),客戶端引擎就是用的Ejoy2D 。但Ejoy2D僅僅只是圖形引擎,所以我們還用C編寫了網(wǎng)絡(luò)模塊,資源打包的模塊等等。陌陌爭(zhēng)霸對(duì)AI方面還有比較高的性能需求,我們還用C語(yǔ)言為AI,士兵尋路編寫了一些代碼(在大部分其它類型游戲中,用Lua實(shí)現(xiàn)性能就夠了)。

由于陌陌爭(zhēng)霸開發(fā)的比較早,當(dāng)時(shí)的Ejoy2D沒有現(xiàn)在的版本完善,所以陌陌爭(zhēng)霸組的同事在UI模塊、粒子系統(tǒng)上花了更多精力。這些在現(xiàn)在開源版本的Ejoy2D中,在引擎層面已經(jīng)做了更多的支持。

CSDN:對(duì)于使用Ejoy2D的用戶,您有哪些建議/經(jīng)驗(yàn)告訴他們?

云風(fēng):最好能通過閱讀代碼來理解Ejoy2D的結(jié)構(gòu),明白它能解決什么問題。然后盡量只在Lua層面使用它。把需求提到開源社區(qū),大家來判斷該如何改進(jìn)引擎適應(yīng)不同的需求。對(duì)于很多引擎,通讀所有的代碼是件工作量很大的工作,但是Ejoy2D不同,它很簡(jiǎn)短,花不了太多時(shí)間。

CSDN:從風(fēng)魂引擎到Enjoy2D引擎,您在引擎和游戲開發(fā)方面有什么心得?您的設(shè)計(jì)思想和實(shí)現(xiàn)方式有什么變化?

云風(fēng):風(fēng)魂是我大學(xué)時(shí)代的作品,到現(xiàn)在已經(jīng)有十多年過去了。當(dāng)初我希望盡量幫助游戲開發(fā)人員解決所有問題,而現(xiàn)在不這么想了。我希望使用引擎的開發(fā)人員有足夠的選擇權(quán)。作為一個(gè)圖形引擎,應(yīng)該盡量配合開發(fā)人員的選擇權(quán),盡可能的把引擎做成一個(gè)方便開發(fā)人員組裝的一個(gè)組件。

引擎的實(shí)現(xiàn)應(yīng)該足夠簡(jiǎn)單,并盡可能的隱藏需要引擎解決的技術(shù)細(xì)節(jié)。

CSDN:與開發(fā)PC游戲相比,開發(fā)移動(dòng)游戲的痛點(diǎn)是什么?

云風(fēng):我并沒有正經(jīng)的開發(fā)過一款傳統(tǒng)的PC游戲,而我在意識(shí)里并不把MMO Game和傳統(tǒng)游戲歸為一類的。在移動(dòng)平臺(tái)上開發(fā)游戲讓我找到了一些開發(fā)游戲的樂趣,我覺得比開發(fā)MMO游戲更加有趣。至于痛點(diǎn),我覺得在國(guó)內(nèi)做游戲,或多或少的要迎合渠道的想法很討厭。比如說,我不希望我們的游戲需要玩家有一個(gè)賬號(hào)才能開始游戲,而各種國(guó)內(nèi)的平臺(tái)會(huì)強(qiáng)迫你接入他們的SDK ,需要玩家注冊(cè)賬號(hào),然后才能開始游戲。

CSDN:從事游戲開發(fā)這么多年,您最大的感悟是什么?

云風(fēng):心無旁騖方能獲得無窮樂趣。

CSDN:您一直都在鼓勵(lì)大家開源,并且把自己的一些作品都開源出去了,這樣做給您帶來了哪些好處/樂趣?對(duì)其它開發(fā)者來說,把自己的作品開源出去有哪些好處?

云風(fēng):開源對(duì)自己毫無損失。反而會(huì)督促你把代碼質(zhì)量提高,設(shè)計(jì)時(shí)也需要考慮得更完善。如果有其他人使用,他們往往會(huì)以一種你不曾考慮過的方式來用,從而發(fā)現(xiàn)你發(fā)現(xiàn)不了的漏洞。這些漏洞可能是實(shí)現(xiàn)上的,也可能是設(shè)計(jì)上的。

CSDN:您已經(jīng)這么牛了,在這個(gè)圈子里,有您崇拜的技術(shù)大腕嗎?您認(rèn)為這些人身上都有哪些特點(diǎn)?

云風(fēng):想不到 “崇拜” 這個(gè)詞能用在什么人身上,我不認(rèn)同人和人之間產(chǎn)生 “崇拜”的這種情感。只能說我喜歡怎樣的人吧。我喜歡思維理性,有想像力,有執(zhí)行力,總能自己動(dòng)手去解決問題的人。


“啟蒙?開源”為主題的2014開源技術(shù)大會(huì)(Open Source Technology Conference 2014)將于3月30日在北京召開,目前公開征集演講議題,歡迎各路開源大俠積極參與。屆時(shí)云風(fēng)將親臨現(xiàn)場(chǎng),分享他多年的開源開發(fā)經(jīng)驗(yàn),歡迎大家來領(lǐng)略大神的風(fēng)采。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 波多野结衣 在线资源观看 波多野结衣 一区二区 | 亚洲精品国产福利在线观看 | 亚洲第一免费 | 中文字幕一区二区三区四区 | 久久久久久一级毛片免费野外 | 亚洲第一黄色网 | 日韩一级视频 | 久久天天躁狠狠躁夜夜爽蜜月 | 米奇影院日韩免费 | 国产亚洲欧美在线播放网站 | 一二三四观看在线视频中文 | 秋霞理论福利院 | 一级做a免费视频观看网站 一级做a爰片久久毛片 | 国产主播福利一区二区 | 欧美色成人tv在线播放 | 日本wwwwwwwww | 欧洲免费无线码一二区 | xx视频在线 | 日韩免费一级片 | 国产综合亚洲欧美日韩一区二区 | 精品免费国产一区二区三区 | 欧美成人性生活视频 | 老司机午夜精品99久久免费 | 国产精品一区二区不卡 | 国产九九视频在线观看 | 国产精品久久久久久久久夜色 | 午夜国产精品不卡在线观看 | free日本xxxx另类hd | 中国性xxxxxbbbbb | 欧美精品综合一区二区三区 | 国内精品久久久久久影院8f | 三级理论中文字幕在线播放 | 日本性色视频 | 亚洲精品视频免费观看 | 在线欧美日韩精品一区二区 | 在线观看视频中文字幕 | 一区二区三区在线免费观看视频 | 密桃av| 成人在线不卡视频 | 日韩精品一区二区三区中文在线 | 成人a在线观看 |