肯定是手稿語言,可以是Lua/Python/JS。如果要用C#/Java其實也可以。最糟糕就是用C/C++。
原因是:遊戲策劃天天在改需求!如果我寫的每個函數,都要去考慮到底參數是指標,還是值,又或者這塊記憶體到底應該什麽時候回收,哪有時間去應付那些天天改的需求!另外,那些需要編譯的語言,往往不適合熱更新,也就是說,你不可以簡單的透過下載一個檔來更新玩家已經安裝的程式,你不可以在不停伺服器的情況下修一些BUG。最後,那些編譯型的語言沒有反射,你精心設計的名字(類名、函數名)無法自動的和各種遊戲所需的資源繫結起來,要知道,遊戲這個業務,最重要的就是程式碼去控制各種「資源」,比如動畫、音樂、場景、配置等等,所以你要維護一大堆各種配置檔,用來描述程式碼中的常量和外部數據的關系,既啰嗦又容易出錯。最後,就算你不喜歡物件導向,遊戲也是非常適合物件導向建模的領域,或者說,你必須要建模,那麽就應該用建模最容易的語言,否則那些互相類似、又稍有差別的業務邏輯,會讓你寫上大堆大堆的「疑似重復」的程式碼。另外,Lua和Python這類指令碼,因為比較簡潔,還能直接用來儲存遊戲數據,代替配置檔,而且手稿語言的表達能力比XML/INI這些格式要強大的多。所以說應該用手稿語言來寫遊戲,沒有其他的懸念。