RGSS(Ruby Game Scripting System)是以Ruby語言為基礎的遊戲手稿語言,用於RPG Maker系列的功能擴充上。

版本歷史

RGSS

搭載於RPG Maker XP,是指令碼功能首次亮相。可用於實現事件難以完成的功能。

RGSS 2

搭載於RPG Maker VX,將指令碼分為數個大類,以方便管理與學習,並新增指令碼功能與優化效能等。

RGSS 3

搭載於RPG Maker VX Ace,使用Ruby1.9.2,並新增指令碼功能與優化效能等。 為最後一版的RGSS,在後繼版本RPG Maker MV中被JavaScript外掛程式取代。

與Ruby不同之處

RGSS的語法與Ruby完全相同。主要在圖像的顯示、音樂的演奏、遊戲設計所需要之功能上作強化。

RGSS實作之類別與模組

  • Audio
  • Bitmap
  • Color
  • Font
  • Graphics
  • Input
  • Plane
  • Rect
  • RGSSError
  • RPG
  • Sprite
  • Table
  • Tilemap
  • Tone
  • Viewport
  • Window

用途

一般而言,使用者可以使用內建的RGSS指令碼,加上事件指令來編輯遊戲系統,而不需要撰寫任何程式。如果有事件指令無法實現的系統時,則可以透過修改RGSS或新增RGSS指令碼來完成。

此外,使用者也可以完全不使用內建的RGSS指令碼,自己用RGSS重頭編寫想要的遊戲系統。雖然說RGSS本身是專門為RPG設計而成,但要使用RGSS製作動作遊戲益智遊戲等類型的遊戲也是可行的。

RGSS方便的特性在於:變更文字的大小、變更選單畫面、或更改敵人的體力值等複雜的指令,使用事件指令雖能達到效果,但非常麻煩並缺乏通用性。但若使用RGSS,只需在指令碼編輯器中插入指令碼即可,有程式設計基礎便能更順利、快速地編寫系統。

網路上公開的自製RGSS指令碼。多數使用起來非常簡單,只要按照說明插入指令碼編輯器即可。

RGSS的缺點

  • 初學者發生錯誤,原因不容易發現:
過去版本的RPG製作大師,錯誤的原因多為事件編寫錯誤。但使用RGSS的話,也有程式的拼寫錯誤(Spell miss)、及變數、物件類別的使用方法錯誤的可能,初學者難以自行修正。
  • 使用多個指令碼時,可能會互相衝突:
網路上有許多公開的RGSS指令碼,能讓不會寫程式的使用者輕鬆使用擴充功能。但同時使用多個指令碼時,可能會造成衝突而無法正常運作。

例如:兩個指令碼同時覆寫一個類別的方法,各自的指令碼都預期該類別不同的運作方式,可能會造成遊戲異常或當機。為了避免這個狀況,有些公開指令碼的設計者會採用不同的類別/方法名稱,或者是使用alias指令將原本有的指令複寫後再執行,盡量避免這類的問題。

但使用alias可能會在按下F12之後在定義方法中造成無限迴圈,因為某些內建的指令碼不會在按下F12之後再重新定義,所以不會寫程式的使用者在同一類別仍應避免穿插太多不同功能的指令碼。

外部連結