青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

戰(zhàn)魂小筑

討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開(kāi)源項(xiàng)目:https://github.com/davyxu

   :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  257 隨筆 :: 0 文章 :: 506 評(píng)論 :: 0 Trackbacks

熱更新的內(nèi)容可以是美術(shù)資源, 可以是代碼, 但相對(duì)來(lái)說(shuō), 美術(shù)資源的更新不會(huì)受到約束, 代碼實(shí)際上是重災(zāi)區(qū), 本文介紹的主要是代碼熱更新

熱更新對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是一件麻煩事, 特別對(duì)于看重效率,便捷性和結(jié)構(gòu)的程序員來(lái)說(shuō), 熱更新就是運(yùn)營(yíng)人員的不懂技術(shù)的表現(xiàn)
然而, 對(duì)于上線(xiàn)才是剛剛開(kāi)始的網(wǎng)絡(luò)游戲, 特別是手游來(lái)說(shuō). 熱更新是極為重要的基礎(chǔ)功能

為什么要熱更新

客戶(hù)端

適應(yīng)上線(xiàn)需求

對(duì)于手游客戶(hù)端來(lái)說(shuō), 受到蘋(píng)果審核的約束, 一次審核提交需要10~20天不等的等待時(shí)間, 而這段時(shí)間, 開(kāi)發(fā)進(jìn)度依然會(huì)推進(jìn)很多.

一旦手游上線(xiàn), 第一個(gè)版本在玩家瘋狂行為下, 出點(diǎn)問(wèn)題是必然的, 所以”上線(xiàn)更”就成了家常便飯. 如果你要說(shuō), 必須大包, 無(wú)法熱更, 那么10~20

多天后, 游戲估計(jì)就沒(méi)啥人了, 更別說(shuō)渠道, 發(fā)行投入巨大資金進(jìn)行推廣之下讓玩家迎來(lái)的一堆bug的版本以及所謂程序員的傲慢和清高.

熱調(diào)試, 熱開(kāi)發(fā), 熱發(fā)布

除了線(xiàn)上問(wèn)題之外, 由于Unity3D為了適應(yīng)64位應(yīng)用需求, 將C#編譯出的IL代碼利用il2cpp第三方庫(kù)編譯成為c++. 效率提升了倒是好,

但工程編譯和發(fā)布時(shí)間變得相當(dāng)感人, 沒(méi)個(gè)1~2個(gè)小時(shí)完全搞不定. 即便加裝ssd, 為了修改一個(gè)bug, 也不知道要等多少根煙的時(shí)間…

只要核心功能不變化的情況下, 完全可以讓熱更新成為開(kāi)發(fā)期間的好工具, lua代碼修改后, 馬上可以在手機(jī)上看效果, 沒(méi)有編譯, 發(fā)布的時(shí)間損耗, 其實(shí)反而提升了開(kāi)發(fā)效率

服務(wù)器

對(duì)于服務(wù)器來(lái)說(shuō), 常見(jiàn)游戲類(lèi)型的玩家一般在半夜的在線(xiàn)人數(shù)會(huì)急速下降. 但是對(duì)于比較熱門(mén)的MMO, 以溝通為基礎(chǔ)的游戲, 半夜也會(huì)有很多人在線(xiàn)

因此傳統(tǒng)的停服更新對(duì)于玩家的熱情秒殺很大的. 想想看,屁股先鋒公測(cè)停15天各位是什么感受? 所以為了玩家體驗(yàn), 同時(shí)保證服務(wù)器穩(wěn)定的前提下

修復(fù)一些輕微bug, 用熱更新再合適不過(guò)了. 所以老服務(wù)器程序員, 千萬(wàn)不能以服務(wù)器穩(wěn)定為借口而忽略了玩家體驗(yàn).

技術(shù)是用來(lái)解決問(wèn)題的, 不是用來(lái)裝X的

怎么熱更新

以下是Unity3D的幾種熱更新方式

基于C#, 使用動(dòng)態(tài)加載Assembly反射更新代碼

這種方式在安卓上完全可行, 對(duì)現(xiàn)有架構(gòu)無(wú)需大的修改, 一樣使用C#和Unity3D的方式進(jìn)行開(kāi)發(fā)

但在iOS上受到限制, 因此對(duì)于全平臺(tái)首發(fā)的游戲, 或者雙平臺(tái)都要上的游戲, 已經(jīng)慢慢的不使用這種方法進(jìn)行熱更新了

基于Lua, 將Lua代碼視為資源, 動(dòng)態(tài)加載并運(yùn)行

云風(fēng)團(tuán)隊(duì)早期研究出的UniLua是基于C#編寫(xiě)的Lua虛擬機(jī)來(lái)運(yùn)行, 而且只支持字節(jié)碼解釋, 因此無(wú)法做動(dòng)態(tài)功能, 效率奇低

后期, ulua的出現(xiàn), 徹底將Lua作為比較正統(tǒng)的更新方式存在. ulua基于Tolua庫(kù)進(jìn)行封裝, 添加了一些便捷封裝, 代碼打包和基本的框架

ToLua本身是一個(gè)基于C版Lua上擴(kuò)充的庫(kù), 以靜態(tài)鏈接庫(kù)方式與Unity3D代碼鏈接. 因此, 可以說(shuō)ToLua是跑在C層上, 速度不亞于C++和Lua的組合

基于Lua的代碼更新方式, 無(wú)論跨任何平臺(tái)都可以以同一套代碼和工作流進(jìn)行, 因此避免很多麻煩, 成為現(xiàn)在主流的開(kāi)發(fā)方式

游戲邏輯全都用Lua寫(xiě)么?

做過(guò)網(wǎng)頁(yè)和手機(jī)App的童鞋都發(fā)現(xiàn), js, 一個(gè)bug超多, 設(shè)計(jì)奇怪的語(yǔ)言居然成為主流界面開(kāi)發(fā)語(yǔ)言, 為啥?

動(dòng)態(tài)特性適合制作ui

另外一個(gè)反例就是: 使用C++開(kāi)發(fā)界面, 例如Qt, MFC之類(lèi), 雖然設(shè)計(jì)嚴(yán)謹(jǐn), 但是最終擋不住各種奇葩的修改需求

因此, 界面非常推薦使用動(dòng)態(tài)語(yǔ)言來(lái)開(kāi)發(fā), 游戲界就是用Lua

而游戲核心, 根據(jù)各自游戲類(lèi)型來(lái)定, 總的一點(diǎn), 效率瓶頸點(diǎn), Update之類(lèi)的, 盡量使用C#或者C++來(lái)實(shí)現(xiàn)

寫(xiě)在最后

當(dāng)前中國(guó)大環(huán)境下的玩家和各種氪金理由與純的不能再純的游戲人的基本愿望是沖突的

然而國(guó)外游戲的各種設(shè)計(jì)和機(jī)制, 暴雪戰(zhàn)網(wǎng)更新不及時(shí), 版本不對(duì)沒(méi)提示, 這些基本錯(cuò)誤在中國(guó)的網(wǎng)游都不會(huì)出現(xiàn)的

技術(shù)上無(wú)法趕英超美的我們, 在體驗(yàn)上已經(jīng)輸出了我們的價(jià)值觀, 老外們都在學(xué)

對(duì)于程序員來(lái)說(shuō), 只是多貼近玩家, 多了解外面的世界而已

posted on 2016-07-06 11:03 戰(zhàn)魂小筑 閱讀(6081) 評(píng)論(6)  編輯 收藏 引用 所屬分類(lèi): 游戲產(chǎn)業(yè)隨感

評(píng)論

# re: 游戲熱更新雜談 2016-07-07 17:57 GLimix
受教了  回復(fù)  更多評(píng)論
  

# re: 游戲熱更新雜談 2016-07-20 22:20 egmkang
還有一種辦法,就是在U3D上面實(shí)現(xiàn)一個(gè)IL解釋器,類(lèi)似于mono一樣的,這樣就可以在iOS上面動(dòng)態(tài)的加載assembly了。  回復(fù)  更多評(píng)論
  

# re: 游戲熱更新雜談 2016-07-23 21:12 戰(zhàn)魂小筑
@egmkang
自己實(shí)現(xiàn)的解釋器, 穩(wěn)定性和可維護(hù)性還是較差  回復(fù)  更多評(píng)論
  

# re: 游戲熱更新雜談 2016-08-04 09:14 獨(dú)孤殘?jiān)?/a>
謝謝指點(diǎn)。
之前聽(tīng)說(shuō)貌似AppStore在嚴(yán)查動(dòng)態(tài)加載外部代碼的行為?所以當(dāng)初沒(méi)有采用ulua的解決方案,都是先C#熱更新頂住Android版,然后出iOS穩(wěn)定版 ^ ^
  
回復(fù)  更多評(píng)論
  

# re: 游戲熱更新雜談 2016-08-04 09:49 戰(zhàn)魂小筑
@獨(dú)孤殘?jiān)?br>腳本加密打包了, 其實(shí)也很難查. 特別是html本身也是代碼下載, 其實(shí)是打臉  回復(fù)  更多評(píng)論
  

# re: 游戲熱更新雜談 2016-08-10 10:19 wilhan
為什么說(shuō)js是一個(gè)bug超多, 設(shè)計(jì)奇怪的語(yǔ)言?  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情一区二区三区在线| 国产欧美成人| 亚洲一区二区久久| 中国日韩欧美久久久久久久久| 欧美激情2020午夜免费观看| 欧美激情亚洲一区| 亚洲日本理论电影| 亚洲欧洲一区二区在线播放| 亚洲精品资源美女情侣酒店| 亚洲小说区图片区| 久久精品中文字幕免费mv| 久久久久久国产精品一区| 亚洲女同精品视频| 久久综合久久久久88| 欧美日本在线观看| 国产一区成人| 日韩视频永久免费观看| 欧美大学生性色视频| 欧美夫妇交换俱乐部在线观看| 欧美激情精品久久久久久蜜臀| 亚洲精品视频免费在线观看| 亚洲视频综合在线| 久久综合九色综合欧美狠狠| 欧美三级乱人伦电影| 国产亚洲一区二区三区在线播放| 亚洲日韩欧美一区二区在线| 一本久久精品一区二区| 欧美中文在线字幕| 久久久久高清| 亚洲欧洲日产国产综合网| 怡红院精品视频| 亚洲国产精品美女| 日韩视频在线观看| 99精品热视频只有精品10| 国产亚洲精品一区二555| 国产一区成人| 91久久国产综合久久| 99视频精品| 性色av一区二区三区红粉影视| 欧美在线综合| 欧美高清在线视频| 在线天堂一区av电影| 欧美一区二区高清在线观看| 久久中文欧美| 国产精品成av人在线视午夜片| 国产日本欧美一区二区| 在线观看成人av| 亚洲一级黄色片| 久久久久久9999| 亚洲电影网站| 亚洲免费小视频| 欧美~级网站不卡| 国产精品女人网站| 日韩亚洲欧美一区二区三区| 看片网站欧美日韩| 欧美有码视频| 国产亚洲午夜高清国产拍精品| 午夜精品视频一区| 一区二区三区高清在线| 欧美精品一区二区三区高清aⅴ| 亚洲高清在线精品| 欧美激情亚洲激情| 欧美第十八页| 亚洲最新中文字幕| 日韩午夜av电影| 欧美视频四区| 性久久久久久久久| 欧美一区二区三区四区在线观看地址 | 亚洲一区二区三区久久| 国产精品99免视看9| 亚洲欧美日韩一区二区三区在线观看| 99精品国产在热久久| 久久精品国产视频| 欧美在线www| 亚洲第一视频| 亚洲国产婷婷综合在线精品| 欧美片在线观看| 亚洲淫片在线视频| 久久久久久香蕉网| 久久激情综合网| 在线看视频不卡| 欧美黄色片免费观看| 欧美一区二区三区久久精品茉莉花| 国产精品一区视频网站| 久久综合国产精品台湾中文娱乐网| 另类亚洲自拍| 9色精品在线| 午夜在线播放视频欧美| 欧美bbbxxxxx| 亚洲视频在线播放| 欧美在线观看一二区| 亚洲国产精品久久精品怡红院| 亚洲国产精品ⅴa在线观看| 欧美精品大片| 久久黄色网页| 欧美巨乳在线观看| 久久精品盗摄| 欧美久久久久久久久| 午夜精品亚洲一区二区三区嫩草| 久久精品国产免费| 亚洲欧美国产精品桃花| 久久久久国内| 亚洲欧美日韩综合aⅴ视频| 久久久国产一区二区三区| 一区二区三区 在线观看视| 午夜精品久久久久久久蜜桃app| 亚洲精品女人| 久久久久一区二区| 性做久久久久久久久| 欧美精品国产精品| 欧美成人69av| 国产婷婷一区二区| 艳女tv在线观看国产一区| 亚洲国产精品激情在线观看| 亚洲专区在线| 亚洲午夜在线观看| 欧美大片在线观看一区| 久久一区视频| 国产精品久久久久一区二区| 亚洲欧洲在线看| 亚洲电影免费观看高清| 欧美一区二区三区电影在线观看| 亚洲毛片一区| 久久综合中文| 久久青草久久| 国产伦精品一区二区三区免费迷 | 久久久久久久成人| 欧美激情bt| 午夜国产不卡在线观看视频| 久久―日本道色综合久久| 久久久国产精品一区二区中文| 欧美午夜精品久久久久久浪潮| 亚洲国产精品999| 亚洲人成网站在线播| 久久久亚洲国产天美传媒修理工| 欧美一区二区在线免费观看| 欧美日韩免费在线视频| 亚洲狼人综合| 正在播放日韩| 欧美日韩视频在线一区二区 | 亚洲国产免费看| 久久中文字幕导航| 国产精品人人爽人人做我的可爱 | 午夜精品国产精品大乳美女| 夜久久久久久| 欧美好骚综合网| 亚洲国产婷婷| 亚洲理论电影网| 欧美国产激情二区三区| 亚洲高清不卡| 99热在线精品观看| 欧美日韩一区二区三区视频| 亚洲国产精品小视频| 亚洲精品久久久蜜桃| 欧美精品在线观看91| 一本色道久久综合精品竹菊| 亚洲美女中文字幕| 欧美日韩免费一区二区三区| 亚洲理伦电影| 亚洲欧美美女| 黄色在线成人| 欧美成年人网| 亚洲免费在线观看视频| 久久www免费人成看片高清| 狠狠色综合一区二区| 美女精品网站| 99精品热视频只有精品10| 欧美一区二区三区免费大片| 国产自产女人91一区在线观看| 久久中文精品| 欧美视频在线观看一区| 亚洲欧美日韩国产综合在线| 久久久亚洲综合| 亚洲人被黑人高潮完整版| 国产精品区一区二区三| 欧美中文字幕第一页| 亚洲精品国精品久久99热一| 性18欧美另类| 91久久久久久国产精品| 国产精品视频网站| 久久久久九九九| 亚洲一区二区免费| 欧美激情一区在线| 午夜精品视频| 亚洲免费观看高清完整版在线观看| 欧美日本免费| 久久米奇亚洲| 午夜精彩视频在线观看不卡| 亚洲高清色综合| 久久久久久自在自线| 一本大道av伊人久久综合| 国产乱码精品一区二区三区忘忧草| 欧美国产91| 小嫩嫩精品导航| 制服诱惑一区二区| 亚洲第一精品福利| 久久久免费av| 久久aⅴ国产紧身牛仔裤| 中日韩美女免费视频网址在线观看 | 亚洲人成亚洲人成在线观看图片|