當前位置:才華齋>網路>遊戲動漫>

淺談遊戲指令碼策劃的職能

遊戲動漫 閱讀(8.15K)

指令碼,是使用一種特定的描述性語言,依據一定的格式編寫的可執行檔案,又稱作巨集或批處理檔案。下面我們就來談談遊戲指令碼策劃究竟是幹什麼的。想了解更多相關資訊請持續關注我們應屆畢業生培訓網。

淺談遊戲指令碼策劃的職能

  遊戲指令碼策劃主要幹什麼?

指令碼策劃近幾年逐漸被重視。越來越多的引擎,越來越多的遊戲,對遊戲指令碼的定義和開發的支援,讓指令碼的功能越來越強大,也成為遊戲策劃開發遊戲的利器之一。 在介紹指令碼策劃之前,我有必要先解釋一下什麼叫指令碼。

通俗點說,指令碼就是利用程式實現一個簡單的迴圈。放在遊戲中的具體例子就是:大家都知道,網路遊戲中的練級場所會定時、定點重新整理怪物。但這怪物是怎麼刷新出來的?當然不是由GM上線重新整理,而是利用事先設計好的指令碼,系統將自動按時間和地點重新整理怪物。 而指令碼策劃所要做的,就是製作遊戲中不同的指令碼,比如上面提到的怪物重新整理指令碼、任務指令碼等等。

  遊戲指令碼策劃是策劃團隊中的“程式設計師”

指令碼策劃一般需要有一定的程式設計基礎,因為指令碼本身其實就是一種程式。

指令碼策劃的工作內容比較單一,屬於偏執行方面的策劃,是策劃團隊中的“程式設計師”,主要負責遊戲中指令碼程式的編寫。

指令碼策劃類同於程式設計師但又不同於程式設計師,因為會負責遊戲概念上的一些設計工作。通常是遊戲設計的執行者。因此遊戲指令碼策劃必須要有程式設計功底,他的工作是任務等的指令碼編寫,以及管理程式提供的各種需要策劃維護的指令碼介面。

  指令碼語言就是遊戲世界得以執行的基石

如果說開發語言是遊戲程式得以執行的'基石,那麼指令碼語言就是遊戲世界得以執行的基石。一切劇本、圖片、音樂、動畫等皆是由指令碼語言整合在一起並由程式解釋執行的。所以可以說指令碼是程式與劇本之間的橋樑,所以也是主程式與劇情負責必須共同掌握的部分。

指令碼是如何形成的?程式設計的本身拓展和設計越來越複雜,而且分劃出不同的型別,同時在繼承發揚中丟失著,底層的構架被越來越多的人所拋棄,程式的東西,讓人望而卻步,無法駕馭,而指令碼就如程式管理員一樣抓住程式設計本身一些最基本的構成思路和執行機理,是一種總結概括,把重點提煉,把相關歸類,把過程簡化,保留一般的規則。 指令碼簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本開啟檢視、編輯),指令碼程式在執行時,是由系統的一個直譯器,將其一條條的翻譯成機器可識別的指令,並按程式順序執行。因為指令碼在執行時多了一道翻譯的過程,所以它比二進位制程式執行效率要稍低一些。

  各個遊戲公司常用的指令碼有:LUA和PYTHON

有些遊戲公司的指令碼,是由公司程式設計師自己編寫的一種開發工具。

常用遊戲指令碼中,目前應用比較廣泛的有幾種,一個是LUA,一個是PYTHON。

LUA指令碼,在魔獸世界中發揚光大(後來的征途中好像也採用LUA指令碼),好多遊戲都開始接受並且學習這種指令碼知識,以期能應用到自己遊戲中,遊戲指令碼的好處就是,能夠快速的調動一些遊戲資源,利用自己手上的關鍵欄位進行指揮,統領,運營部門最適用。

  lua指令碼與python指令碼對比分析

1、兩者的定位不同。python的定位在於自身的獨立開發,即是說python定位於自己能解決所有的問題。lua定位在與其它的程式碼,尤其是C++程式碼進行相互配合的編譯,單獨的Lua本身沒有任何的意義。

2、站在解決問題的角度上看。python依靠自身越來越強大的庫,讓程式設計者能實現越來越多,越來越複雜的問題。lua本身則必須與其它的編譯語言結合,才能解決問題。以C+++lua來舉例。單獨的C++,因為C++的複雜性,在其解決問題提供方便的同時,也給程式設計師帶來了很大的麻煩,這些麻煩主要有兩個方面:1,C++本身,特別是能用好C++,對程式設計師就來說就是一個很高的要求。2,在解決複雜問題時,C++程式結構的複雜性和邏輯實現的複雜性,給程式設計師對程式的改進和維護帶來了很大的麻煩。而C++與Lua的結合,讓C++可以只負責為lua提供各種基本的功能函式庫,而Lua呼叫這些庫來實現各種邏輯功能。這種分工可以讓程式設計師將程式中的基本程式碼庫和邏輯實現程式碼進行分離,使程式的效率和可維護有了很大的提高。所以,如果真的要站在解決問題的角度來對python和lua進行對比的話。實際上,是C++與python進行對比,而與lua無關。

3、python與C++對比,我覺得python與C++對比的優勢就在於其所提供的基本庫,大大的降低了程式複雜度與可維護性對程式設計師本身的要求。比如,同樣的功能,如果是C++來做的話,可能其程式設計師必須具備三年的經驗,如果是python來做,而python又有解決問題所需要的庫的話,一個具有一年程式經驗的程式設計師可能就能完成了。但是,同樣的,如果是C++與Lua結合來解決問題的話,可能就只需要半個高階程式設計師和一個只有c語言一年經驗的程式設計師就可以了。半個高階程式設計師負責提供lua的函式庫,另一個程式設計師,只需要用這些程式碼庫實現邏輯就行了。

綜上所述,C+++lua的開發模式,和python原始碼庫開發+python指令碼開發模式其實是一樣的。但是站在程式設計師的角度上來說,C+++lua就更為簡單一些,因為除去基本的lua解釋程式碼外,C++可以為lua動態提供各種函式庫。而python程式設計師則必須受制於python所提供的各種功能庫。所以,如果解決一些具有普遍性和重複性的問題時,python是有優勢的,因為有很多的程式碼可以不用重寫,而C+++lua則必須重構。如果是解決一些非普遍的問題,如果python本身沒有提供解決這些問題的庫的話,python程式設計師,就必須走回C++的老路。