主な機能
- 作成したプログラムをスタンドアロン形式のEXEファイルとして保存可能
- 6つの2Dイメージフォーマットに対応 (BMP / DIB / PNG / JPG / DDS / TGA)
- 5つの3Dオブジェクトファイルフォーマットに対応 (3DS / X / MDL / MD2 / MD3)
- 1000以上のゲーム用コマンド
- マッピング機能 (ライト、環境、球体、キューブ)
- マルチテクスチャリング
- リアルタイムシャドウ
- 反射効果
- ライト (オムニ、スポット、ディレクション)
- ポリゴンのコリジョンとその反応
- マルチプレイヤーゲームの作成 (LAN及びインターネット)
- 3D Studio/DirectXオブジェクト対応
- 3Dスペースのサウンドコントロール
- 音楽ファイルのロード、再生、ループ
- ビデオアニメーション、DVDストリームのロード、再生、ループ
- 3Dフォグの深度、距離、色をコントロール
- オブジェクトの回転を自由に制御
DarkBASIC Professionalコンパイラ
DarkBASIC ProfessionalコンパイラはDarkBASICコンパイラに改良を加えたわけではなく、DarkBASIC Professionalのためだけに一から開発されたコンパイラです。DarkBASIC Professionalコンパイラの特徴を以下にリストしました。
- コードは100%最適化された形でマシンコードにコンパイルされます
- デバッカではブレークポイント、ステップ実行、変数監視を使用できます
- 作成したプログラム内のコマンドを組み込んだEXEファイルを作成
- 内部ファイルと外部ファイルを組み合わせてスタンドアロンプログラムを作成
- カスタムアイコン/カーソルの使用可
- 内部メディアの暗号化により安全かつサイズの小さなファイル作成が可能
- EXEファイルの配布に便利なDLLを格納したプログラムの作成が可能
BSPコンパイラ
人気のゲームのほとんどにはBSPと呼ばれる3Dフォーマットが使用されています。BSPとはBinary Space Partitioningの略語で、3Dシーンを予めソートしておくことにより画面への素早い描画が可能になります。
DarlBASIC Professionalでは、たったひとつのコマンドでQuake 2/3、Half-Life、Return to Castle Wolfensteinレベルファイルをロード/表示することが可能です。これをDarkBASIC Professional日本語版 BSPレンダーが高いフレームレートで迅速に表示します。DarkBASIC Professional日本語版がフルエンバイロメントコリジョンを処理しますので、FPSゲームなどを簡単に作成することができます。
BSPフォーマットのサイズや複雑さの度合いによっては、ワールドの書き込みに対応できない場合がありますが、一般的なフォーマット(Quake3、Return to Castle Wolfenstein、Half-Lifeなど)の書き込みには対応しています。
DarlBASIC Professionalでは、たったひとつのコマンドでQuake 2/3、Half-Life、Return to Castle Wolfensteinレベルファイルをロード/表示することが可能です。これをDarkBASIC Professional日本語版 BSPレンダーが高いフレームレートで迅速に表示します。DarkBASIC Professional日本語版がフルエンバイロメントコリジョンを処理しますので、FPSゲームなどを簡単に作成することができます。
BSPフォーマットのサイズや複雑さの度合いによっては、ワールドの書き込みに対応できない場合がありますが、一般的なフォーマット(Quake3、Return to Castle Wolfenstein、Half-Lifeなど)の書き込みには対応しています。
高度なレンダリング
DarkBASIC Professional日本語版には様々なコマンドが内蔵されています。これらのコマンドを使用することで昨今のゲームには不可欠ともいえる効果的なビジュアルエフェクトを作成することが可能です。
- 球体マッピング
- キューブマッピング
- バンプマッピング
- マルチテクスチャ処理
- ライトマッピング
球体マッピング
球形マッピングを使用することで、簡単にインパクトの強い画像を作成することができます。球形マッピングは、オブジェクトを包みこむようにテクスチャを適用して元々のテクスチャと調和させて作成します。球形マッピングを適用すれば、カメラ(もしくはオブジェクト本体)の移動に合せてメタリックな輝きを放つオブジェクトを作成することができます。
球形マッピングは、マルチテクスチャ使用可能なグラフィックカードさえあれば適用可能ですので、古い型のカードでも作成することができます。DarkBASIC Professional日本語版では球形マッピングをたったひとつのコマンドで適用することができます。
球形マッピングは、マルチテクスチャ使用可能なグラフィックカードさえあれば適用可能ですので、古い型のカードでも作成することができます。DarkBASIC Professional日本語版では球形マッピングをたったひとつのコマンドで適用することができます。
キュービックエンバイロメントマッピング
キューブマッピングは6面のテクスチャを使用して作成します。キューブマッピングでは、天井、床、側面に6枚の壁紙が貼ってある部屋内にオブジェクトがあり、周りの壁紙の模様がオブジェクトに映りこんでいる状態名と同じ状態を作成できると考えると分かり易いと思います。キューブマッピングは複数の視点から見ることを想定して構成されますので、1つの視点から見ることを想定して作成される球体マッピングよりも高度な画像を作成することができます。キューブマッピングでは、画像が歪むこともありません。
キューブマッピングは、オブジェクトが周りの風景を反射しているように表示されます。多くのグラフィックカードがキューブマッピングに対応しており、DarkBASIC Professional日本語版ではたった1つのコマンドでキューブマッピングを適用することができます。
キューブマッピングは、オブジェクトが周りの風景を反射しているように表示されます。多くのグラフィックカードがキューブマッピングに対応しており、DarkBASIC Professional日本語版ではたった1つのコマンドでキューブマッピングを適用することができます。
バンプマッピング
バンプマッピングを適用してオブジェクトに細かいディテールを追加することができます。バンプマッピングを適用すると、DarkBASIC Professional日本語版が通常テクスチャを使用してオブジェクトへのライトのあたり具合をピクセル単位で算出します。DarkBASIC Professional日本語版では、たったひとつのコマンドを実行するだけで、Low polygonモデルをディテールのあるオブジェクトに作り変えることができます。
バンプマッピングは、DotProduct3対応のビデオカードであれば適用可能ですので、古い型のカードでもバンプマッピングを作成することができます。
バンプマッピングは、DotProduct3対応のビデオカードであれば適用可能ですので、古い型のカードでもバンプマッピングを作成することができます。
マルチテクスチャ処理
Microsoft Direct3Dでは、ひとつのパス内のプリミティブに最大8つのテクスチャを適用することができます。マルチテクスチャを適用することにより、Direct3Dアプリケーションのフレームレートが向上し、テクスチャ、影、反射光、散光などの項目をひとつのパスに適用することができます。DarkBASIC Professional日本語版ではマルチテクスチャをたったひとつのコマンドで適用することができます。
ライトマッピング
ライトマップとは3Dシーンのライト(光源)に関する情報を含むテクスチャまたはテクスチャグループのことを指します。DarkBASIC Professional日本語版では、ポイント/オム二/スポットライトを作成することが可能ですが、いずれも静的レベルのレンダリングに適切なライトではありません。Cartography Shopなどを使用してライトマップテクスチャを作成することができますので、そのテクスチャをオブジェクトに適用しましょう。難しい作業をしなくても、図のような画像を作成することができます。
パーティクル
パーティクルは現代のゲームに頻繁に使用されている技術です。ロケットや拳銃を発射した際の火花、煙、爆発時に飛び散る破片などのすべてがパーティクルですので、ほとんどの方が見たことがあると思います。DarkBASIC Professional日本語版ではたったひとつのコマンドでパーティクルを作成することが可能で、作成したパーティクルへかかる重力、速さ、寿命、イメージなどの調整も簡単に行うことができます。
反射
オブジェクトに反射を適用するには3通りの方法がありますが、DarkBASIC Professional日本語版では、その内の1つをたった1つのコマンドで適用することができます。DarkBASIC Professional日本語版はステンシル反射を作成するのにシーンの一部(BSP、景色、パーティクル、他のオブジェクトなど)を切り取り、反射するオブジェクトのアングルに合せてそれらをレンダリングします。簡単にオブジェクトに反射を適用するには、キューブマッピング、複数のカメラを使用したレンダリングを行い、フェイク反射を作成することをお勧めします。この手法は現在のゲームによく使われています。
立方体、球体、ポリゴンのコリジョン
例えばゲーム内に一斉に攻撃してくる数百匹のクモ、山頂から落下してくる複数の岩などを作成する場合、コリジョンのスピードが非常に重要になってきます。コリジョンのスピードを保持したままこれらのプログラムをうまく動作させるためには、各オブジェクトにボックス(箱)もしくはスフィア(球)のコリジョンエリアを設定します。通常、コリジョンエリアにボックス、スフィアのどちらを設定するかはオブジェクトの形に従って指定してください。設定したコリジョンエリアは画面上には表示されません。より詳細なコリジョン判定が必要な場合には、コリジョンエリアにポリゴンを設定することができます(ただしスピードが遅くなります)。
影
DarkBASIC Professional日本語版には簡単かつ効果的なシャドウシステムが内蔵されていますので、3Dカードのステンシルバッファを使用して影を投げかけるオブジェクトからシャドウボリュームを作成することが可能です。シャドウボリュームを使用して、他のオブジェクト、景色、BSPと何にでも影をつけることができます。また影を投げかけるオブジェクト自体、アニメーションオブジェクトに影をつけることも可能です。DarkBASIC Professional日本語版のシャドウシステムを使用すれば、ヒーローキャラクタが掲げた槍の影が、ヒーローの動きに従って、ヒーローの顔から壁に移動するというようなシーンを作成することができます。
ボーンアニメーション
ボーンアニメーションとはモデルを形成しているメッシュを変形させて作成するアニメーションのことで、メッシュ内のボーン(複数)を使用してスケルトンを作成します。スケルトンはアニメーションを調整する際に使用され、表示することはできません。ボーンアニメーションではメッシュをボーン単位で動かすことが可能ですので、Limbベースのアニメーションのようにアニメーションの動きに不自然なギャップが生じることがありません。
DLLの拡張性
DarkBASIC Professional日本語版の最大の特徴はオリジナルのコマンドを作成できるということです。DLL(dynamically Linked Libraries)を書いた経験があれば、簡単に新しいコマンドを作成して名前をつけ、DLLをDarkBASIC Professional日本語版の特別フォルダに格納することができます。次に起動した際には、そのコマンドを使用することができるようになっています。欲しいコマンドがあれば追加されるのを待たずに、自分で作成してみてください。