游戲腳本代碼語言
❶ 游戲開發中常用哪種腳本語言
隨著《魔獸世界》(以下簡稱wow)在世界范圍內流行,腳本漸漸被人們所熟知。由於wow強大的自定義界面系統,Lua這一腳本語言一舉成名。
其實早在Lua腳本語言被大眾所熟知以前,游戲業內人士就已經開始使用腳本來開發游戲了。我們熟悉的很多國內的網路游戲大都運用了腳本開發,比如網游的長青樹「夢幻西遊和《大話西遊2就大量應用了腳本技術。特別是《大話西遊2》,其實現基於Lua腳本游戲開發的時間要遠早於《魔獸世界》。在腳本技術上,國內與國外其實是站在同一起跑線上的,並不存在什麼差距,這也為國內游戲產業趕超國外游戲產業提供了強有力的技術保證。
在單機游戲時代,腳本這個詞幾乎很少出現,那麼,為什麼在網路游戲時代它卻成了業界的寵兒呢?原因是多方面的。
單機游戲時代,無論游戲主機還是PC機,它們的性能都非常低下,從而需要具有較高執行效率的編譯型語言對機器的性能進行「壓榨」。隨著科技發展和硬體性能的不斷提升,腳本逐漸被開發者所接受並利用,但這並不是腳本流行起來的決定性因素,真正的原因還在於游戲市場有這方面的需求。
網路游戲時代的市場競爭激烈、變化莫測,如果延用單機時代一年半載才出一個新版本的開發方式,必然會被游戲行業激烈的市場競爭所淘汰。正是這種游戲市場需求旺盛和開發工具效率底下之間的矛盾,促使腳本語言迅速地發展起來。腳本的興起使得傳統編譯型語言(asngC/C )的性能優勢在硬體功效大幅攀升的今天已經不復存在。
除了市場和硬體這兩個因素之外,還有一點我們不能忽略。那就是用C/C 進行游戲開發的高成本和高項目風險。隨著java/.net逐漸流行,學習C/C 編程語言的人越來越少,而網路游戲市場的需求卻越來越龐大,在程序人才大量匱乏的情況下,造成了c,C 人才的高成本。即便是有能力僱傭大量C/C 程序員的公司,在開發游戲的過程中,也不能無視C/C 的高級特性和高度靈活性帶來的高項目風險。C/C 是易學難精的編程語言,在開發大型項目的時候由於程序員的水平參差不齊,所以極易造成溝通不暢。不僅如此,c,C 濫用的高級特性也容易引入大量bug。正是由於這些原因,游戲公司開始在游戲中使用腳本,希望通過腳本來解決這些高成本、高風險的問題。
二.腳本的現狀
腳本不僅解決了c/C 無法解決的開發效率難題,還降低了開發的成本和風險。因此腳本技術在游戲業內蓬勃發展起來,並且已經成為游戲業中不可或缺的一環。縱觀當前腳本技術現狀,形勢一片大好,不僅語言百家爭鳴,而且書籍種類也越來越多;不僅在游戲業界開花結果,在web等其它應用領域也大放異彩。
首先,我們來看看目前比較流行的腳本:Python、Lua、ruby和Erlang。Python和Lua是網路游戲開發的中堅力量;ruby憑借 rubyonrails的web開發框架的強勁力量,其在游戲業的發展前途亦不可小視;Erlang在高並發性上的原生優勢吸引了無數追求高性能網游伺服器的開發人員的目光。
其次,我們來看看書籍方面。大家都知道,文字對語言的普及起到了催化劑的作用,甚至可以看作是語言的有機組成部分。Python經過基金會的多年經營而得到NASA、Google重用的原因,就是由於其相關書籍種類比較豐富;Ruby隨著RoR的流行,這兩年行情看好,書籍也出版得越來越多了;Erlang是典型的少眾語言,但隨著多核時代的來臨和高並發網路應用的需求,Erlang有著光明的發展前景,現在<<ProgrammingErlang>>等書也已經在策劃出版了;反觀Lua,雖然目前越來越流行,但由於它晦澀的介面設計和缺乏大型應用的支持,使得相關書籍寥寥無幾。
最後,我們把焦點重新聚集到游戲開發行業中,其實不難發現,除了前文提到的《魔獸世界》和網易經典「西遊系列」使用了腳本外,現在大多數比較流行的程序也都使用了腳本,如騰訊的QQgame))和搜狐的《天龍八部》等。不僅如此,現今的游戲引擎也都提供了腳本介面,無論是商業的unreal引擎還是開源的 OGRE,無一例外。
三.腳本的優勢
腳本之所以能夠在游戲業中找到自己的一席之地,是因為網路游戲市場需要一個快速開發方案來避免C/C 開發帶來的項目高成本和高風險。那麼,腳本相對於C/C 這類編譯型語言到底有什麼優勢呢?
I易於學習,代碼可維護性強
腳本的語法通常都非常簡單,也沒有太多高階的特性,學習的門檻較C/C 低得多,比如Python可能只需要花一個下午即可學會。這使得游戲開發公司可以招聘完全沒有腳本、編程經驗的新手,通過低成本的培訓,他們便能迅速地走上工作崗位。除易於學習外,腳本代碼也有較強的可維護陛(盡管寫出沒有人看得懂的Lua代碼也非難事)。因為腳本沒有很多高階特性(如c 里的模板元編程就是高階特性),所以腳本程序員就有更多的精力去架構、模式、重用和測試等工作,從而提高了代碼的可維護性。相應地,正因為沒有那麼多讓人困惑的高階特性,也使得腳本代碼「簡潔」不少。
2.降低開發成本
如上所言,由於腳本易於學習,游戲開發公司可以大量起用新手,這正是降低成本的有效手段。那麼如何來確保新手所寫代碼的質量呢?眾所周知,新手無論用什麼語言寫程序肯定會出現bug,但用C/C 和Python做比較,可以看出,一個新手用C/c 編寫出的程序所出現的bug肯定會比用Python編寫出現的bug要多。由於c程序需要編譯,而腳本程序(大部分)都可以直接解釋執行,所以在排除 bug方面腳本也佔有一定的優勢,這也使腳本在降低成本的同時能夠更好地保證代碼質量。
3.形成人才壁壘
軟體開發行業是一個頗為動盪的行業,無數的程序員都在跳槽和謀劃跳槽的狀態中生活,使用腳本開發形成人才壁壘是游戲業減少人才流動的有效手段。因為現在腳本除了在游戲業中非常流行外,並沒有在其它行業形成廣泛應用(雖然在web開發方面也有燎原之勢,但終究不如在游戲業中的地位高)。這就使得游戲程序員很少會考慮非游戲行業的職位,但其它行業的程序員卻可能會因為腳本的易學習性而轉投游戲業。腳本除了能有效形成行業間的人才壁壘外,也能有效地形成企業間的人才壁壘。由於現有的腳本種類繁多,不同公司往往有不同的選擇,甚至有些公司使用自己開發的腳本語言,所以程序員從公司A跳槽到公司B可能要學習使用另一種腳本,這就提高了跳槽的成本,從而減少了人才的流動。
四.腳本的發展趨勢
依照目前趨勢來看,腳本語言一定會更加的普及,而且會逐漸滲透到其它行業中。隨著網路游戲從業人員數量的增長,腳本程序員也一直增加,而且Web2、0熱潮引起的網路需求,也促成了一批批新腳本程序員的誕生。網路游戲市場就像一個正在滾動的雪球,推動著腳本的普及。
隨著腳本在游戲業中越來越流行,市場對生產效率的需要也會相應提高。腳本雖然在一定程度上緩解了生產效率與生產工具之間的矛盾,但仍然不夠完善。由於市場競爭日趨激烈,而網路游戲在很多功能上的實現又都相差無幾,如網路、資料庫、圖形甚至部分邏輯,這必然會引起網路游戲生產的組裝化一一大量中間件相互組合形成新的網路游戲。從目前來看,Bigwofld、PhysX和Unreal等都是比較流行的網路游戲中間件。腳本語言則是粘合各個中間件的良好膠水語言,所以隨著網路游戲的生產組裝化,腳本將有更大的發展空間。
那麼,當腳本發展到如日中天的時候,可能取代C/C 這些編譯型語言嗎?筆者認為不會。腳本語言和編譯型語言在生產效率和執行效率上各擅勝場,網路游戲既需要能快速應變的腳本,也需要能快速執行以提供更絢麗游戲效果的編譯型語言。未來,它們之間一定會保持長久的和諧互補關系,相輔相成。
五.結語
綜上所述,網路游戲時代是上帝賜予腳本語言發展的絕好時機,腳本語言很快將迎來光芒四射的時代。腳本語言擁有編譯型語言無可比擬的生產效率優勢,所以它們將互補互助並肩奮戰在游戲的最前線。
❷ 游戲中常說的用腳本是什麼意思
腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的,腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。
因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
游戲腳本的意思,就是一個模擬滑鼠、鍵盤的程序。
比如玩家要按一下A鍵, 移動滑鼠點擊一下。這個動作,用腳本可以直接幫玩家執行,省了手動操作。但使用游戲腳本在游戲中是作弊行為,會嚴重影響其他玩家的體驗,因此需要嚴厲抵制。
(2)游戲腳本代碼語言擴展閱讀:
腳本的編寫都是採用某一種編程語言。
如 LoadRunnert 測試工具用的 C 語言;WebLoadt 測試工具用 JavaScript 或者是接近編程語言的方式;Robot 測試工具用SQABasic, 一種類似於VB的語言;
QTPt 測試工具所用到的是VBScript;WinRunnert 測試工具所用到的是類 C 的語言。這些測試腳本的易讀性相對較低,編寫相對復雜, 當設備的功能需求發生變化時,測試腳本不易被維護。
常見的腳本語言有:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,Python,Ruby,JavaFX,Lua,AutoIt等。
❸ 游戲一般用什麼編程語言開發
一般的大型游戲開發不是單一用某一種軟體語言的問題。一個大型游戲的開發需要非常大的團隊用各種各樣的語言和工具來完成。
總結一下主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或Java。
首先一般的游戲開發架構(Windows平台)從底到頂一般是Direct X™——游戲引擎——游戲。
大型游戲開發的大部分工作其實都是在編寫游戲腳本,腳本是大型游戲得以如此高速開發和發布的主要原因。腳本化的開發讓游戲開發擺脫了硬編碼的種種弊端,讓游戲內容可以輕易的修改和調試。比如比較流行的語言。,然後編寫腳本將其組織成一個游戲,不需要什麼底層的編程語言。
Windows平台比較流行的方法是使用最新版本的Visual Studio,顯卡廠商如NVIDIA也會為VS開發一些插件來簡化顯卡編程和調試。(3)游戲腳本代碼語言擴展閱讀:
匯編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號「+」的機器代碼),於是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。
匯編語言由於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼。而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由於使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的 「匯編程序「的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。
用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟體和過程式控制制軟體,其目標程序佔用內存空間少,運行速度快,有著高級語言不可替代的用途。
高級語言
不論是機器語言還是匯編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。
這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
如今被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬於系統軟體。
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。
編譯方式是:事先編好一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。
PASCAL、 FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。每一種高級(程序設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植
❹ 寫游戲腳本需要學哪種編程
數據結構,編譯原理。
腳本語言又被稱為擴建的語言, 或者動態語言, 是一種編程語言, 用來控制軟體應用程序, 腳本通常是以文本 (ASCⅡ) 保存, 只是在被調用時進行解釋或者編譯。
當執行腳本時,計算機會執行一連串的操作。這些操作可能只涉及 Illustrator,也可能涉及其他應用程序,如文字處理、電子表格和數據管理程序。
Illustrator 可支持多種腳本環境(例如,Microsoft Visual Basic、AppleScript和 JavaScript 等),且內含標準的腳本組合。用戶也可使用自己的腳本,並將這些腳本加入「腳本」子菜單中。
❺ 一般游戲編程用什麼語言和軟體
下面是游戲開發十大編程語言的列表。
1、C類#
C語言現在被廣泛應用於許多游戲引擎中,是最流行的游戲開發語言之一。它有一個XNA框架、一套微軟工具和運行時環境,使它特別適合Xbox或windows上的游戲。如果你想使用monogame在幾乎任何平台上發布游戲,這是一種很好的語言。
2、C類++
C++是一種面向對象的語言,被認為是最難學習的語言之一,但它是游戲開發人員的重要語言。它允許對硬體和圖形進程進行更直接的控制,這對行業很重要,是一些流行游戲引擎的流行語言。它還提供了對參數和內存管理的大量控制,從而提高了游戲的性能和用戶體驗。
3、Java
Java使用與C++相同的面向對象原則,但提供了更廣泛的系統。Java代碼通常在Java虛擬機(JVM)上運行,並轉換為可在任何系統上執行的通用位元組碼。因此,Java是為數不多的能夠讓開發人員為任何給定系統開發游戲的游戲編程語言之一。它是最好的游戲編程語言之一。
4、JavaScript
JavaScript是最流行的游戲編程語言之一,尤其是作為一種在線交互語言。使用JavaScript,可以更容易地將代碼與傳統的網路技術(如HTML和CSS)集成,從而導致越來越多的跨平台移動游戲。
5、HTML5
HTML5已經成為互聯網上最常見的游戲編程語言之一。你今天玩的大多數手機游戲都使用這種標記語言。使用JavaScript很容易創建復雜的基於web的游戲。該語言簡單易學,不一定需要學習復雜的演算法編程知識,因此成為游戲開發者的熱門選擇。
6、SQL語言
SQL被玩家用來訪問後端帳戶並在伺服器上執行其他操作。有新的語言,庫,框架,特別是AR,VR,圖形,物理和游戲。
7、Python
Python是另一種提供OOP方法的語言,是游戲開發人員使用的最易於使用的通用編程語言之一。它有一個pyGame框架,允許程序員快速開發游戲原型。
8、Rust
鐵銹被吹捧為C的繼承者之一。它主要被Mozilla基金會用作系統編程語言。它具有面向對象到面向數據的方法,有助於游戲開發。
9、UnrealScript
Unrealscript是unreal引擎的本機腳本語言。它結合了面向對象、多重繼承和功能豐富的游戲等復雜功能。該語言支持所有主要的游戲平台,如微軟Windows、MacOS、Linux、steamos、Android和PlaystationVR。
10、Lua
由於語言結構和語法簡單,Lua正成為游戲界最流行的語言之一。它是一種多平台腳本語言,許多現代游戲引擎都使用Lua作為主要的游戲設計編程語言。
❻ 想做一個游戲腳本怎麼做,怎麼寫,有什麼軟體
製作游戲腳本有很多軟體,但是很多都需要您學習編程,那麼問題來了,玩個游戲有必要去學枯燥的編程嗎,答案是完全沒必要,下面介紹幾款腳本製作軟體給大家。
1.按鍵精靈:
按鍵精靈是一款模擬滑鼠鍵盤動作的軟體。通過製作腳本,可以讓按鍵精靈代替雙手,自動執行一系列滑鼠鍵盤動作。按鍵精靈簡單易用,不需要任何編程知識就可以作出功能強大的腳本。只要在電腦前用雙手可以完成的動作,按鍵精靈都可以替代完成。
目前按鍵精靈已經更新到[2014.03.16164 ]-2015.11.23更新。從編程的角度來看,它集合一些插件的腳本編輯、調試工具。代碼不公開。生成的小精靈,模式化界面。
2.易語言:易語言是一門以中文作為程序代碼編程語言。以「易」著稱。創始人為吳濤。早期版本的名字為E語言。易語言最早的版本的發布可追溯至2000年9月11日。創造易語言的初衷是進行用中文來編寫程序的實踐。從2000年至今,易語言已經發展到一定的規模,功能上、用戶數量上都十分可觀。
3.TC: TC是一款簡單易學,支持中文編程,零基礎可起步的腳本開發工具。
❼ 游戲開發,需要學習什麼編程語言
主要是C#。
游戲編程也是編程,都是需要敲代碼的。所以基本的語言基本功是不能少的,比如C語言或者C++或者C#至少要精通其中一門。精通到什麼地步呢,基本數據結構和基礎的演算法還有設計模式你得非常熟悉。這樣算是入門了。
接下來你就可以選擇一個游戲引擎了,市面上主流的游戲引擎有兩種一個Unity3D一個虛幻四。但是這兩款引擎的腳本語言並不一樣,Unity是C#虛幻四是C++所以在學習之前要想好使用引擎開發什麼類型的游戲。
主要學的內容如下:
1.游戲程序設計:C++程序設計入門;基本數據類型和輸入輸出;流程式控制制語句;數組、指針和引用、函數;程序結構和書寫規;范結構體和聯合體、類;繼承與多態;異常處理與程序調試。
2.演算法與數據結構:演算法分析;數據結構;基本演算法;STL的概念與使用;靜態庫與動態庫;XML庫的使用。
3.Win32程序設計:Windows程序入門;Windows消息;GDI繪圖游戲工具與MFC;網路編程基礎。
4.游戲數學和智能應用:游戲中的坐標系;矢量、矩陣;幾何碰撞;物理模擬;人工智慧與尋路演算法。
5.2D游戲技術與應用:2D游戲技術概論;游戲地圖系統;GUI系統;戰斗系統設計;任務系統;優秀的聲音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
❽ 游戲開發中常用哪種腳本語言
游戲開發?那必然是Lua~效率高~但是手機游戲上有用其他語言的~Lua比較多而已~
有個別公司用Java當腳本~
❾ 游戲腳本語言
Lua[1] 是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Lua腳本可以很容易的被C/C++ 代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。[2] Lua由標准C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平台上都可以編譯,運行。[2] 一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。