AIBOはクドリャフカになれなかった

AIBOが最終的に消え去ったのは、愛玩用だったからの一言に尽きる。無論、愛玩用だからこそ初期には爆発的に売れたのだろうが、同じ理由が自身に止めを刺した。絞った仕様が売れた理由であると同時に、滅んだ理由でもある。多分、絞った割にはそれほど高性能でもなかったことも原因の一つじゃないかな。
これがある程度の家事を分担してくれるとかの実用性を持っていれば、また別の生存の道があったのだろう。毎日ゴミ出しをしてくれるとか。よくできた、そしてはみ出ない労働ロボットの居場所はなくならない。
一方で海野螢の初期漫画に出てくるぐらいに、徹底的に一個人に対してソフィスティケートする機能があれば、やはり同じように爆発的に売れて、社会問題となり、そしてやはり絶滅するだろう。魔女狩り的に。
作られて捨てられる「何か」たちについては、攻殻機動隊でも語られた。イノセンスでも。愛玩用は捨てられる。彼らは無駄な消費をされたくないだけなのだ、と。未来への循環(サイクル)―マンガで見る環境白書〈8〉もそういうテーマだった。(もっとも、お役所の言うことなので、個人の感情よりも社会全体のバランスに焦点が当たっていたが)AIBOにそういうことを考えるだけの機能はなかったはずだが、機能があればそういうことを考えたかも知れない。
と、twitterに一行だけ書きこむだけの話が、ブログに書くとこれだけに膨れ上がるのは何故なんだろうな。
能美? 誰それ。能登なら知ってるが。

メタ視点マニュアル

メタ視点について

メタ視点について、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

メタ視点開始
  • meta_set
  • meta_set_ef
  • meta_set2
  • meta_set2_ef

meta_setが基本になる命令。これは「本来の立ち絵が暗くなる」「華の枠が表示される」の二つを合わせた命令である。
meta_set2は「本来の立ち絵が暗くなる」だけで、華の枠を表示しない。
上記二つは引数を取らずエフェクトが固定であり、さらにエフェクト後には1000ミリ秒のdelayがはさまれる。
エフェクトを指定したい場合は、meta_set_efとmeta_set2_efを使う。
前者は二つのエフェクト番号を引数に取り、後者は一つのエフェクト番号を引数に取る。

meta_set_efe 5,8

このようにした場合、「本来の立ち絵が暗くなる」のに5番のエフェクトが使用され、「華の枠が表示される」のに8番のエフェクトが使用される。

meta_set2_efe 10

meta_set2_efeは華の枠がないため、エフェクト番号は「本来の立ち絵が暗くなる」のに使われる。
使い方として、頻繁にメタ視点との行き来がある場合は、meta_set_efとmeta_set2_efの使用を考慮したい。

メタ視点終了
  • meta_end
  • meta_end_ef

メタ視点用の画像を全て消去する。これには、

  • meta_set系の「本来の立ち絵を暗くする」
  • meta_set系の「華の枠」
  • mbgによる背景
  • mldによる立ち絵

が含まれる。
meta_endはエフェクト固定であり、meta_end_efはエフェクト番号を一つ取ってそれをエフェクトとする。

華の枠操作
  • mchana

華の枠を消去する命令。エフェクト番号を一つ引数に取る。

  • mchan1
  • mchan2

華の枠を変更する命令。エフェクト番号を一つ引数に取る。
変更される華枠画像は、一枚で上下がある分で、どんな画像かは実際に見てほしい。

  • bmp\background\efe\hana_1.bmp
  • bmp\background\efe\hana_2.bmp

の二つである。

メタ背景
  • mbg
  • mcbg

使い方は、bg命令に準じる。
相違点としては、mbg命令は、bg命令の持つ「実行と同時に立ち絵を消去する(=cl a)」機能を持たない点である。これはオリジナルのmbg命令にも言えることだ。
メタ視点においても背景画像を設定することはできるが、この背景画像は「華の枠」よりも手前にあるため、メタ背景を設定した場合、「華の枠」も見えなくなってしまう。あまり使いどころがあるとも思えない命令である。
背景の削除には、mcbg命令を使う。エフェクト番号一つを引数に取る。

メタ立ち絵
  • mld
  • mcl

それぞれ、ld命令とcl命令に準じる。

メタ視点の特徴

実際のところ、meta_set系でメタ視点にした後でも、通常のld, cl, bg命令は有効に働く。メタ立ち絵によって邪魔されてあまりよく見えないだろうが。
逆にmeta_set系を行わなくても、メタ立ち絵やメタ背景を操作することはできる。

独自拡張

オリジナルにない独自の拡張を行った。meta_stopとmeta_resumeである。
meta_stopはエフェクト番号を一つ引数に取り、メタ世界を一時的に見えなくする。
meta_resumeはその逆で、エフェクト番号を一つ引数に取り、meta_stopで見えなくしたメタ世界を復帰させる。
meta_endした場合、スプライトの情報は削除されるため、meta_resumeは効果を持たない。
あまり使われないmbg命令と組み合わせることで、メタ世界を現実の他の場所として扱い、場面の切り替えに必要なコストを下げる効果が期待できる。

技術情報

メタ世界はスプライトで実装されている。
本来の立ち絵はhumanz 900命令で900番に設定されており、メタ世界はその直前の890番台のスプライトが使われている。

エイリアス 番号 用途
msp_l 883 メタ立ち絵左のスプライト番号
msp_c 884 メタ立ち絵中のスプライト番号
msp_r 885 メタ立ち絵中のスプライト番号
msp_bg 886 メタ背景のスプライト番号
msp_hana_d 887 「華の枠」下段のスプライト番号
msp_hana_u 888 「華の枠」上段のスプライト番号
msp_kuro 889 「立ち絵を暗くする」ための半透明のスプライト番号

※「立ち絵を暗くする」のは、立ち絵の前に不透過度を下げた真っ黒画像を置くことで実装している。

演出上の提案

メタ空間展開には、"SE\Z1.wav"のエフェクトが使われている。む式記法に従うならば、"|メタ空間展開"である。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243767635
に置いてある。

黄金の蝶マニュアル

黄金の蝶について

黄金の蝶の表示エフェクトについて、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

  • bfly1
  • bfly1R
  • bfly2
  • bfly2R
  • cbfly

上記四つが蝶を表示する命令で、最後の一つが蝶を削除する命令である。
全て一つのエフェクト番号を引数に取る。
上記四つの違いは、表示される蝶の画像の違いである。
bfly1Rは、bfly1と同じ画像の黒白疑似反転画像である。
bfly2とbfly2Rは、違う画像でbfly1とbfly1Rの関係である。
蝶が表示されるのは、902番スプライトである。これは、立ち絵(900番)と背景(1000番)の間に位置しており、bgsp2であらわされる。

独自拡張

ぶっちゃけ、このコマンドは覚えづらい。
整理して独自拡張を施した。
蝶の表示には、butterfly命令を、削除にはbutterfly_clear命令を追加した。
butterfly命令は引数を二つ取る。
一つ目はダブルクォートで囲まない文字列で、H1, R1, H2, R2の四種類に限定される。HはHEAD、RはREVERSEを意識している。大文字小文字の区別はない。
二つ目はエフェクト番号である。
butterfly_clear命令はcbfly命令のエイリアスである。書式等はそのままである。

技術情報

この効果に使われている画像は、む式記法で

  • "@黄金の蝶・群2"
  • "@黄金の蝶・群2・反転"
  • "@黄金の蝶・群3"
  • "@黄金の蝶・群3・反転"

の四種類である。
他に

  • "@黄金の蝶・遠1"
  • "@黄金の蝶・近1"
  • "@黄金の蝶・群1"
  • "@黄金の蝶・群4"
  • "@黄金の蝶・群5"

が存在し、これらは4を除いてすべて背景画像用である。(bg "@黄金の蝶・群4",1 とすると、:a;タグが無視されてしまう。)

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243775127
に存在する。

ブレードマニュアル

○○ブレードについて

○○ブレードにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

覚書

嘉音・偽嘉音・山羊については、それぞれがブレード装備の専用の立ち絵を持っているので、それをそのまま使えばいいのですが(む式記法で「・刃」を加える)、煉獄の七姉妹には専用の立ち絵がないため、スプライトで立ち絵に被せなければなりません。
そのための専用命令が用意されています。

bld命令

三つの引数を取ります。

  1. 立ち位置です。l,c,rのいずれかを取ります。その立ち位置のキャラクターにブレードをかぶせます。
  2. ファイル名です。現在のところ無効です。""を与えてください。
  3. エフェクト番号です。

第二引数のファイル名は、与えられたファイル名からスプライトを作り、その幅から適切なブレード位置を計算する意図があったと思われますが、オリジナルにおいては結局数字決め打ちになってしまっており、形骸化しています。
このむ式でもオリジナルを尊重して、空の引数を作成しました。

bcl命令

二つの引数を取ります。

  1. 立ち位置です。l,c,r,aのいずれかを取ります。その立ち位置のキャラクターのブレードを消去します。
  2. エフェクト番号を取ります。

技術情報

ブレードに使われるファイルは、":a;bmp\TATI\RG_blade\blade.bmp"で、対応するむ式記法はありません。
使われるスプライト番号は、l, c, rが895, 894, 893に対応しています。
オリジナルではスクリプトにベタ書きでしたので、む式ではnumaliasに対応させています。それぞれ、bld_l, bld_c, bld_rとなっています。
ブレードの表示位置は、立ち絵より手前、メタ世界よりも奥になります。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243777257
にあります。

雨マニュアル

雨降エフェクトについて

オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

dllefe命令

雨を降らせる命令。
雨以外の物も振らせられるように拡張性を考えた実装になっていたが、現時点で雨しか降らせるものが用意されていない。事実上の雨専用命令である。
二つの数値引数を取る。

  1. 降らせる物の指定。1で固定で、雨になる。
  2. 初期状態の指定。1だと最初から雨が画面全体を覆っている。2にすると上から段々と降ってくる。

dllefeを行った時点で雨が降り始める。エフェクトは不要。また、delay 800も同時に実行される。

演出上の提言

雨は待機状態では降り続けるが、他のエフェクト実行中は止まってしまう。雨を強調したい場合は、長セリフをはさむか、waitやdelayを多用したい。

dllefe_off命令

雨を止ませる命令。引数は取らない。
この命令を実行しただけでは雨は止まるが消えない。何らかのエフェクトが必要。

技術メモ

雨が表示されるのは、798番のスプライト。この番号はefespとして登録されている。
使われるsnow.dllは、同梱しなくてもよい。うみねこには必ずついているだろうから、うみねこディレクトリにあるものを探し出して使うようになっている。

履歴

このマニュアルの最新版は
http://d.hatena.ne.jp/eiji8pou/20090531/1243779952
にある。

この力技はすげえ

エピソード1のスタッフロールスクリプトを見て、なるほど、こんな技もあったのかと感心。
縦に長い画像を用意して、それをbtnに取り込む。それをbltで高速に画面に転写していく遣り方だ。

blt 0,0,640,480,0, 1,640,480:waittimer 45
blt 0,0,640,480,0, 2,640,480:waittimer 90
blt 0,0,640,480,0, 3,640,480:waittimer 136
blt 0,0,640,480,0, 4,640,480:waittimer 181
blt 0,0,640,480,0, 5,640,480:waittimer 227
blt 0,0,640,480,0, 6,640,480:waittimer 272
blt 0,0,640,480,0, 7,640,480:waittimer 318
blt 0,0,640,480,0, 8,640,480:waittimer 363
blt 0,0,640,480,0, 9,640,480:waittimer 409
blt 0,0,640,480,0, 10,640,480:waittimer 454
blt 0,0,640,480,0, 11,640,480:waittimer 500
blt 0,0,640,480,0, 12,640,480:waittimer 545
blt 0,0,640,480,0, 13,640,480:waittimer 591
blt 0,0,640,480,0, 14,640,480:waittimer 636
blt 0,0,640,480,0, 15,640,480:waittimer 682
blt 0,0,640,480,0, 16,640,480:waittimer 727
blt 0,0,640,480,0, 17,640,480:waittimer 773
blt 0,0,640,480,0, 18,640,480:waittimer 818
blt 0,0,640,480,0, 19,640,480:waittimer 863
blt 0,0,640,480,0, 20,640,480:waittimer 909
blt 0,0,640,480,0, 21,640,480:waittimer 954
blt 0,0,640,480,0, 22,640,480:waittimer 1000

これを延々と伸ばしていく。
実行すると、スタッフロールが秒速約22-23ドットの速度でスクロールしていく。
この方法の有利な点は、waittimerを使うことで、低スペックマシンでもほぼ同じ速度でのスクロールが実現できることか。表示できなかったら、どんどんコマ落としになって行く訳だ。
最後の行は、こう。

blt 0,0,640,480,0, 5520,640,480:waittimer 251000

ただまあ、これだけのスクリプトをベタ書きするよりは、やっぱりその……何らかの形でループを使いたいよね。5520行あるのが10行くらいには収まるんじゃね? まあ、途中で数字いじってスクロール速度をコントロールしたいとかそういのがあるんならわからんでもないけど。

この力技はすげえ

エピソード1のスタッフロールスクリプトを見て、なるほど、こんな技もあったのかと感心。
縦に長い画像を用意して、それをbtnに取り込む。それをbltで高速に画面に転写していく遣り方だ。

blt 0,0,640,480,0, 1,640,480:waittimer 45
blt 0,0,640,480,0, 2,640,480:waittimer 90
blt 0,0,640,480,0, 3,640,480:waittimer 136
blt 0,0,640,480,0, 4,640,480:waittimer 181
blt 0,0,640,480,0, 5,640,480:waittimer 227
blt 0,0,640,480,0, 6,640,480:waittimer 272
blt 0,0,640,480,0, 7,640,480:waittimer 318
blt 0,0,640,480,0, 8,640,480:waittimer 363
blt 0,0,640,480,0, 9,640,480:waittimer 409
blt 0,0,640,480,0, 10,640,480:waittimer 454
blt 0,0,640,480,0, 11,640,480:waittimer 500
blt 0,0,640,480,0, 12,640,480:waittimer 545
blt 0,0,640,480,0, 13,640,480:waittimer 591
blt 0,0,640,480,0, 14,640,480:waittimer 636
blt 0,0,640,480,0, 15,640,480:waittimer 682
blt 0,0,640,480,0, 16,640,480:waittimer 727
blt 0,0,640,480,0, 17,640,480:waittimer 773
blt 0,0,640,480,0, 18,640,480:waittimer 818
blt 0,0,640,480,0, 19,640,480:waittimer 863
blt 0,0,640,480,0, 20,640,480:waittimer 909
blt 0,0,640,480,0, 21,640,480:waittimer 954
blt 0,0,640,480,0, 22,640,480:waittimer 1000

これを延々と伸ばしていく。
実行すると、スタッフロールが秒速約22-23ドットの速度でスクロールしていく。
この方法の有利な点は、waittimerを使うことで、低スペックマシンでもほぼ同じ速度でのスクロールが実現できることか。表示できなかったら、どんどんコマ落としになって行く訳だ。
最後の行は、こう。

blt 0,0,640,480,0, 5520,640,480:waittimer 251000

ただまあ、これだけのスクリプトをベタ書きするよりは、やっぱりその……何らかの形でループを使いたいよね。5520行あるのが10行くらいには収まるんじゃね? まあ、途中で数字いじってスクロール速度をコントロールしたいとかそういのがあるんならわからんでもないけど。

雨マニュアル

雨降エフェクトについて

オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

dllefe命令

雨を降らせる命令。
雨以外の物も振らせられるように拡張性を考えた実装になっていたが、現時点で雨しか降らせるものが用意されていない。事実上の雨専用命令である。
二つの数値引数を取る。

  1. 降らせる物の指定。1で固定で、雨になる。
  2. 初期状態の指定。1だと最初から雨が画面全体を覆っている。2にすると上から段々と降ってくる。

dllefeを行った時点で雨が降り始める。エフェクトは不要。また、delay 800も同時に実行される。

演出上の提言

雨は待機状態では降り続けるが、他のエフェクト実行中は止まってしまう。雨を強調したい場合は、長セリフをはさむか、waitやdelayを多用したい。

dllefe_off命令

雨を止ませる命令。引数は取らない。
この命令を実行しただけでは雨は止まるが消えない。何らかのエフェクトが必要。

技術メモ

雨が表示されるのは、798番のスプライト。この番号はefespとして登録されている。
使われるsnow.dllは、同梱しなくてもよい。うみねこには必ずついているだろうから、うみねこディレクトリにあるものを探し出して使うようになっている。

履歴

このマニュアルの最新版は
http://d.hatena.ne.jp/eiji8pou/20090531/1243779952
にある。

ブレードマニュアル

○○ブレードについて

○○ブレードにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

覚書

嘉音・偽嘉音・山羊については、それぞれがブレード装備の専用の立ち絵を持っているので、それをそのまま使えばいいのですが(む式記法で「・刃」を加える)、煉獄の七姉妹には専用の立ち絵がないため、スプライトで立ち絵に被せなければなりません。
そのための専用命令が用意されています。

bld命令

三つの引数を取ります。

  1. 立ち位置です。l,c,rのいずれかを取ります。その立ち位置のキャラクターにブレードをかぶせます。
  2. ファイル名です。現在のところ無効です。""を与えてください。
  3. エフェクト番号です。

第二引数のファイル名は、与えられたファイル名からスプライトを作り、その幅から適切なブレード位置を計算する意図があったと思われますが、オリジナルにおいては結局数字決め打ちになってしまっており、形骸化しています。
このむ式でもオリジナルを尊重して、空の引数を作成しました。

bcl命令

二つの引数を取ります。

  1. 立ち位置です。l,c,r,aのいずれかを取ります。その立ち位置のキャラクターのブレードを消去します。
  2. エフェクト番号を取ります。

技術情報

ブレードに使われるファイルは、":a;bmp\TATI\RG_blade\blade.bmp"で、対応するむ式記法はありません。
使われるスプライト番号は、l, c, rが895, 894, 893に対応しています。
オリジナルではスクリプトにベタ書きでしたので、む式ではnumaliasに対応させています。それぞれ、bld_l, bld_c, bld_rとなっています。
ブレードの表示位置は、立ち絵より手前、メタ世界よりも奥になります。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243777257
にあります。

黄金の蝶マニュアル

黄金の蝶について

黄金の蝶の表示エフェクトについて、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

  • bfly1
  • bfly1R
  • bfly2
  • bfly2R
  • cbfly

上記四つが蝶を表示する命令で、最後の一つが蝶を削除する命令である。
全て一つのエフェクト番号を引数に取る。
上記四つの違いは、表示される蝶の画像の違いである。
bfly1Rは、bfly1と同じ画像の黒白疑似反転画像である。
bfly2とbfly2Rは、違う画像でbfly1とbfly1Rの関係である。
蝶が表示されるのは、902番スプライトである。これは、立ち絵(900番)と背景(1000番)の間に位置しており、bgsp2であらわされる。

独自拡張

ぶっちゃけ、このコマンドは覚えづらい。
整理して独自拡張を施した。
蝶の表示には、butterfly命令を、削除にはbutterfly_clear命令を追加した。
butterfly命令は引数を二つ取る。
一つ目はダブルクォートで囲まない文字列で、H1, R1, H2, R2の四種類に限定される。HはHEAD、RはREVERSEを意識している。大文字小文字の区別はない。
二つ目はエフェクト番号である。
butterfly_clear命令はcbfly命令のエイリアスである。書式等はそのままである。

技術情報

この効果に使われている画像は、む式記法で

  • "@黄金の蝶・群2"
  • "@黄金の蝶・群2・反転"
  • "@黄金の蝶・群3"
  • "@黄金の蝶・群3・反転"

の四種類である。
他に

  • "@黄金の蝶・遠1"
  • "@黄金の蝶・近1"
  • "@黄金の蝶・群1"
  • "@黄金の蝶・群4"
  • "@黄金の蝶・群5"

が存在し、これらは4を除いてすべて背景画像用である。(bg "@黄金の蝶・群4",1 とすると、:a;タグが無視されてしまう。)

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243775127
に存在する。

メタ視点マニュアル

メタ視点について

メタ視点について、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

メタ視点開始
  • meta_set
  • meta_set_ef
  • meta_set2
  • meta_set2_ef

meta_setが基本になる命令。これは「本来の立ち絵が暗くなる」「華の枠が表示される」の二つを合わせた命令である。
meta_set2は「本来の立ち絵が暗くなる」だけで、華の枠を表示しない。
上記二つは引数を取らずエフェクトが固定であり、さらにエフェクト後には1000ミリ秒のdelayがはさまれる。
エフェクトを指定したい場合は、meta_set_efとmeta_set2_efを使う。
前者は二つのエフェクト番号を引数に取り、後者は一つのエフェクト番号を引数に取る。

meta_set_efe 5,8

このようにした場合、「本来の立ち絵が暗くなる」のに5番のエフェクトが使用され、「華の枠が表示される」のに8番のエフェクトが使用される。

meta_set2_efe 10

meta_set2_efeは華の枠がないため、エフェクト番号は「本来の立ち絵が暗くなる」のに使われる。
使い方として、頻繁にメタ視点との行き来がある場合は、meta_set_efとmeta_set2_efの使用を考慮したい。

メタ視点終了
  • meta_end
  • meta_end_ef

メタ視点用の画像を全て消去する。これには、

  • meta_set系の「本来の立ち絵を暗くする」
  • meta_set系の「華の枠」
  • mbgによる背景
  • mldによる立ち絵

が含まれる。
meta_endはエフェクト固定であり、meta_end_efはエフェクト番号を一つ取ってそれをエフェクトとする。

華の枠操作
  • mchana

華の枠を消去する命令。エフェクト番号を一つ引数に取る。

  • mchan1
  • mchan2

華の枠を変更する命令。エフェクト番号を一つ引数に取る。
変更される華枠画像は、一枚で上下がある分で、どんな画像かは実際に見てほしい。

  • bmp\background\efe\hana_1.bmp
  • bmp\background\efe\hana_2.bmp

の二つである。

メタ背景
  • mbg
  • mcbg

使い方は、bg命令に準じる。
相違点としては、mbg命令は、bg命令の持つ「実行と同時に立ち絵を消去する(=cl a)」機能を持たない点である。これはオリジナルのmbg命令にも言えることだ。
メタ視点においても背景画像を設定することはできるが、この背景画像は「華の枠」よりも手前にあるため、メタ背景を設定した場合、「華の枠」も見えなくなってしまう。あまり使いどころがあるとも思えない命令である。
背景の削除には、mcbg命令を使う。エフェクト番号一つを引数に取る。

メタ立ち絵
  • mld
  • mcl

それぞれ、ld命令とcl命令に準じる。

メタ視点の特徴

実際のところ、meta_set系でメタ視点にした後でも、通常のld, cl, bg命令は有効に働く。メタ立ち絵によって邪魔されてあまりよく見えないだろうが。
逆にmeta_set系を行わなくても、メタ立ち絵やメタ背景を操作することはできる。

独自拡張

オリジナルにない独自の拡張を行った。meta_stopとmeta_resumeである。
meta_stopはエフェクト番号を一つ引数に取り、メタ世界を一時的に見えなくする。
meta_resumeはその逆で、エフェクト番号を一つ引数に取り、meta_stopで見えなくしたメタ世界を復帰させる。
meta_endした場合、スプライトの情報は削除されるため、meta_resumeは効果を持たない。
あまり使われないmbg命令と組み合わせることで、メタ世界を現実の他の場所として扱い、場面の切り替えに必要なコストを下げる効果が期待できる。

技術情報

メタ世界はスプライトで実装されている。
本来の立ち絵はhumanz 900命令で900番に設定されており、メタ世界はその直前の890番台のスプライトが使われている。

エイリアス 番号 用途
msp_l 883 メタ立ち絵左のスプライト番号
msp_c 884 メタ立ち絵中のスプライト番号
msp_r 885 メタ立ち絵中のスプライト番号
msp_bg 886 メタ背景のスプライト番号
msp_hana_d 887 「華の枠」下段のスプライト番号
msp_hana_u 888 「華の枠」上段のスプライト番号
msp_kuro 889 「立ち絵を暗くする」ための半透明のスプライト番号

※「立ち絵を暗くする」のは、立ち絵の前に不透過度を下げた真っ黒画像を置くことで実装している。

演出上の提案

メタ空間展開には、"SE\Z1.wav"のエフェクトが使われている。む式記法に従うならば、"|メタ空間展開"である。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243767635
に置いてある。

AIBOはクドリャフカになれなかった

AIBOが最終的に消え去ったのは、愛玩用だったからの一言に尽きる。無論、愛玩用だからこそ初期には爆発的に売れたのだろうが、同じ理由が自身に止めを刺した。絞った仕様が売れた理由であると同時に、滅んだ理由でもある。多分、絞った割にはそれほど高性能でもなかったことも原因の一つじゃないかな。
これがある程度の家事を分担してくれるとかの実用性を持っていれば、また別の生存の道があったのだろう。毎日ゴミ出しをしてくれるとか。よくできた、そしてはみ出ない労働ロボットの居場所はなくならない。
一方で海野螢の初期漫画に出てくるぐらいに、徹底的に一個人に対してソフィスティケートする機能があれば、やはり同じように爆発的に売れて、社会問題となり、そしてやはり絶滅するだろう。魔女狩り的に。
作られて捨てられる「何か」たちについては、攻殻機動隊でも語られた。イノセンスでも。愛玩用は捨てられる。彼らは無駄な消費をされたくないだけなのだ、と。未来への循環(サイクル)―マンガで見る環境白書〈8〉もそういうテーマだった。(もっとも、お役所の言うことなので、個人の感情よりも社会全体のバランスに焦点が当たっていたが)AIBOにそういうことを考えるだけの機能はなかったはずだが、機能があればそういうことを考えたかも知れない。
と、twitterに一行だけ書きこむだけの話が、ブログに書くとこれだけに膨れ上がるのは何故なんだろうな。
能美? 誰それ。能登なら知ってるが。

2byte対応

Luaが2byte文字対応してないのは確かで、つまるところ、俺は朱志香もロノウェも嫌いなんだ。こいつらの名前があると、微妙なところで引っかかる。
とりあえずできた。
寝て起きたらアップする。

この力技はすげえ

エピソード1のスタッフロールスクリプトを見て、なるほど、こんな技もあったのかと感心。
縦に長い画像を用意して、それをbtnに取り込む。それをbltで高速に画面に転写していく遣り方だ。

blt 0,0,640,480,0, 1,640,480:waittimer 45
blt 0,0,640,480,0, 2,640,480:waittimer 90
blt 0,0,640,480,0, 3,640,480:waittimer 136
blt 0,0,640,480,0, 4,640,480:waittimer 181
blt 0,0,640,480,0, 5,640,480:waittimer 227
blt 0,0,640,480,0, 6,640,480:waittimer 272
blt 0,0,640,480,0, 7,640,480:waittimer 318
blt 0,0,640,480,0, 8,640,480:waittimer 363
blt 0,0,640,480,0, 9,640,480:waittimer 409
blt 0,0,640,480,0, 10,640,480:waittimer 454
blt 0,0,640,480,0, 11,640,480:waittimer 500
blt 0,0,640,480,0, 12,640,480:waittimer 545
blt 0,0,640,480,0, 13,640,480:waittimer 591
blt 0,0,640,480,0, 14,640,480:waittimer 636
blt 0,0,640,480,0, 15,640,480:waittimer 682
blt 0,0,640,480,0, 16,640,480:waittimer 727
blt 0,0,640,480,0, 17,640,480:waittimer 773
blt 0,0,640,480,0, 18,640,480:waittimer 818
blt 0,0,640,480,0, 19,640,480:waittimer 863
blt 0,0,640,480,0, 20,640,480:waittimer 909
blt 0,0,640,480,0, 21,640,480:waittimer 954
blt 0,0,640,480,0, 22,640,480:waittimer 1000

これを延々と伸ばしていく。
実行すると、スタッフロールが秒速約22-23ドットの速度でスクロールしていく。
この方法の有利な点は、waittimerを使うことで、低スペックマシンでもほぼ同じ速度でのスクロールが実現できることか。表示できなかったら、どんどんコマ落としになって行く訳だ。
最後の行は、こう。

blt 0,0,640,480,0, 5520,640,480:waittimer 251000

ただまあ、これだけのスクリプトをベタ書きするよりは、やっぱりその……何らかの形でループを使いたいよね。5520行あるのが10行くらいには収まるんじゃね? まあ、途中で数字いじってスクロール速度をコントロールしたいとかそういのがあるんならわからんでもないけど。

雨マニュアル

雨降エフェクトについて

オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

dllefe命令

雨を降らせる命令。
雨以外の物も振らせられるように拡張性を考えた実装になっていたが、現時点で雨しか降らせるものが用意されていない。事実上の雨専用命令である。
二つの数値引数を取る。

  1. 降らせる物の指定。1で固定で、雨になる。
  2. 初期状態の指定。1だと最初から雨が画面全体を覆っている。2にすると上から段々と降ってくる。

dllefeを行った時点で雨が降り始める。エフェクトは不要。また、delay 800も同時に実行される。

演出上の提言

雨は待機状態では降り続けるが、他のエフェクト実行中は止まってしまう。雨を強調したい場合は、長セリフをはさむか、waitやdelayを多用したい。

dllefe_off命令

雨を止ませる命令。引数は取らない。
この命令を実行しただけでは雨は止まるが消えない。何らかのエフェクトが必要。

技術メモ

雨が表示されるのは、798番のスプライト。この番号はefespとして登録されている。
使われるsnow.dllは、同梱しなくてもよい。うみねこには必ずついているだろうから、うみねこディレクトリにあるものを探し出して使うようになっている。

履歴

このマニュアルの最新版は
http://d.hatena.ne.jp/eiji8pou/20090531/1243779952
にある。

ブレードマニュアル

○○ブレードについて

○○ブレードにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

覚書

嘉音・偽嘉音・山羊については、それぞれがブレード装備の専用の立ち絵を持っているので、それをそのまま使えばいいのですが(む式記法で「・刃」を加える)、煉獄の七姉妹には専用の立ち絵がないため、スプライトで立ち絵に被せなければなりません。
そのための専用命令が用意されています。

bld命令

三つの引数を取ります。

  1. 立ち位置です。l,c,rのいずれかを取ります。その立ち位置のキャラクターにブレードをかぶせます。
  2. ファイル名です。現在のところ無効です。""を与えてください。
  3. エフェクト番号です。

第二引数のファイル名は、与えられたファイル名からスプライトを作り、その幅から適切なブレード位置を計算する意図があったと思われますが、オリジナルにおいては結局数字決め打ちになってしまっており、形骸化しています。
このむ式でもオリジナルを尊重して、空の引数を作成しました。

bcl命令

二つの引数を取ります。

  1. 立ち位置です。l,c,r,aのいずれかを取ります。その立ち位置のキャラクターのブレードを消去します。
  2. エフェクト番号を取ります。

技術情報

ブレードに使われるファイルは、":a;bmp\TATI\RG_blade\blade.bmp"で、対応するむ式記法はありません。
使われるスプライト番号は、l, c, rが895, 894, 893に対応しています。
オリジナルではスクリプトにベタ書きでしたので、む式ではnumaliasに対応させています。それぞれ、bld_l, bld_c, bld_rとなっています。
ブレードの表示位置は、立ち絵より手前、メタ世界よりも奥になります。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243777257
にあります。

黄金の蝶マニュアル

黄金の蝶について

黄金の蝶の表示エフェクトについて、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

  • bfly1
  • bfly1R
  • bfly2
  • bfly2R
  • cbfly

上記四つが蝶を表示する命令で、最後の一つが蝶を削除する命令である。
全て一つのエフェクト番号を引数に取る。
上記四つの違いは、表示される蝶の画像の違いである。
bfly1Rは、bfly1と同じ画像の黒白疑似反転画像である。
bfly2とbfly2Rは、違う画像でbfly1とbfly1Rの関係である。
蝶が表示されるのは、902番スプライトである。これは、立ち絵(900番)と背景(1000番)の間に位置しており、bgsp2であらわされる。

独自拡張

ぶっちゃけ、このコマンドは覚えづらい。
整理して独自拡張を施した。
蝶の表示には、butterfly命令を、削除にはbutterfly_clear命令を追加した。
butterfly命令は引数を二つ取る。
一つ目はダブルクォートで囲まない文字列で、H1, R1, H2, R2の四種類に限定される。HはHEAD、RはREVERSEを意識している。大文字小文字の区別はない。
二つ目はエフェクト番号である。
butterfly_clear命令はcbfly命令のエイリアスである。書式等はそのままである。

技術情報

この効果に使われている画像は、む式記法で

  • "@黄金の蝶・群2"
  • "@黄金の蝶・群2・反転"
  • "@黄金の蝶・群3"
  • "@黄金の蝶・群3・反転"

の四種類である。
他に

  • "@黄金の蝶・遠1"
  • "@黄金の蝶・近1"
  • "@黄金の蝶・群1"
  • "@黄金の蝶・群4"
  • "@黄金の蝶・群5"

が存在し、これらは4を除いてすべて背景画像用である。(bg "@黄金の蝶・群4",1 とすると、:a;タグが無視されてしまう。)

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243775127
に存在する。

メタ視点マニュアル

メタ視点について

メタ視点について、オリジナルにならい以下の命令を用意した。(オリジナルのスクリプトを読んで作ったクローンにつき、完全な保証はできない)

メタ視点開始
  • meta_set
  • meta_set_ef
  • meta_set2
  • meta_set2_ef

meta_setが基本になる命令。これは「本来の立ち絵が暗くなる」「華の枠が表示される」の二つを合わせた命令である。
meta_set2は「本来の立ち絵が暗くなる」だけで、華の枠を表示しない。
上記二つは引数を取らずエフェクトが固定であり、さらにエフェクト後には1000ミリ秒のdelayがはさまれる。
エフェクトを指定したい場合は、meta_set_efとmeta_set2_efを使う。
前者は二つのエフェクト番号を引数に取り、後者は一つのエフェクト番号を引数に取る。

meta_set_efe 5,8

このようにした場合、「本来の立ち絵が暗くなる」のに5番のエフェクトが使用され、「華の枠が表示される」のに8番のエフェクトが使用される。

meta_set2_efe 10

meta_set2_efeは華の枠がないため、エフェクト番号は「本来の立ち絵が暗くなる」のに使われる。
使い方として、頻繁にメタ視点との行き来がある場合は、meta_set_efとmeta_set2_efの使用を考慮したい。

メタ視点終了
  • meta_end
  • meta_end_ef

メタ視点用の画像を全て消去する。これには、

  • meta_set系の「本来の立ち絵を暗くする」
  • meta_set系の「華の枠」
  • mbgによる背景
  • mldによる立ち絵

が含まれる。
meta_endはエフェクト固定であり、meta_end_efはエフェクト番号を一つ取ってそれをエフェクトとする。

華の枠操作
  • mchana

華の枠を消去する命令。エフェクト番号を一つ引数に取る。

  • mchan1
  • mchan2

華の枠を変更する命令。エフェクト番号を一つ引数に取る。
変更される華枠画像は、一枚で上下がある分で、どんな画像かは実際に見てほしい。

  • bmp\background\efe\hana_1.bmp
  • bmp\background\efe\hana_2.bmp

の二つである。

メタ背景
  • mbg
  • mcbg

使い方は、bg命令に準じる。
相違点としては、mbg命令は、bg命令の持つ「実行と同時に立ち絵を消去する(=cl a)」機能を持たない点である。これはオリジナルのmbg命令にも言えることだ。
メタ視点においても背景画像を設定することはできるが、この背景画像は「華の枠」よりも手前にあるため、メタ背景を設定した場合、「華の枠」も見えなくなってしまう。あまり使いどころがあるとも思えない命令である。
背景の削除には、mcbg命令を使う。エフェクト番号一つを引数に取る。

メタ立ち絵
  • mld
  • mcl

それぞれ、ld命令とcl命令に準じる。

メタ視点の特徴

実際のところ、meta_set系でメタ視点にした後でも、通常のld, cl, bg命令は有効に働く。メタ立ち絵によって邪魔されてあまりよく見えないだろうが。
逆にmeta_set系を行わなくても、メタ立ち絵やメタ背景を操作することはできる。

独自拡張

オリジナルにない独自の拡張を行った。meta_stopとmeta_resumeである。
meta_stopはエフェクト番号を一つ引数に取り、メタ世界を一時的に見えなくする。
meta_resumeはその逆で、エフェクト番号を一つ引数に取り、meta_stopで見えなくしたメタ世界を復帰させる。
meta_endした場合、スプライトの情報は削除されるため、meta_resumeは効果を持たない。
あまり使われないmbg命令と組み合わせることで、メタ世界を現実の他の場所として扱い、場面の切り替えに必要なコストを下げる効果が期待できる。

技術情報

メタ世界はスプライトで実装されている。
本来の立ち絵はhumanz 900命令で900番に設定されており、メタ世界はその直前の890番台のスプライトが使われている。

エイリアス 番号 用途
msp_l 883 メタ立ち絵左のスプライト番号
msp_c 884 メタ立ち絵中のスプライト番号
msp_r 885 メタ立ち絵中のスプライト番号
msp_bg 886 メタ背景のスプライト番号
msp_hana_d 887 「華の枠」下段のスプライト番号
msp_hana_u 888 「華の枠」上段のスプライト番号
msp_kuro 889 「立ち絵を暗くする」ための半透明のスプライト番号

※「立ち絵を暗くする」のは、立ち絵の前に不透過度を下げた真っ黒画像を置くことで実装している。

演出上の提案

メタ空間展開には、"SE\Z1.wav"のエフェクトが使われている。む式記法に従うならば、"|メタ空間展開"である。

履歴

このマニュアルの最新版は、
http://d.hatena.ne.jp/eiji8pou/20090531/1243767635
に置いてある。

AIBOはクドリャフカになれなかった

AIBOが最終的に消え去ったのは、愛玩用だったからの一言に尽きる。無論、愛玩用だからこそ初期には爆発的に売れたのだろうが、同じ理由が自身に止めを刺した。絞った仕様が売れた理由であると同時に、滅んだ理由でもある。多分、絞った割にはそれほど高性能でもなかったことも原因の一つじゃないかな。
これがある程度の家事を分担してくれるとかの実用性を持っていれば、また別の生存の道があったのだろう。毎日ゴミ出しをしてくれるとか。よくできた、そしてはみ出ない労働ロボットの居場所はなくならない。
一方で海野螢の初期漫画に出てくるぐらいに、徹底的に一個人に対してソフィスティケートする機能があれば、やはり同じように爆発的に売れて、社会問題となり、そしてやはり絶滅するだろう。魔女狩り的に。
作られて捨てられる「何か」たちについては、攻殻機動隊でも語られた。イノセンスでも。愛玩用は捨てられる。彼らは無駄な消費をされたくないだけなのだ、と。未来への循環(サイクル)―マンガで見る環境白書〈8〉もそういうテーマだった。(もっとも、お役所の言うことなので、個人の感情よりも社会全体のバランスに焦点が当たっていたが)AIBOにそういうことを考えるだけの機能はなかったはずだが、機能があればそういうことを考えたかも知れない。
と、twitterに一行だけ書きこむだけの話が、ブログに書くとこれだけに膨れ上がるのは何故なんだろうな。
能美? 誰それ。能登なら知ってるが。

2byte対応

Luaが2byte文字対応してないのは確かで、つまるところ、俺は朱志香もロノウェも嫌いなんだ。こいつらの名前があると、微妙なところで引っかかる。
とりあえずできた。
寝て起きたらアップする。