請問開發大型網絡多人游戲需要掌握那些編程語言?
大型游戲魔獸世界,星際等等還有國內的劍網三,這類游戲都是大型游戲。開發它們肯定不是一個人能完成的,一般的大型游戲開發絕不是用某種語言這么單純的問題。一個大型游戲的開發需要龐大的團隊使用各種各樣的語言和工具來完成。總結一下主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或Java。
開發游戲我們經常聽到的是游戲引擎,一個游戲引擎決定一個游戲最基本的東西操作和效果,那么一般的游戲開發架構從底到頂一般是Direct X(Windows平臺)——游戲引擎——游戲。Direct X可是大名鼎鼎相當于所有顯卡的一個統一接口,為游戲提供一個利用硬件渲染的編程模型,但Direct X接口為了追求高性能功能非常簡單基本的繪圖功能,不利于游戲的高效開發。此時就需要根據游戲特點對其進行適當的取舍和封裝,實現一組更高抽象的游戲開發接口和框架,可以理解成游戲引擎中的圖形引擎。這部分的開發一般使用的語言是C/C++和少量的匯編語言。
游戲引擎是一個非常復雜的功能聚合體,所有的游戲開發工作都是在之上進行的。包括圖形引擎,音頻引擎,碰撞引擎,藝術資源管理,腳本引擎等等。至此還沒摸到游戲的邊,何談玩轉游戲?
簡單總結一下,基礎語言C/C++,這個是必選項那要提高些效率是不是還得會點匯編語言。一些東西需要重復性的工作來做,我們是不是應該會點腳本語言?至少不用重復的去干某一件事情。
基礎的講完了,高大上的東西是不是也得搞搞,不是搞搞是要精通。Direct X是建立在OpenGL上的,OpenGL語法類似C語言,游戲執行時被編譯加載到顯卡上,在實現硬件渲染速度的同時又實現了軟件編程的靈活性。游戲開發人員都對游戲開發的絕大部分知識都有一定的了解,如果是客戶端程序員,基本上需要了解以下知識:圖形學,圖形API(D3D/OGL),算法/數據結構,物理,游戲邏輯,音樂音效,人工智能,編程語言,設計模式,操作系統,工具編寫,UI。