遊戲中的指令碼

2021-05-23 08:18:39 字數 530 閱讀 6305

現在遊戲裡流行的指令碼有python 和lua ,例如魔獸世界就是用lua指令碼來驅動邏輯的。我們為什麼用指令碼,而不是純用c++呢?當然,這與團隊協作以及工作效率有關。

c++編譯速度不佳,當乙個專案達到比較龐大的乙個規模時,編譯的時間往往會讓人憤怒了。

於是,python出現了。一些重要的演算法實現,圖形效果可以在引擎裡實現,而一些純邏輯的演算法,則可以在指令碼實現。於是便有了客戶端引擎和客戶端邏輯之分,還有的是客戶端ui等等。

另外乙個重要的原因是一款遊戲的製作時間往往是以年為單位的,而程式設計師也達到了十多個甚至數十個。大家對同乙個svn的**工作,在一天裡對乙個檔案也許就會修改幾次提交幾次,而python的易改性則適合這種頻繁的互動。

還有乙個原因是,找到乙個好的c++程式設計師是那麼的難得,那麼在整個專案裡都要求c++程式設計師那就近乎天方夜譚了。

然而python效率不佳,當乙個python裡面的演算法成為瓶頸之後,那就要考慮把它移接到c++層了。當然,效率不僅僅是語言本身問題,更重要的是所寫的演算法效率,如果你覺得把演算法從python移到c++效率就高了可就貽笑大方了。。。

如何從遊戲中建立指令碼!

在乙個網路遊戲中,插入乙個指令碼,能代替滑鼠的運動,檢測怪物和特定npc的位置。最好就是指定乙個座標,能讓自己的角色去到那兒,乙個通用的程式,而不是專門為這個遊戲設計的程式,而是通過指令碼就能把所有遊戲的這種功能實現。希望能有高手解釋一下。我不會程式設計,至少現在也還沒會,就我所知道的,遊戲可能是把...

遊戲中的音效

1.遊戲中的即時音效 soundpool類 public int load context context,int resid,int priority 架子啊音訊檔案 context 該引數為應用程式的上下文 resid 該引數為要載入的音效資源的id priority 優先順序 例項 初始化聲音...

遊戲中使用LUA指令碼語言的簡介

我們知道指令碼語言是解除硬編碼,防止重編譯的利器,可以這樣說,任何大型遊戲都有自己的指令碼系統。想要做出一款精品遊戲,指令碼語言也是我們需要掌握和運用的。較流行的指令碼語言有python,lua,ruby等。lua有著輕量,高效,介面乾淨等特點,學起來很快,風靡全球的 魔獸爭霸3 冰封王座 就是採用...