RGSS

RGSS (Ruby Game Scripting System) について



RGSS(Ruby Game Scripting System)は、オブジェクト指向プログラミング言語であるRubyをベースに、ゲーム開発向けに拡張されたスクリプト言語です。主にRPGツクールシリーズに搭載されており、ユーザーはこれを利用してゲームの挙動や機能をカスタマイズできます。

搭載バージョン



2010年3月時点で、RGSSは以下のRPGツクールシリーズに搭載されていました。

RPGツクールXP: RGSS1
RPGツクールVX: RGSS2
RPGツクールVX Ace: RGSS3

これらのRPGツクールシリーズでは、RGSSを利用することで高度なゲームシステムを構築可能です。ただし、最新のRPGツクールMV以降では、JavaScriptベースのゲームエンジンが採用されたため、RGSSは利用されていません。

RGSSの特徴



Rubyベースの文法: RGSSは基本的にRubyの文法に従っているため、Rubyを理解している開発者であれば比較的容易にスクリプトを作成できます。
ゲーム開発用クラスとモジュール: ゲーム制作に必要なクラスやモジュールが定義されており、これらの機能を活用することで、効率的なゲーム開発が可能です。ただし、添付ライブラリは一部のみで、別途入手が必要な場合もあります。
スクリプトの実行: 作成したスクリプトは、プロジェクトフォルダ内のData\Scripts.rxdata(または拡張子がrvdata、rvdata2)から読み込まれ、実行されます。
各バージョンで使用されているRubyのバージョン:
RPGツクールXP、VX: Ruby 1.8.1
RPGツクールVX Ace: Ruby 1.9.2p0


RGSS各バージョンの詳細



RGSS1 (RPGツクールXP)


画面サイズ: 幅640ピクセル、高さ480ピクセルで固定。
フレームレート: 内部処理は40fps、描画は20fps(滑らかモード時は40fps)。
例外処理: Graphics.updateが10秒以上実行されないと、例外Hangupが発生。
デバッグモード: 変数`$DEBUG`がtrueに設定され、スレッド処理などで挙動が異なる場合があります。
主なクラス・モジュール:
モジュール: `Audio`, `Graphics`, `Input`, `RPG`, `RPG::Cache`, `Zlib`
クラス: `Bitmap`, `Color`, `Font`, `Hangup`, `Plane`, `Rect`, `Reset`, `RGSSError`, `RPG::Sprite`, `RPG::Weather`, `Sprite`, `Table`, `Tilemap`, `TilemapAutotiles`, `Tone`, `Viewport`, `Win32API`, `Window`

RGSS2 (RPGツクールVX)


画面サイズ: デフォルトで幅544ピクセル、高さ416ピクセルに変更。実行中に変更可能(起動時サイズは不可)。
フレームレート: 60fpsに変更(滑らかモードは廃止)。
例外処理: Graphics.updateが長時間呼ばれなくても例外は発生しません。
フォント: ゲームフォルダ内のファイルから読み込み可能。
その他の変更点: クラス`Tilemap`の仕様変更、その他ゲームライブラリやデータ構造の一部が変更。
デバッグモード: `$TEST`がtrueに設定され、$DEBUGは変更されません。
主なクラス・モジュール:
モジュール: `Audio`, `Graphics`, `Input`, `NKF`, `RPG`, `Zlib`
クラス: `Bitmap`, `Color`, `Font`, `Plane`, `Rect`, `Reset`, `RGSSError`, `Sprite`, `Table`, `Tilemap`, `Tone`, `Viewport`, `Win32API`, `Window`

RGSS3 (RPGツクールVX Ace)


Rubyバージョン: ベースとなるRubyのバージョンが1.9.2p0に引き上げられました。
暗号化: 暗号化アーカイブのフォーマットが変更され、起動時間が短縮されました。
互換性: RGSS1やRGSS2との完全な互換性はありません。

RGSSの利用



RGSSは、RPGツクールのゲームプログラムの根幹を成しており、ユーザーはプリセットスクリプトを改造したり、独自のスクリプトを作成したりすることで、ゲームのシステムや機能を拡張できます。

カスタマイズ: イベントコマンドでは実現が難しい、独自のシステムを構築できます。
柔軟性: プリセットスクリプトを使わず、完全に独自のゲームシステムを構築することも可能です。
多様なゲーム制作: RPGだけでなく、アクションゲームなど他のジャンルのゲーム制作も可能です。

RGSSの利点



RGSSを導入することで、以前のRPGツクールでは困難だった以下のようなカスタマイズが容易になりました。

文字のサイズ変更: 自由な文字サイズ設定。
メニュー画面の変更: メニュー画面のレイアウトや機能のカスタマイズ。
HP設定: 敵のHPを任意の値に設定。

RGSSの欠点



初心者向けではない: エラーが発生した場合、原因の特定が難しい場合があります。Rubyの文法エラーなども発生するため、初心者には敷居が高いかもしれません。
スクリプトの競合: 複数の自作スクリプトを導入すると、スクリプト同士が競合して正常に動作しない場合があります。これは、クラスやメソッドの再定義によって、予期せぬ動作を引き起こすことが原因です。
競合回避: スクリプト作者は競合を避けるために、既存メソッドのエイリアスや独自の名前空間を使用しますが、導入時には注意が必要です。

まとめ



RGSSはRPGツクールシリーズにおいて、ゲームのカスタマイズや拡張に不可欠なスクリプト言語です。Rubyの知識があれば、より高度なゲーム開発が可能になりますが、初心者には少し難しい点もあります。しかし、多くの自作スクリプトが公開されているため、それらを活用することで効率的な開発が可能です。

関連情報



Rubyをベースとしたゲームライブラリは多数存在します。

Miyako
MyGame
Star Ruby

外部リンク



RPGツクールXP
RPGツクールVX
RPGツクールVX Ace
Rubyホームページ

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。