JavaScriptでお絵かき機能

PositLog に落描き機能をつけました.
ウェブページにオーバレイして,直に落描きできます.
トップページ参照のこと.
http://storybook.jp/

描いた落描きはそれぞれスプライトに変換後,保存されるので,移動もできます.

消しゴムとかまだないです.いいじゃん,一発描きで!

SVGやVMLじゃ表示できないブラウザがあるので,
ExplorerCanvasを使っています.
http://sourceforge.net/projects/excanvas
canvasへの描画コマンド(JavaScript)を記録して,スプライトとして保存.ロード時にコマンドを再生させています.
スプライトはJavaScript含んでてもOKなので.

ほんとはビットマップのペイントソフトにしたかったのですが,
・ExplorerCanvasがsetPixel()に非対応
・Flash9 + ActionScript3で実装可能であるが,ウェブページにオーバレイして直接描き込むことができない
というわけで,canvasを使ったベクター画で妥協しました.

いまんところ描いた絵を画像ファイルとして保存できないので,そこをなんとかしたいです.
SVGを吐くのはたぶん簡単.
落描きだから残んなくてもいいかもですが.

自制

という文字はないのか,僕の辞書に.
というわけで引き続きPositLog更新中.
・更新のあったスプライトは右下のミニマップに赤く.
 http://storybook.jp/060731HN.html
 とか参照.
・移動をスプライトの更新として数えないようにしました.
・キー操作を可能にしました.W-ZERO3でもちょっとブラウズしやすくなったと思います.
 HOME: HOME位置へ
 カーソルキー:地図移動
 PageUp, PageDown:地図スクロール
・生成型のプラグインは,元スプライトの子として生成されるようにしました.
・ツリー構造に含まれないスプライトも自動的に再配置するようにしました.
 ページタイプがDocumentの場合は縦のスプライト間隔を自動的に再配置します.
 たとえば,下のようなページで,フォントサイズを変えても章の間隔が保たれます.
 http://storybook.jp/060802yg.html
 http://storybook.jp/070107SB.html

PositLog0.5 beta 更新中

ブラウザの種類や文字サイズ設定によって,読みにくいレイアウトになってしまうのを防ぐようにしました.
自動的に配置調整しますので,読みやすい文字サイズでご覧ください.

PositLogのスプライト(div要素)はpositionスタイルをabsoluteにして配置されています.absolute指定で配置された要素はブラウザの文字サイズなどの変更に伴って要素の高さが変更されたとき自動的に再配置されないため,これまでスプライトが重なるなど見難い表示となっていました.

0.1の頃から問題に思っていたのですが,ようやく(半分くらい)修正できました.処理の概要はこんな感じ.
・スプライトにツリー構造を与える
・ツリーのなかの親スプライト・子スプライト間のマージンの値を保存し,ロード時の配置に反映(ブラウザによるレンダリングの違いに対する調整)
・文字サイズの変更を定期的に監視し,変更されたら保存されているマージンの値を全スプライトに反映し,再配置(文字サイズ変更に対する調整)

ツリー構造に含まれないスプライトの扱いが課題として残っています.

テキストブラウザでもこれまでどおりに読めると思います.
今回からはさらに,余計な(本来非表示設定の)日付,作者名,リンク表示をしないようにしたので,前よりも読みやすくなったと思います.

年始から好き放題やってて,さすがにそろそろ時間がなくなってきた…….
どうしようもないバグの修正以外はしばらくお休みです.

長さと回数

http://rosebud.g.hatena.ne.jp/cogni/20070116/p2

ただ回数と長さは互いに量的な要素という点で共通である一方、両者はきちんと分けておくべきではないかとも感じています。

「好意は回数で測られる」と「好意はいっしょにいる長さで測られる」は明確に区別されるべきだというのが私の考えです。

なるほど.これまであまり意識してこなかったけど,それはそうですね.

それは量子の集まり

http://rosebud.g.hatena.ne.jp/cogni/20070114/p2

長さと回数について.

「僕がギャルゲーに気持ちよさを感じるのは、好意が回数で測られるところもあるだろう。何度会ったかということが、好きだということなのだ。」

コピペなんで自分で本当にこんなことを書いたかは忘れたけれど、これは、とらハ1のことを指している。あのゲームでもっとも衝撃的だったのはなにより「選択肢への回答が女の子と仲良くなる上でほとんど関係ない」と聞いたときだった。だってやっぱときメモから始まったでしょ? 女の子の好みを当てること、回答のクオリティが勝負だったでしょ? そんな馬鹿な、と思った。単に会った回数だけで女の子と仲良くなれるのだ、とらハは。

回数だけ、という言い方はどうにもネガティブに聞こえるかもしれないが、都築さんはまるで肯定的に扱っているし、僕もそうだ。話は変わるが、僕が長森にさ、「もう俺のことなんか気にかけるなっ、」とか言ったりすると、長森はきっと「毎日会ってるんだから、心配して当たり前だよ」と真顔で答えるのだ。どうして当たり前なのか? 情が移るから、なんていうのは読み飛ばしすぎで、「毎日」っていう量的な要素が、そのまま「心配して当たり前」という話に言葉の上で繋がってゆくことに注意したい。って、自分で状況を設定しておいてなんだが、長森がそう言うんだからこれはしょうがない。回数、すなわち時間というのはかけがえのないものであって、その価値はいつも平然と好意に置き換えられてしまうのだ。

クオリティでは計りきれないものが、この世にはある。僕はこれを祝福だと思うよ。

http://storybook.jp/rst/diary/diary0104.html#11b

という文章を昔わたしが書いていたらしいです.これはべつにギャルゲーの話というつもりはなくて,単に当時の僕の生活を占めてたのがギャルゲーだったから,それが例になってるだけです.積み重なるものは会話でなくてもいい,ていうかむしろ会話じゃなくて済むんならそれに越したことはないです.量の世界を求めると個々の質感は失われてゆくので,会話だろうがなんだろうが一緒になります.

AIRの長さと回数については,むかし延々とつぶやいていました.

===
うちのRPGサークルではお互いのプレイの感想を言い合うというのが行われてて,私の感想は「良い」というものばかりであてにならんと言われていたんですが,深さって一定以上にはあまり分からないと思う.むしろ,何度言ったかということでこそ語ることができる.良いか駄目か以外にたいしたことは言えない.度合いなんてよく分かんないんで,振り返ってみて良いと言った回数の多いことが,より好きなことだったと事後的に分かる.

ようは回数だ.

僕がギャルゲーに気持ちよさを感じるのは,好意が回数で測られるところもあるだろう.何度会ったかということが,好きだということなのだ.好意の深さって滅多に言われない.廊下でぶつかったとして,瞬間惚れることを許されるのは相手のほうだけで,自分が相手を惚れるようになるには,それから何度も会わなければならない.いわゆる深さって回数と関係ないはずじゃない? でも一度の出会いに何かきらめきや感謝があったとして,その深さを理由に惚れていいのは女の子の側で,主人公は回数重ねないと好きになることができない.いやむしろ,プレイヤーは女の子に一目惚れしてもいいんだけど,あとは,それがほんとに好きなのかどうか確かめるための確認作業で,一番会った回数の多い子がやっぱ好きだったってことになる.うん,やっぱ回数こなさないと分からないよね.

SUMMER編がAIRという量的過剰さの中に置かれたものであることも前に書きましたが,1000 years after,1000年後の夏,じゃなくて、1000th summer,1000度目の夏だという指摘でここはひとまず代表させておく.
===

・・・とかなんとか*1.他人にもなんとか読めそうな部分だけ引っ張ってきました.

どこまで書けばこれが「おはなし」であることは伝わるのだろうか。どんな手を使ってもいい。とにかく語り継ぐこと自体をおはなしに組み入れることで、AIR自体がおはなしであることを伝えられるかもしれなかった。それは、何度も執拗に繰り返される。往人は旅の芸人で、母からおはなしを語り継いでいた。それは観鈴の中にも受け継がれていた。マスター・オブ・裏庭の話が親子の語り草となっていた。母は神奈におはなしを語り継いだ。神奈は母に語り返した。裏葉は子に柳也と神奈のおはなしを語った。「海辺の村にも夏祭はありましょうね」神奈の聞いた海のおはなしや祭のおはなし、その思いは観鈴にまで受け継がれていた。SUMMERなんて風俗考証適当で、あとはそれしかないじゃないですか。物語が語り継がれればそれで良かった。わざわざ民俗学好きの人向けに、旅の中におはなしを語り継ぐ八百比丘尼のことまで持ち出して。ぬいぐるみの中にかみさまは居た。母が真摯な態度で受けとめて、子に返したおはなしだった。おはなしによってAIRの物語は綴られ、AIR自身、おはなしで在りたかったものだった。あまりにも長く、あまりにも異様なおはなしの挿入、あるいはおはなしに捕われる往人たちのその鬼気迫る部分と、おはなしの語り口の真摯さ、あるいは恋愛ゲームというジャンル自体が持つ信頼感とがないまぜになって、物語は進む。どこまで書けばこれが「おはなし」であることは伝わったのだろうか。

AIRについては何を言っても「おはなし」であれたかどうかということしか言えていない。すごく馬鹿げていると思われるかもしれないけれど、どうしてもそこに辿りつく。そう思う。
http://storybook.jp/rst/douca/diary/diary0010.html#26a

AIRは第一に物語讃歌だった。たとえ独り遊びしかなかったとしても、環の中で物語は確かに綴られてゆくこと。そのために、どれほどの長さが必要だっただろう? とにかく読み続けなくては終わらなかった物語。長い。異様なまでに長い。この長さをもってしか、物語というものを語り得なかった。ただ無茶なまでに時間を費し書き連ねることでしか、確かになれなかった。過剰な長さの中にはただ物語の存在しか残りようがないはず。そこまでしないと伝わらないはず。麻枝准自身が過剰さの中に自分を規定している。物語を賛美するための物語。だめだ、また自己言及の環にはまっている。そんなものは語り得ないからこそ、過剰に語りまくるしか手がない。だけど、ほころびはいくつだって用意されていた。物語のざらざらとした表面を手がかりに、どこまでも読み続けることで、そこに何かが残せるはずだから。皆がそこに自分自身のおはなしを感じとる。それはそれぞれ違うおはなしなのに、AIRについて語りあうことができるのだとしたら、そんなおそらくは当たり前のことが、どんなにか嬉しいことだろう。
http://storybook.jp/rst/douca/diary/air4.html

他にもこちら.
http://storybook.jp/rst/douca/diary/diary0010.html#25e
http://storybook.jp/rst/douca/diary/diary0010.html#25f

リンク先で江洲さんが仰っている過剰さのように,物語が余分な回数繰り返されるということ.量が集められると質のほうがわやになって,つまり物語というものを沢山集めるとそれぞれへの記憶は薄らいでいって,だけど,物語があったってことだけは残る.話の筋や会話の内容を追うんじゃない,AIRの場合,そういう伝え方がされているのではないかと思いました.

文章の流れを追わせることによってそれが物語でないことを示すのは無理があるので,むしろ物語があったことくらいしか言ってなくて,その中身を語らせないような態度じゃないかしら.

J2のはなし,ちょっとだけ.

ギジン(ロボット)の少女ジョゼットは博士の遺言にしたがって,ジョゼットからは「見えない世界」に住む「プレイヤーさん」の世話になります.プレイヤーさんはジョゼットのことをどこからか見守っているらしいのですが,その声はインタフェースロボのバードにしか聞こえません.だからジョゼットは自分の行動に反応しているらしいバードの振る舞いによってしかプレイヤーさんの存在を知ることは出来ません.

画面構成は(先日の映像で確認していただけますが)ジョゼットの住む世界にカメラのようなものが仮想されて,ジョゼットがおよそこのカメラの位置に向かって近づいて,話しかけています.そういう画面構成でないとこちらもジョゼットの相手をしている気持ちになりにくいわけですが,ジョゼットにしてもね,これ,実際はプレイヤーさんはどこから見ているか判らないのですが,視線を仮想的に置かないと喋りにくいっていうのはあるよね.それはこちら向きだけじゃなくて,ときどき空のほうを見たりもしているようです.これがある種の通信であることはジョゼットにもよく意識されています.プレイヤーさんに話しかけて,だけど傍にバードがいないことに気付いて,返事できないよねと独りごちてみたり.

それはまるで王子様コミュニケーションのようです.つまり,どこにいるかわからない王子様に話しかけたり手紙を出したり,その返事を空想してしまうというやつ.カレンさんはジョゼットの独り言の相手のことを神様だと言ってたけど,王子様くらいに思っておくのが,なんというか,素敵じゃないかしら.

僕は神様じゃないし,王子様でもないけれど.