System4.0について



はじめに
ゲーム開発キット『System4.0開発キット』は、大きく分けて「Sys42IDE」 「System40.exe」「Sys42VM」「SACT2」の4つから成り立っています。 まずはそれらの説明から入りたいと思います。

Sys42IDE
Sys42IDEは、ゲームを開発するための統合環境です。 この統合環境からソースコードをコンパイルし、 System40.exeで実行可能な「実行バイナリファイル」を作成します。

ソースコードはC/C++やJava言語に似たSystem4.2言語で記述します。

System40.exe
ゲームを実行するためのスタートアップEXEです。

Sys42VM
Sys42VMはDLLとして存在し、System40.exeから実行される 仮想マシン(VM)です。「実行バイナリファイル」はこのVM が読み込んで実行します。

SACT2
DLLとSystem4.2言語で書かれたソースとのセットで提供される スプライトを扱うのに便利なライブラリです。

スプライト表示以外にも、キー入力・音楽再生・メッセージ処理 などの機能もあります。ゲームを作る上で必要なものは、ほぼ 揃っています。

開発の流れ
一般的なADVやRPG、SLGなら、System4.2言語とSACT2で 大抵のものは作成できます。

ただ、Sys42VMは仮想マシンであるため、CPUのネイティブコードと比べて スピードが遅いので、 膨大な演算は不向きです。その場合は、DLLを作成してSystem4.2言語から 呼び出すのが良いでしょう。

また、SACT2が作成・管理するスプライトのピクセルサーフェスに対して、 直接操作するDLLを作成する事もできます。これはDrawPluginと呼びます。

SACT2ライブラリに標準でDrawGraphというDrawPluginが入ってます。 これを使うことで、ピクセルサーフェスに対してブレンド・回転・拡大・縮小・ 3D回転等のピクセル操作ができます。

DrawPluginで、SACT2のSACT_UPDATE関数のタイミングでコールバック処理を させることも可能です。これにより、雨・雪などのエフェクトやムービー 再生等の動的なピクセルサーフェス操作が行えます。

JITコンパイラ
Sys42VMにはJITコンパイラが搭載されています。 計算処理や分岐・ループ等のコードが連続している部分は、 CPU命令に変換され、最大7倍程度高速に実行されます。