90 likes | 264 Views
ノベルゲームシステムとネットワークの連携について . 1104081 下元 悠嗣. 研究内容. ノベルゲーム専用のスクリプトエンジン吉里吉里 /KAG にネットワーク機能を追加することで従来にない特色を持ったシステムの開発. 使用システムについて. 通信部分 C 言語 プラグイン部分 C++ TJS KAG. システム構成1. 吉里吉里について TJS2 言語で文字・画像・音・映像を使用した作品を制作でき、 Widows 環境で使える無償のソフトウェア KAG について 吉里吉里を利用したスクリプトでサウンドノベルを制作できるようにしたもの
E N D
ノベルゲームシステムとネットワークの連携について 1104081 下元 悠嗣
研究内容 • ノベルゲーム専用のスクリプトエンジン吉里吉里/KAGにネットワーク機能を追加することで従来にない特色を持ったシステムの開発
使用システムについて • 通信部分 C言語 • プラグイン部分 C++ • TJS • KAG
システム構成1 • 吉里吉里について TJS2言語で文字・画像・音・映像を使用した作品を制作でき、Widows環境で使える無償のソフトウェア • KAGについて 吉里吉里を利用したスクリプトでサウンドノベルを制作できるようにしたもの 名前はKirikiri Adventure Gameの頭文字をとったもの
・KAGとTJSの関係 KAG シナリオ記述言語 [ ](タグ)でメッセージ、シーンの制御 TJSによるプログラム ・TJSとプラグインの関係 TJS 汎用スクリプト言語 プラグインdllファイル プラグインで拡張可能 拡張関数の呼び出し
システム構成2 • ネットワーク(掲示板)→プラグイン→シナリオ反映 getHTTP(URL) 関数 シナリオ 掲示板 URLでの接続 フラグ変数 HTMLテキスト 吉里吉里(TJS) 正規表現で キーワード抽出 文字列変数
利用例 • ネットワーク(掲示板)より情報の取り込み表示 名前や選択肢などの単語の置き換え • シナリオのフラグ制御 ユーザーの選択結果(シナリオ分岐)を外部からコントロール
プログラム例 • KAGのスクリプト [iscript] Plugins.link("basetest.dll"); var str = getHTTP("http://www.cyteen.nagoya-bunri.ac.jp/cgi-bin/mini/test/cell.cgi?/bbs/1205411139/l1"); var re = new RegExp("aaa(.*)bbb"); var str2 = re.exec(str); f.選択1 = str2[1]; re = new RegExp("ccc(.*)ddd"); var str3 = re.exec(str); f.選択2 = str3[1]; [endscript] *実験2 実験2です[l][r] [link target = *a]aへ[endlink][l][r] [link target = *b]bへ[endlink][l][r] [s] *a [cm] aへ移動しました[l][r] [jump target = *実験3]
まとめ • 出来た部分 掲示板に書かれた最新の情報の取り込みと表示 取り込んだ情報によるフラグの判定(シナリオ制御) • 出来てない部分 取得データサイズの容量制限 i-mode用のホームページ以外からの情報の取り込み • 通信対応ノベルゲームの展望 将来的には通信機能により、ユーザー反応のシナリオ反映や、他ユーザーとの競争要素を持たせる