お問い合わせTopゲームプログラムトップスクリプトエンジンスクリプトエンジン■概要スクリプトエンジンとはゲームエンジンの一つで、主にアドベンチャーゲームなどで使用されるエンジンです。実装される機能はゲームの仕様で異なりますが、基本的にプログラムの知識がない人でもドキュメントやサンプルを見ながら作れれば、しっかりとしたゲームが作れるように作られています。独自のスクリプトエンジンあるところが多いです。■機能スクリプトエンジンに実装されている機能は画像やテキストの表示サウンドの再生などが基本的な機能となります。その他、アドベンチャーではセーブ、ロード機能や既読スキップ機能などの各ジャンルで必須となるような機能や、そのゲーム特有のものなどゲームに合わせた機能が実装されています。繰り返し処理や関数などの一般的なプログラム言語と同等の機能を有しているエンジンもあります。手軽に使用することができるように作られています。●開発効率の上昇プログラマー以外が修正、調整を行えるのでスクリプト開発自体にコストがかかったとしてもプロジェクト単位で考えると開発効率は上昇します。単純なスクリプトエンジン(命令を順次実行していくものなど)の場合、コストをかけずとも開発することが可能です。●同じジャンルで使いまわせるアドベンチャーなら画像表示や文字スクロール、セーブ/ロードなど各ジャンルで共通機能が実装されていることが多く同じジャンルなら再利用することでき、それによって開発期間の短縮が見込めます。■吉里吉里フリーウェアである「吉里吉里」のダウンロードから実行までの簡単な説明です。※実行はKAGを使用します。●ダウンロード以下のリンクから「吉里吉里」をダウンロードします。「安定板ダウンロード」項目の最新版をダウンロードしてください。ダウンロードページファイルはzip形式になっているので解凍(展開)します。吉里吉里はインストーラーを使用しなくてもzipを展開するだけで問題ありません。各フォルダの中にreadme.txtがあるので目を通してください。●KAGKAGとはアドベンチャーゲームを手軽に作成できるよう作られたスクリプトです。kag3/kag3docにKAGのドキュメントがあり、こちらに機能や、やり方について全て書かれています。・デモの実行KAGの簡単な説明用のデモスクリプトが用意されているのそちらを実行してどのようなことができるのかを体験してみます。1.krkr.eXeの実行KAG自体は吉里吉里スクリプトなので実行するには「krkr.eXe」をクリックします。展開したフォルダの中のkag3の中に「syoukai」というフォルダがあるのでそちらを選択し、OKボタンを押します。「吉里吉里とは」または「KAGとは」をクリックして中身を確認してください。次は簡単なスクリプトを作成し、実行します。新しいゲーム用のスクリプトを作るときはそのゲームのデータを入れておくためのフォルダを用意し、kag3/templateフォルダの中にあるフォルダをすべて新しく作成したフォルダにコピーします。scenarioフォルダには作成したスクリプトを入れて、bgimageにはゲーム中に使用する背景を入れます。「準備をしよう」項目に記載されています。2.configのファイル名変更コピーしたフォルダのsystemの中に「Config.~new」というファイルがあるのでこのファイルの名前をConfig.tjsに変更します。3.実行krkr.eXeを実行して、フォルダ選択画面で作成したプロジェクトフォルダを指定してください。無事、実行が完了したら以下の画面が表示されます。●シナリオシナリオは「.ks」拡張子で作成します。scenarioフォルダには「first.ks」があり、このファイルが「吉里吉里」で実行した際に一番最初に動作するシナリオファイルと認識してもらって構いません。今回はこちらのファイルに書かれている命令の簡単な解説を行います。※シナリオファイルはテキストエディタ(メモ帳など)で開きます。time=200]*start|スタート[cm]こんにちは。※2行目の「*start|スタート」は今回は説明しません。・タグ1行目と3行目が「コマンド」と呼ばれる命令になります。KAGは「タグ」とよばれる特別な機能を実行できる命令があります。このタグを使用するには命令を[]で囲みます。1ミリ秒)で、「time=200」と記述した場合は200ミリ秒待機をしてから次に命令を実行することになります。[cm]はメッセージを消去してくれる命令で、画面上にある文字を消したい場合に使用します。・メッセージ4行目の「こんにちは」のようなタグやその他の特殊文字ではない文字列はメッセージとして扱われ、命令の順番が回ってきたら画面に表示されます。今回は「cm」で画面上のメッセージを消去してから表示されるようになっています。試しに「こんにちわ」の次の行に「こんばんわ」と記述すると以下のように画面になります。time=200]*start|スタート[cm]こんにちは。結果の画像でわかると思いますが、「こんにちわ」と「こんばんわ」の間に改行がありません。改行はコマンド[r]を使用して行います。time=200]*start|スタート[cm]こんにちは。「こんにちわ」の後で改行されて「こんばんわ」が表示されました。●コマンド行KAGにはタグの[]と同等の効果を与える「@」があります。この@を使用した命令をコマンド行と呼びます。time=200上記の命令は同じ動作をします。●コメント行の開始に「;」を記述するとその行は無視されるようになります。このように実行から無視され、メモを記述できる機能を「コメント」と呼んでいます。コメントは記述方式が異なりますが、一般のプログラム言語でもあります。time=200]*start|スタート[cm];こんにちは。このようにコメント化された行は無視されて表示されません。探している内容が見つからなかったら以下のサイトにあるかもしれません。筆者が開発にかかわらせてもらったアプリのリンクです。