游戲腳本如何制作?開發(fā)的過程中需要注意哪些問題?
網(wǎng)友解答: 這個問題問的有些模糊,是說制作一套腳本系統(tǒng)呢?還是說編寫腳本呢?如果說制作一套腳本系統(tǒng)的話,國內(nèi)實現(xiàn)這個的人并不多,我個人制作過一套。整體上第一步是先將腳本代碼按字符解晰,分
這個問題問的有些模糊,是說制作一套腳本系統(tǒng)呢?還是說編寫腳本呢?
如果說制作一套腳本系統(tǒng)的話,國內(nèi)實現(xiàn)這個的人并不多,我個人制作過一套。整體上第一步是先將腳本代碼按字符解晰,分離出連續(xù)的詞匯和符號等。第二步就是對這些語法的分晰并生成最終便于腳本虛擬機或是真機執(zhí)行的代碼。也有為省事生成匯編代碼,再扔給匯編器生成最終執(zhí)行代碼的。如果是為某個游戲編寫腳本,這就要看游戲程序與腳本的配合方式。一種形式是龐大的腳本主導(dǎo)方式,這種方式主要在歐美的單機游戲中較多,整個游戲的整體邏輯完全由腳本主導(dǎo)控制,就像是程序一般。這種就需要腳本的編寫者有程序員一樣的能力。一種形式屬于事件式,整個游戲邏輯依然由程序主導(dǎo)。在各種事件產(chǎn)生時,調(diào)用相應(yīng)的腳本執(zhí)行。這種由于影響面小,所以相對較為簡易,有簡單編程能力的人即可編寫。但不管是那一種形式使用腳本,都需要注意的是:游戲中使用腳本是為了更隨意的控制進(jìn)程的發(fā)展,而不是用來替代程序的。程序代碼由于直接由CPU解晰執(zhí)行所以效能較高,而腳本一般是需要由程序解晰再執(zhí)行的,效能較差。所以不應(yīng)該在腳本中使用大量密集的計算,當(dāng)出現(xiàn)密集計算需求的時候,需要和程序員溝通,提出直接在程序中實現(xiàn)。同理大量密集的數(shù)據(jù)訪問也不應(yīng)該在腳本中出現(xiàn),因為這會嚴(yán)重影響整體的性能和安全性。出現(xiàn)這一類需求,同樣均需要和程序員溝通,由程序員提供技術(shù)分晰以及一定的加速手段,如多線程執(zhí)行腳本或是改變實現(xiàn)方式。