使用Lua做為MMOARPG游戲邏輯開發腳本的一點體會


項目背景

目前在一個大型MMOARPG游戲中使用Lua做為邏輯開發語言,Lua占整體代碼量的80%。

我們這個MMO游戲開發近2年,客戶端8人,項目組總體人數在100人(美術占70%),目前代碼量很大,中間有客戶端人員的正常流動,加上版本的迭代(需求多變)代碼沒有那么好維護,但主要還是看團隊的編碼風格,這個不是Lua語言的問題。

我的個人體會

如果團隊有很好的代碼規范,那么用Lua也是極好的,因為簡潔,可以讓你加深理解編程的本質。

如果團隊之間磨合較久,人員比較穩定,綜合能力也比較強,也是可以使用Lua(大家編碼風格接近)。

Lua當很多類中都有同名函數時,要查看函數引用,或者函數重命名,確實不如強類型語言方便,還好有IDEA+EmmyLua。

假如一個方法有四個參數及以上的 ,建議傳入一個table,方便閱讀代碼。

我個人的建議是:對於比較成熟的團隊(能力較強)我建議可以選用Lua,而太多新手的團隊還是C#吧,因為我覺得要把Lua代碼寫好、寫的優雅是比寫C#更需要動腦的一件事。

PS.上面這段文字是我在2019年寫的,一直在我的草稿箱沒有發布,近兩年我所在項目使用的熱更新方案是ILRuntime。

使用ILRuntime后再對比Lua

對比ILRuntime(C#)和Lua的最大區別,我體會就是C#重構和閱讀別人代碼要輕松很多,但是無法運行時熱重載,因為C#代碼需要生成dll,無法在運行時替換掉dll,這點沒有Lua靈活。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM