您當前所有位(wèi)置:首頁 > 注冊類型 > 軟件遊(yóu)戲

遊戲一般用什麽編程語言開(kāi)發

作者:企業好幫手
時間:2019-11-16 09:31:58  瀏覽量:
[ 企業好幫(bāng)手導讀 ] 遊戲本身會運行在不同的平台,而平台也影響了使用的語言。平台主要有2大類,PC(也就是常用(yòng)的電腦)和手機。它們上麵都可以使(shǐ)用(yòng)網頁來運行遊戲,所以額外我們把網頁瀏覽(lǎn)器上麵跑的叫WEB端。

  針對上麵的3種平台類(lèi)型。我們來聊一聊這些(xiē)平台上(shàng)常見的遊戲是用什麽開(kāi)發的。

  PC端。大部分的遊戲是C/C++開發(fā)的。這主要是因為我們(men)使用的操作係統如(rú)window,mac的底層都是c。使用C/C++可以極大的發揮性能上麵的優勢。比如下麵(miàn)這個NBA2K18就是用C/C++為主(zhǔ)開發的。

遊戲一般(bān)用什麽編程語言開(kāi)發?

  手機端。手機端的遊戲我們稱(chēng)為(wéi)手遊。手機(jī)上麵的操作係統主要是ioses與androids,也(yě)就是蘋果和安卓(zhuó)係統。在之前,androids上麵的遊戲以java開發居多。這是因為androids係統本身就是以java開發為主。ioses上(shàng)麵的(de)遊戲以object c開發居多(duō),這也是(shì)因為係統本身的緣故。最近ioses又出來swift語言。但是隨著技術的發(fā)展,程序員們發現(xiàn)一款遊戲要部(bù)署到各個平台的(de)成本太高了。所以現在主流的技術是使用跨平台的遊戲引擎開發,然(rán)後發布到不同的(de)平台。所以,語言的選擇(zé)從對平(píng)台的依賴變成了對遊戲引擎的依賴。那(nà)我們就要看看主(zhǔ)流的遊戲引擎有哪些(xiē)?主流的遊戲引擎有:unity,cocos,unreal等。unity采用的是C#語(yǔ)言為主。cocos下(xià)麵以C++、lua、js等開發語言。unreal主要是以C++為主。從上麵這些中你會發現語言有很多,使(shǐ)用的也(yě)很多。在商業項目以及目前主流技術中,大部分高水準的遊戲是以C++結合lua來開發的。C++負(fù)責處理高性能的部(bù)分,lua處(chù)理邏輯部分來加快開發速度。即使是使用(yòng)unity引擎,大部分產商也會選擇C#結合lua的方式來開發。C#負責核心部分,lua處理邏輯部分。

  再聊一下WEB端。WEB端(duān)以(yǐ)前是以flash為主,常見(jiàn)的就是4399的很(hěn)多小遊戲,都是flash為主。WEB端主要是一個html與js的(de)解釋器。目前WEB開發國內(nèi)主要是3大引擎:白鷺、laya以及cocos-js。它們的主要開發語言為(wéi)typescript,這主要是因為typescript可以提供非常(cháng)快的(de)開(kāi)發速度(dù)(就像lua一樣),同時(shí)它還具備提前暴露問(wèn)題的能(néng)力。

  實際上上麵的部分主要聊的是遊戲客戶端。在遊戲領域,實際上分為服務端和客戶端。客戶端指對外玩(wán)家可以見到的畫(huà)麵表現等。服務端是運行在產商自己(jǐ)的(de)服務器上的,支持玩家之間互相可見,同步,聊天等各種邏輯。對於服務端的語言,目前有(yǒu)C++結合lua以及C#、java、php等。這幾種都很常(cháng)用(yòng),主流的大的遊戲依然是C++為主。中小型的遊戲(xì)各種都會用到(dào)。php常用於(yú)對網絡需求很低的遊戲的(de)做簡單的數據處理。

  上麵的主要是一些(xiē)理論,下麵我(wǒ)們來實戰幾(jǐ)個問題,一會我們(men)再來總結。

  1. 王者榮耀是(shì)用什麽(me)開發的(de)?王者榮耀使用的是unity引擎(qíng),而這種全民級別(bié)的遊戲是非常注重性能的。所以它采用的(de)是C++結合C#。核心(xīn)用C++,邏輯(jí)用C#。為什麽不是我們前麵(miàn)說的C#結合lua呢?因為騰訊(xùn)有這(zhè)個技(jì)術實力(lì),所以他們整體使用了更有性能優勢的語言開發。

  2. 微信裏(lǐ)麵的小遊戲是用什麽開發的?小遊戲本質上是個WEB的執行環(huán)境。所以它上麵的很多遊戲都(dōu)是typescript或(huò)者js開發的。之(zhī)所以typescript還沒有普及,是因為它的社區不夠活躍。

  3.怎麽猜測一款遊戲是什麽語言開發的?先(xiān)上網搜索它的開發(fā)引擎,如果搜索到了就看看它對性能是(shì)否要求高,來推導它的使用語言。如果搜索不到(dào),那很可(kě)能是自研引擎。自研引擎大(dà)部分都是C++實現的。

  最(zuì)後總結下(xià)。目前大部分國內的遊戲以C++/C#結合(hé)lua實現為主,隨著小遊戲的開始,催生出一些js/typescript開發的遊戲。為什(shí)麽是以C++結合lua會是實現為主呢,是(shì)因為現在網(wǎng)遊(yóu)最賺錢。一款遊戲月流水過千萬甚至過億催生了這個產業。這個產業注重2點:性能穩定,所以是C++。可以各種修改,各種支出活動(dòng),所以是lua。C++性能非常高,騰訊內部大部分代碼其實都是C++的。lua是門腳本語言,招人門檻很低,也容易學(xué)習。所以,很多語言實際上是(shì)因為大環境的影響(xiǎng)而(ér)被選中(zhōng)的。另外一方麵,服務器也可以采用C++結合lua開發,這樣的話就形成了(le)雙(shuāng)端(服務(wù)端和客戶端)都使(shǐ)用相同(tóng)語言的高速開(kāi)發模式。

  我猜想題主是想選擇一種語言學習(xí)。首先題主要看下自己(jǐ)未來的方向。是想做大項目還是做小項目。如果是希望做大項(xiàng)目,目前無疑推薦的是C++和lua。如果是(shì)小遊戲之類(lèi)的,推薦的是typescript。未來的一個趨勢我(wǒ)大膽預(yù)測可能是C++結合typescript。我了解到的一些技術大(dà)牛已經開(kāi)始這(zhè)樣實踐了(le)。推薦的lua語言開發書籍如下:

遊戲一(yī)般用什麽編程語言(yán)開發(fā)?

  推薦的C++書(shū)籍如(rú)下:

遊戲一般用什麽編程語言開發?

  typescript暫時沒有合適的書籍供閱讀,主要以typescript的官方文(wén)檔為主。

  小遊戲類的開發書(shū)籍推薦(jiàn)如下:

遊戲一般用什麽編程語言(yán)開發?

  大的遊戲實際(jì)上需要大量的(de)學習和知識積累。遠遠不是幾本書能(néng)完全吃透的。這邊還是推薦(jiàn)一本unity3的引擎的書來提高下入門的(de)興趣:

遊戲一般用什麽編程語言開發?

  特別提醒下:基於目前互聯網的發展速度,讀書已經不是最快的獲取知識的途徑了。所(suǒ)以推薦(jiàn)的是優先以互聯網的內容來學習,找個(gè)引(yǐn)擎玩一玩。像玩玩(wán)具一樣的學習編程是最快樂的。之後再努力進入一線的研發團隊曆練,這樣成長最快。紙(zhǐ)質(zhì)的書籍落後於實際的(de)技術3-5年以上。

  • 上一篇:遊(yóu)戲開發趨勢:美國TOP500手遊品類分析,未來什麽遊戲會(huì)火(huǒ)?
  • 下一篇:深度解析Java遊戲服務器開發
  • 相關文章

      無相關信息
    • 北京代辦公司注冊的頭像
      北京代辦公司(sī)注冊

      注冊時間:18-12-31

    • 企業好幫手(shǒu)的頭像
      企業好幫手

      注冊時間:19-01-27

    • 企業ISO認(rèn)證的頭像
      企業ISO認證

      注冊時間:20-12-22


    意見反饋
    意見反饋
    返回頂部
    '); })(); 久久久久久 一区丨日韩中文字幕在线免费观看丨美国一级天天操夜夜操丨人人色人人干丨伊人干88综合网丨99精品国产免费观看视频 99精品国产免费观看丨久久不卡高清一区丨日日干