[PR]テレビ番組表
今夜の番組チェック

AbyssLibとは?

 

★AbyssLibとは?

AbyssLibとは、組み込み用途を対象にしたアドベンチャーゲーム(以下、AVG)システムライブラリです。
シミュレーションゲームやロールプレイングゲームなどに、AVGのシステムを組み込みたい方を対象としています。

★対応コンパイラ

AbyssLibで正式に動作確認の取れているコンパイラは、
    ・Microsoft Visual C++ .NET 2003
    ・Microsoft Visual C++ .NET 2005
    ・Microsoft Visual C++ .NET 2008
です。

★動作環境

AbyssLibで正式に動作確認の取れている動作環境は、
    ・Windows2000/XP
です。

AbyssLibで想定された動作環境は、
    ・Windows95/98/Me/NT/2000/XP
    ・Internet Explorer3.0以降
です。

★利用規約

・本ライブラリは保証無しでの提供です、一切の責任を作者は負いません。
・以下の制限に従う限り、商用を含め本ライブラリを任意の目的に使用し自由に改変して再頒布することを全ての人に許可します。
    ・あなたが本ライブラリをプログラム内で使用した場合、文書などで謝辞を頂ければ幸いですが必須ではありません。
    ・本ライブラリの出自について虚偽の表示をしてはなりません、あなたがオリジナルのライブラリを作成したと主張してはなりません。
    ・ソースを変更した場合はそのことを明示しなければなりません、オリジナルのライブラリであるという虚偽の表示をしてはなりません。

平易に言い換えますと、

プログラム内で使用した場合

・一切の制限はありません、「AbyssLibを使いました」と示して頂ければ幸いですが必須ではありません。

AbyssLibを改造して再頒布した場合

・「一から全部自分で作った」と示すのは禁止です、「AbyssLibを改造しました」とだけ何らかの形で示してください。

といった感じでしょうか。AbyssLibはオープンソースのフリーウェアです、いかなる利用形式であれロイヤリティ/ライセンス料金を要求することはありません。

★その他

・ScriptCompiler、ScriptDecompiler、ScriptLinker、ScriptPlayer、BasicCommandsって?

ScriptCompiler

テキストファイルをコンパイルし、オブジェクトファイルを出力します。
コンパイルするテキストファイルをドラッグ&ドロップしてください(複数同時可)
同一フォルダ内に、必ずBasicCommands.dllを入れておいてください。

ScriptDecompiler

オブジェクトファイルやスクリプトファイルを逆コンパイルし、その内容を表示します。
逆コンパイルするオブジェクトファイルやスクリプトファイルをドラッグ&ドロップしてください(複数同時不可)
同一フォルダ内に、必ずBasicCommands.dllを入れておいてください。

ScriptLinker

オブジェクトファイルをリンクし、スクリプトファイルを出力します。
メイクファイルを作成し、ドラッグ&ドロップしてください(メイクファイルのみ)
同一フォルダ内に、必ずBasicCommands.dllを入れておいてください。

ScriptPlayer

スクリプトファイルを読み込み、スクリプトを実行し動作します。
スクリプトファイルが存在しなければ、エラーを表示して終了します。
同一フォルダ内に、必ずBasicCommands.dllを入れておいてください。

BasicCommands

スクリプトの命令が収められたDLLです。
実行ファイルと 同一フォルダ内に、必ずBasicCommands.dllを入れておいてください。

・コンパイル?オブジェクトファイル?スクリプトファイル?リンク?メイクファイル?

コンパイル:テキストファイルを、ScriptPlayer.exeが読めるように翻訳します。

オブジェクトファイル:テキストファイルをコンパイルした時に出力される翻訳されたファイルです。 拡張子は、.objです。

リンク

AVG用のスクリプトは、複数のテキストファイルに分散して記述することが多々あります。
例として、シナリオの起承転結をki.txt、syou.txt、ten.txt、ketsu.txtに分散して記述したとしましょう。
この場合、個々のテキストファイルをコンパイルすると、ki.txt.obj、syou.txt.obj、ten.txt.obj、ketsu.txt.objが出力されます。
これら全ては同一のAVGスクリプトとして扱うべきです、その為に上記のオブジェクトファイルを結合させる作業をリンクといいます。

スクリプトファイル

オブジェクトファイルをリンクした時に出力される合体されたファイルです。
AbyssLibにおけるデフォルトでのスクリプトファイル名は、scenario.datです。

メイクファイル

リンクさせるオブジェクトファイル名を記したテキストファイルです。
たとえば、A.objとB.objとC.objをリンクしたい場合は以下のようにします。

A.obj
B.obj
C.obj
 

要するに、リンクさせるオブジェクトファイル名を全て記述すれば問題ありません。
複数の場合は改行を必ず行ってください、またリンクさせるオブジェクトファイルはメイクファイルと同一のフォルダ内に配置してください。

・"_d"がついた実行ファイル(およびDLL)は?

デバッグ用です、"_d"が付いていないものよりも細かくエラーを検出し表示します(その反面、実行速度は遅いです)

・なぜVC2005とVC2008にはScriptPlayerがないの?

ScriptPlayer制作時に利用しているyaneSDKが、VC2003にしか対応していないからです。

・yaneSDKでしか動作しないの?

そんなことはない(筈)です、AbyssLibのグラフィック機能やサウンド機能やユーザー入力機能に対するアクセスは全てインターフェースクラスを通して行ってます。
よって、AbyssLibの仕様に従いインターフェースクラスを継承し実装すれば他のライブラリでも動作可能(な筈)です。
現在はyaneSDKで制作したScriptPlayerしかありませんが、それを証明する為に現在ScriptPlayer2を製作中です。
ScriptPlayer2が完成しました!これにて、yaneSDK以外でも動作することが証明されました。

最後に

テストおよびデバッグは行っていますが、何分一人での制作ですのでバグが潜んでいる可能性は否めません。
見つけた方は、何らかの形でバグを報告して頂ければ幸いです。