2010/04/04 吉里吉里について調べる機会があったので、 初心者用解説サイトhttp://www.pluto.dti.ne.jp/~megumi/kirikiri_top.htmlを 眺めながら携帯電話でポチポチ打った文章。 吉里吉里を落としてすらいないので、理解の至っていない点や間違いがたぶんあると思う。怒られたら直します。 NScripterを触ってきた人間のメモなので、読むなら話半分にどうぞ。 商用でも料金は発生しない。 ・基本的に命令は[]で囲む。htmlのタグみたいな扱い。改行も。 ・変数に全角文字が使える ・リンク(select相当)が非常に流動的に貼れる→TIPSは簡単に作れる ・タグ内の属性という要素 exp→HTML的 ・if〜endif→入れ子にできる、複数行に分けられる→lua的(プログラム的)、便利だが書くのが若干面倒  =は代入。==は等しいかどうかの判定。or(|相当)は||。 ・for〜nextに相当する命令が無い。→不便でしょこれ。 ・macroという概念(defsubに相当) →つまりgosubは無い? 全角文字もマクロ化できる。定義する場所は自由だがマクロがセーブデータに記録されるため、古いデータを読み込んだ際に昔のマクロが出てきてしまう。config.tjsで記録しないように設定。 →[(マクロ名) %(属性名)]とする。属性の指定が無かった場合の処理はマクロ側で設定できる。 →%はデータを渡すことしかできず、演算や真偽判定が出来ない。マクロを抜けると消える。 →mp.(属性名)とすれば演算や真偽判定が出来る。やはりマクロを抜けると消える。linkやbuttonタグ使用時は注意。配列変数とか使うようにするってさ。エンティティ? ・bold→nil。 ・二次元配列の定義がちょっと面倒? 調べたら一応出てきた。 ・セルアニメーションは.asdでわざわざ定義する必要がある。命令の書き方も若干異なる。それって不便じゃないの? →一つのファイル内に*anime_1、*anime_2でセグメントを作る。0は初期実行。[s]はアニメ停止。animestart、animestop。セグメントに@homeが入ってると止められるらしい→外部でも干渉できるようにしてる? →やたら面倒くさいけど、画像の一部をセル化できるという利点はある。 ・クリッピング方式→要するにスライドショー的な。一枚の画像を分割表示。画像全体を入れ替える。Nスクのcellはこちらに近いか? 表示位置とサイズは自由に変えられる。 →つまり、吉里吉里のアニメーション関係は本体スクリプトと別に動くスクリプトという利点がある。しかし、その利点が複雑化の一因にもなっている。 ・KAGの内部構造がTJSみたいだね。 TJSという言語があって、それを処理するスクリプトエンジンがKAGという解釈でいいのかな? kag.(内部パラメータ)という表記 ・辞書配列。配列変数の番号を数字でなく文字で管理する。 →超便利じゃないですか! NScripterにも欲しかった。いやLua使えばいいのか。要するに連想配列だよねこれ。 ・kag.process→KAGのラベルにジャンプ。 ・(クリックとかキーとかボタン)Hook→そのキーやらが押されたときの処理。 ・hact→回想の一部に効果。音声読み上げとか。 ・&はエンティティ。頭にくっつけるとタグ設置時のタイミングで計算を行って結果を格納する。→面倒だから配列使ってるらしいが… ・起動開始→KAGのコア→Override.tjs→残りのデータ→Afterinit.tjs→起動終了 config.tjsは別口 ・メニュー画面のカスタマイズ →gosubで擬似的にメニュー画面を作れない以上、シスカマ的にやるしかないのかな? 要するに多機能だけど面倒くさかったり複雑だったり。ノベルならNScripterの方が便利だろうね。並列作業的に弱めなアニメーション関係も、プラグインで十分補強できる。 RPGに便利な概念はいくつかあったけど、Luaが使えるようになったことで補えるんじゃないかな、連想配列とかで。 言語を直接使えることからもカスタマイズできる範囲は広いみたいだし、その結果出てくるなんかすごく便利な機能があったりするのかもしれない。けど、ノベルとか非リアルタイムのダンジョンRPG作る分にはNScripterで十二分だと思う。ごちゃっとしてないから分かりやすいし。 ただアニメーションが強いのは確かだろうから、フィールドの表現とかは吉里吉里の方がまともなものを作れるんだと思う。FEとかオウガタイプの戦略シミュレーションは吉里吉里の方が作りやすいかも。いやFEくらいならどうにかなるか? 一旦マクロを組んでしまえば日本語で命令が組めて便利だけど、そこに至るまでに打ち込まなきゃいけない量が多すぎる。素の打ち込まなきゃいけない量も多すぎる。 プラグインが豊富らしい。使う人は調べればいいよ。 フォントが綺麗らしい。個人的にNスクのフォントを汚いと感じたことがないのでよく分からないけど、Nスクのフォントはアンチエイリアスの評判がよろしくないらしい。 セーブが不便。ラベルを設定した場所でしかできないらしい。RPGならいいけどノベルだと不便じゃない? 回避法でもあるのかな。 個人的な意見、プログラムに進む気がある人は吉里吉里使えばいいんじゃない? 命令追加やら機能拡張やらを重ねられてLuaまで使えるようになった結果、もう非リアルタイム処理についてはNスクで出来ないことってほとんど無い気がする。 あとは配列変数の挙動と機能拡張だけ欲しいかな。 でも、吉里吉里は変数の番号付けなきゃいけないって制約がないのは便利か。(対処法とかLuaとかあるけど) 変数の上限とかラベルの上限みたいなものも無いのかな? だとしたらそれも便利か。