吉里吉里

秋葉原

自分の作るものが面白くない言い訳として、明らかに面白いものを作るよりも、面白いのかどうか分からないものを作る方が好きなのだ、と言うことができます。でもそれは素直にそうかもしれません。何故面白いのかよくわからないものの方が好きだし。かおりひ…

if文ブロックのスコープ

次のような、あまり良い書き方ではないプログラムがあったとします。 if(condition) var foo=1; else var foo=2; Debug.message(foo); これは、あまり良い書き方ではないにも関わらず、うまく動きます。ところが、ある日突然思い立って、if文に中括弧(ブロ…

ノベルゲームの設計段階におけるモデル検査

http://www.epics.jp/doc/dsw04_seiki.pdf上の論文のように、モデル検査をゲームのフラグ管理に応用しようという研究は既にあるようですが、ゲームのデータとは別にモデルを作った場合は、ゲームとモデルの一貫性を保つのが困難なため、煩雑さは避けられませ…

ムービーの音量調節

KAGにはムービーの音量を調節する仕組みが少なくともリファレンス上にはありません。これは嘘です今はありますコメント欄参照。楓さんありがとうございます。また、昔のVideoOverlayクラスにも音量を調節するプロパティがありませんでした。最近のヴァージョ…

演出とか色々

http://ruriko.denpa.org/200709b.html#1501ああなんか言及されてる…! システム面に関して、それを専門(?)としている方から何か言われることは本当に少ないので嬉しいですね。しかし、LOVERSOULとのレヴェルの差は正直よくわからない。自分の目にはどこ…

kag.fore/back.layersへのリファレンス

相変わらず吉里吉里のはまりどころについて書きます。KAGを改造してゲームを作っているとしましょう。すると、扱うレイヤは自然とkag.fore.layers[FOO]だとかkag.back.layers[BAR]とかそんな感じになります。さて例えば、ゲームのコンフィグ画面などで汎用的…

TJSのコンストラクタについて

JavaやC++といった硬そうな言語では、あるクラスのインスタンスを生成する際に、そのクラスのコンストラクタのみならず、親クラスのコンストラクタも呼ばれます。TJSでは、そのようなことはありません。親クラスのコンストラクタを呼びたい場合は、明示的にs…

レイヤーでのswfファイルの表示がさっぱりうまくいかない。 ムービー foo.swf を再生できません : Owner window not specified というエラーがでます。オーバーレイでの表示ならうまくいくのだけど…。

リファクタリング

『あまxx』および『きのこxx』ではヴァージョン3.24 stable rev. 3のKAGが用いられています。もっと正確に書くと、そのヴァージョンのKAGのソースに独自のコードを追加することによってある種の機能を追加していたのでした。そして『きのこxx』では、『あまx…

あいまいなTJSの配列サイズ

TJSのひどいはまりどころを発見してしまいました。今まで気づかなかったのが信じられません。TJSはArrayクラスもDictionaryクラスも貧弱ですが、貧弱なばかりでなく凶悪なことが判明しました。例えばPerlの、次の2つの文は等価です。 print scalar((1,2,3)).…