2009年06月02日

魔術講座を更新しました! & “正規表現”に救われました!

と、いうわけで表題どおり、

久々に! (すみません)

魔術講座の方、更新させていただきましたこと、まずはご報告申し上げます!


更新したのは、

魔術講座: http://hexaquarker.com/hexaquarker/magi.html



「7:未来の可視、過去の不可視」

の項目です。

 もし、お時間あってお気がむくことございましたら、
ご一読いただけますと、とても嬉しく存じます!





で。

魔術講座の「講義案内」(メニューページ)についてなのですが――


1:不機嫌亭ゲーム班ホームページ開設当初に作成した  

2:それから時間が経過して、
  当然、「錬電術師」という物語の展開も進んだ

3:すると 「展開された物語内のエピソード」 と、
  「講義案内」の内容に、整合のとれてない部分が出てきてしまった


――という現象が発生したため、

「魔術講座の講義内容を、物語にあわせて一部修正」いたしました。


具体的に申しますと

「錬電術関連の講義は、そちらでは(少なくとも三章完結までは)行われない」

ということに、変更させていただきましたのです。


 蛇足を承知で申し添えますと、

 『魔術講座が開催されている時間軸は、
 “錬電術師第一章の物語が展開されるより、以前”』

 という風に、定め直したということです。

 
 ですので、(少なくとも三章完結までにおける)魔術講座の内容は

 「錬電術が、未だ魔術界に認知されていない時点」

 でのものであると、ご理解いただけますと幸いです。




 
 でもって。

 先日以来、「1日1時間目安」と時間を決めて、
 毎日魔術講座を書いていこう、と決意した私ではございますのですが。

 なんせ、長いこと、魔術講座を書けておりませんでしたため、


『実際に、錬電術師の物語内で明記された、各魔術師の魔術観と魔術解釈』

を、(設定レベルではなく、公開されたテキストレベルで)
再確認をする必要が――これはどうしても、出て参りました。


で、そのためには

A:ゲームを通しでプレイする

B:シナリオファイルを呼んで確認する

という、二つの選択肢があるように感じられました。


 AよりBの方が、普通に考えれば早いので――

「B」方式で確認をとろうと、当然 私は決意しました。



 が、しかし。

 実装されたシナリオファイルは、
 吉里吉里に読み込んで、演出をしてもらうためのスクリプト・・・

例えば、貴一くんの立ち絵を表示するのであれば、

[image storage=kii_f_rei.png layer=2 mode=psaddalpha left=385 top=0 opacity=255 page=back visible=true]

みたいなのが、びっしりと埋め込まれてしまっております。


ベタテキストのみで書けば、


------------------

「お待たせ。もう大丈夫…………だと思う」
「なら、ついてきな、貴一っつぁん」

言って 僕の返事は待たず、マナカさんは病室のドアを出てしまう。


----------------------


というたったそれだけの文章が、
しかし、背景を切り替えたり立ち絵を動かしたり
効果音を鳴らしたりを、吉里吉里にやってもらうため


--------------------------


「お待たせ。[l]もう大丈夫…………だと思う」[r]
[move_e n=0 layer=3 loop=1 x=0,-350,linear,600,void]
「なら、ついてきな、[l]
[playse buf=2 storage="snd_door_open.ogg"]
[backlay]
[image layer=1 page=back visible=true storage="bg_byousitu.jpg"]
[trans method=universal rule="rule_kosuri_r_l.png" time=500][wt]
貴一っつぁん」[r]
[r]
言って 僕の返事は待たず、マナカさんは病室のドアを出てしまう。[p][er]


-------------------------

と、もう、ごちゃごちゃに、長くなってしまいます。


つまり、

「シナリオ形式のファイルは、実は物凄く読みづらい」

ことになります。


しかし、

「私は、ライト/リライトしながら同時に演出をつけていく』

ため――

“一番読みやすい、『プレーンなベタテキスト』を、最初から作成していない”

―― のです。




……普段の「読み返し」は、デバッグも兼ねるわけですので、
そうだとしても、なんらの問題を生じないのですが――

しかし、今回

“魔術講座のために、とりあえずザラっと読み返したい”

という目的をもちましたので、

そこで 私は ようやっと、

「これは問題だなぁ」と、認識するにいたりましたのです。

「プレーンなベタテキストがほしいなぁ」と、強く希求をするにいたりましたのです。


そこであれこれ調べると、

“正規表現”なるものが、この世には存在するのだということを、知るにいたりました。

 この“正規表現”なるものを使うと、
 文字列の検索・置換をものすごく便利にできるようになるそうで――


“一文字” (例:<国>)



“文字列”(例:<アメリカ合衆国>)だけでなく。


“複雑な条件づけをされた文字列
 
 (例:<ア>で始まって、何文字かを挟んで、<国>で終わる)”

をも、柔軟に検索できるようになるとのことなのです!

(上記の例だと、
 <アメリカ合衆国><アイルランド共和国> <アルゼンチン共和国>
  などなどを、文章中から一気に検索、置換できるようになるのだ、と)


「これを上手に使えば、[]内で囲まれた文字=吉里吉里向けの命令文を一気に削除し、ベタテキストを拾い上げられる」

と理解いたしました私は、

まず [indent] や [l] 、[ruby] といった
“文中や文頭で用いられる可能性のあるタグ”を予め消し。

そののち、おもむろに

\[..*\]

という正規表現を用いて、全 []および[]内文字を検索し、
そして空白と置換することで、一斉に消去することに成功いたしましたのです!!



で、生成されたプレーンテキストをサクサクと読み進めながら私

「正規表現便利。超便利」

としみじみ思いましたので、


「どなたかの役にたつことあるかも!」

と、正規表現につき、ご案内申し上げたく、本日の日誌に記述させていただきましたのでした。


ちなみに、私が正規表現を勉強させていただきましたサイトさまは

http://www.sixnine.net/regexp/regexp1.html 

となっておりまして、
正規表現を用いての検索置換に使わせていただいたフリーソフトさまは

http://www.hi-ho.ne.jp/a_ogawa/otbedit/index.htm 

でございましたこと、
あわせ、ご報告申し上げます次第です。



で!

そんなこんなを挟みましての本日の進捗なのですが


[シナリオ&スクリプト]
 →割とすすんだ

[制作進行]
 →一歩一歩

[魔術講座]
 →ご報告どおり


という感じのものとなりましたこと、重ねてご報告申し上げます。


 魔術講座、書いていれば非常に楽しく、
 またシナリオ面への好影響も産みますことを、
先日本日で実感いたしましたので!

 新しいリズムのもとで、引き続き、制作の方、頑張っていきたく存じます!!


 
posted by 進行豹 at 00:49| Comment(2) | TrackBack(0) | 製作日誌
この記事へのコメント
進行豹さま、初めまして。

>“文中や文頭で用いられる可能性のあるタグ”を予め消し。

という作業をされていますが、
\[..*?\]
と『*』の後に『?』という最短マッチ指定子を付与すれば、
 正規表現だけでご希望の処理が可能だと思います。

少しでも製作活動のご参考になれば幸いです。
Posted by 南橋ケイゴ at 2009年06月05日 20:03
>南橋ケイゴさん

 はじめまして! コメントありがとうございます!!

 そしてまた、素晴らしい知識のご教示を本当にありがとうございます!!

 まだ、私正規表現ちゃんと勉強出来ておりませんでしたので、“最短マッチ指定子”の意味がわかるようなわからないような気持ちでとにかく、

お書きいただいた正規表現での検索かけてみましたのですが、そうすると正しく!

[hogehoge] 本文  [honyahona]

みたいな行の中でも、本文だけを残してのタグ削除、あざやかに行うことが出来ました!!


で、最短マッチ指定のニュアンスも、
大体「わかったような気」になったのですが、
これをきちんと理解につなげますためにも!

このコメントを書き終えしだい、調べて&身につけていきたく思っております!

頂戴いたしました知識、少しどころか本当に役立ち また、刺激ともなりましたので、とても嬉しく思っております。

ありがとうございます!
&もしもご迷惑でなければ、今後どうぞ よろしくお願いいたします!!

Posted by 進行豹 at 2009年06月06日 00:28
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/29524354
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック