「執筆」タグアーカイブ

プログラム等のコードハイライトを「WP Code Prettify」に変更したよ!

チャオ! この挨拶に特に意味は無いよ。

wordpressでのブログ執筆はとても楽しいですよね。楽しいんですが、色々な種類の記事をごちゃまぜで書いてる私には困った事も多いんですよ。

 

wordpressでの記事作成では、完成記事に近いブレビューをみながら編集する「ビジュアル」と、htmlタグを直接いじいじしながらやる「テキスト」の二つの編集モードがありますよね。私はへっぽこ日曜プログラマーなので、両方使ってます。

で、本題のコードハイライトプラグインなのですが。これがもう大変なわけですよ。両方を行ったり来たりしてるとこのコードが変な変換をされてしっちゃかめっちゃか。最終的には文字化けみたいになっちゃったり崩れまくりだったわけです。

それで今回見つけたのが「WP Code Prettify」ですよ。ショートコードではなくpreタグによる記述なので、ビジュアルエディタとテキストエディタを行き来しても影響をありませんよ!わーい。

[browser-shot width=”450″ url=”http://wordpress.org/plugins/wp-code-prettify/”]

<?php if(function_exists('wp_pagenavi')): ?>
 <?php wp_pagenavi(); ?>
 <?php else : ?>
 <div class="navigation">
 <div class="alignleft"><?php previous_posts_link(__('Previous page')) ?></div>
 <div class="alignright"><?php next_posts_link(__('Next page')) ?></div>
 </div>
 <?php endif; ?>

ちなみにこんな感じです。うん、良い感じですね!

もしも今後、このプラグインを削除したとしてもpreタグでは残るので最低限の見た目も保証されます! 安心!!

スパロボwikiやTYPE-MOON wikiを運用している こかげ工房さんが「ニチアサキッズタイムwiki」を始動させました!

ニチアサキッズタイムは、テレビ朝日系列(フルネット24局全局)で放送されていた、子供向け番組(アニメや特撮のヒーローもの)の放送時間帯に付けられた愛称。2007年3月4日からこの名称による放送が開始されたが、2011年以降はこの名称は使われていない。名付け親は、東映アニメーションの鷲尾天プロデューサー。
ニチアサキッズタイム – Wikipedia

プリキュアとか特撮でおなじみの時間帯ですね! 毎週日曜日が待ち遠しい。そんな人もいるのではないでしょうか。

今回、記事数7000越えのスーパーロボット大戦Wikiや、制作タイトルの全てを網羅せんとするTYPE-MOON Wikiなどを運営する こかげ工房さんが、新たなwikiとして「ニチアサキッズタイムwiki」を立ち上げました。

ニチアサキッズタイムwiki

この記事を執筆している時点ではまだ準備中となっておりますが、これまた膨大な情報量が詰め込まれるのではないでしょうか。

アニメや特撮のタイトル一つ一つのwikiならわからなくもないですが、時間帯でくくってwikiにするのはとても興味深いです。どのような形でまとまっていくのが今から楽しみでなりません。

物語における「リアリティ」はどこまで追求するべきか

はじめに

まあ簡単な思考実験なようなもので、特にライトノベルはRPGゲームなんかによくある特殊能力についての思考実験であります。

たまに物語を評価するときに「リアル」ではないからという理由で否定する人がいます。おそらくその人にとっては、リアルであるかないかが「おもしろい」か「おもしろくない」の基準になるのでしょう。

御坂美琴はどのような能力を所有しているのか

たまたま目に付いたこの娘で考えてみようと思う。

御坂美琴は「とある科学の超電磁砲」の主人公で、発電系の能力の持ち主。

有する能力はレベル5の発電系能力「超電磁砲(レールガン)」。

発電能力における最高の能力であり、他の同系統能力者とは別格の強さを誇る。後述のように多彩な攻撃技や様々な応用も利くオールラウンドな能力である。

基本となる攻撃は速度と連射性に優れた直接電気を放出する電撃。作中ではよく高圧電流の槍を投げつける「雷撃の槍」を使用しており、最大電圧は10億ボルト。落雷を落とすことも可能。

御坂美琴 – Wikipedia

能力の詳細はこんな感じ。

どういう原理か

良く見る「超電磁砲(レールガン)」は指でコインを弾いて電磁加速を加えて敵を攻撃するものだが、電磁加速というからには、おそらく原理的には「コイルガン」のようなものだと思われる。イメージ的にはトンネルのように電界を作って、その中をコインを潜らせるのだ。空気中の酸素濃度が湿度を自在に操る必要がある。

コイルガン – Wikipedia

現実にある「レールガン」は、電位差のある電気を流したレールの間に弾丸となる物体を置き、そこに電流が流れることによって発生する磁場によって発射される兵器だ。御坂美琴の小さな手では、レールとしては距離が短すぎる。

レールガン – Wikipedia

仮に彼女の技が「レールガン」の原理によって発動していた場合のことを考えてみようと思う。

急激に加速するコインの衝撃に耐えられる耐爆能力。摩擦による熱を防ぐ耐熱能力。一極集中しても皮膚が破裂しないために絶縁性能、耐電能力。電流をスムーズに移動させる導電能力。周囲に放電しないための空気濃度、もしくは湿度変化能力。

身体的にも、彼女の筋肉、骨はスーパーマンなみに強力な可能性がありそうだ。

他にも周囲にある鉄を自由に浮遊させたり、砂鉄を操ったり。はては空気中の水分を利用して加速浮遊移動を行えたりするらしい。マグニートー真っ青ってレベルじゃない。

と、計算はしなくても彼女の能力がどれだけ半端無いのかを推し量ることはできる。しかし、物語の「楽しさ」に、こういった視点は必要だろうか? 一度立ち止まって考える必要があると思う。

同様の問題はゲームなどにもある

あるFPSゲーム(一人称視点で銃を持ってお互いに打ち合う対戦ゲーム)には銃弾が部位に当たる事によって「負傷する」という要素があった。肩に当たれば命中精度が下がり、足に当たれば走れなくなる。顔に当たると血で視界が悪くなってしまう。血が流れれば早く止血しないと死ぬ。などだ。

そのゲームが果たして流行ったかというと、最初はニッチな人気は得たが、最終的にはバランス調整に失敗。過疎の一途であった。リアルを求めるとゲームとしての「楽しさ」とのバランスをとるのがとても難しくなる。

時には現実的な思考は邪魔になるという良い例だと私は思う。

まとめ

創作をしていると、どうしても能力を現実的な面から考えてみたくなる事がある。そういうときに「これだけリアルにしたんだ。おもしろいに違いない」と考えるのは思考のループに陥りがちだ。敵の能力は? 味方の能力は? 倒し方は? 矛盾していないか・・・?

最終的に、人に見せる前にストーリーライン上に矛盾が生じて、筆を進める事が出来なくなる。自分の物語に自分が殺されてしまう。そして、そうやって完成した物語は果たしておもしろいのかどうか・・・?

もちろん、それ相応の膨大な知識量に支えられた緻密な物語は確かにある。かなりの労力が必要なのは明白だけれども。

いつだって問題はトレードオフだ。あちらを立てればこちらが立たない。説明に終始すれば物語は進まない。物語に終始すれば説明がおろそかになる。意識的にバランスを計る必要がある。

wordpressでの投稿前にTRPGリプレイ文体をPHP処理で整形する

TRPGネクロカ「箱庭茶会 コンベンション」灰色卓リプレイpart0 – キャラ作成から始動 | aoringo works

リプレイのスタイルを少し変更し、名前を太字にしてみました。あとは改行されてもスペースを置かないように変更。一般的なリプレイ本と同じ文体ですね。

投稿する時にphp処理を挟む

文章を太字にするには「<b>」タグを利用します。つまり、リプレイの名前に全てこれを埋め込む必要があるのですね。執筆してる段階でそれらを入れていくのは疲れるものです。

グリーンマン:「”私”は構わないのだが。本当に案内せずともよいのかね?」
アン:「故郷を追われた時から覚悟を決めているわ。例え骨になろうともそれが私の運命。受け入れる覚悟は出来ている!」
グリーンマン:「そうか。残念だ。本当に、残念だ。骨になるなんて、そんなの、本当に、もったいない・・・」と笑みを称えて二人を見送ります。

これを、

<b>グリーンマン:</b>「”私”は構わないのだが。本当に案内せずともよいのかね?」

<b>アン:</b>「故郷を追われた時から覚悟を決めているわ。例え骨になろうともそれが私の運命。受け入れる覚悟は出来ている!」

<b>グリーンマン:</b>「そうか。残念だ。本当に、残念だ。骨になるなんて、そんなの、本当に、もったいない・・・」と笑みを称えて二人を見送ります。

こうしたいのです。wordpressでは、一度の改行で「<br>」、二度の改行で「<p>」としても処理されるので、改行を自動でつけるようにもしたいところ。

そういうわけで、ゴリゴリ書いていきますね。

投稿時に内容に処理を挟むには「content_save_pre」フィルター

名前の通り、内容を保存する前に働くフィルターです。

function replace_post_cont($text) {
  $text = preg_replace_callback('/(trpgreplay.*?>)(.*?)(?=</div>)/ius', "trpgreplay", $text);

  return $text;
}

add_filter('content_save_pre', 'replace_post_cont');

記事を保存するときに、「replace_post_cont」関数が働きます。「replace_post_cont」は記事を正規表現で整えるために用意しました。

「preg_replace_callback」は正規表現により抜き出した内容を、さらに関数を使って処理を挟むことができます。かなり便利です。

TRPGリプレイはdivタグの「trpgreplay」クラスを使用しているので、これを検索、中身を抜き出しています。

function trpgreplay($matches) {
  $text = preg_replace("/r/ius", "", "$matches[2]");
  $text = preg_replace("/n+/ius", "n", "$text");
  $text = preg_replace("/n(?!n)/iu", "nn", "$text");
  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");
  return $matches[1].$text;
}

そしてリプレイを整形しているのがこれです。「$matches」配列の[0]はマッチングした全体、[1]は$1にマッチングした部分、[2]は$2にマッチングした部分が収納されています。この場合、[1]には「trpgreplay”>」が、[2]には「リプレイの内容」が収納されています。

  $text = preg_replace("/r/ius", "", "$matches[2]");

内容のデータには「r」と「n」といった改行コードが混在している可能性があるので、「r」をまず全て消します。(正規表現じゃなくて普通の置換でよかったかも)

$text = preg_replace("/n+/ius", "n", "$text");

連続した改行を全て単発の改行に直します。これでエディタで執筆した内容の改行がゆらいでも大丈夫です。

  $text = preg_replace("/n(?!n)/iu", "nn", "$text");

単発の改行を二つの連続した改行に直します。一旦クリーニングして再度二度改行してるわけですね。

  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");

行の始めが「<」で始まらない場合は「:」までをbタグで囲むという処理です。ここをミスると「<b><b><b><b>」とひどいことになります。

最後にreturnで戻して完了。最終的な形は下記となります。

function trpgreplay($matches) {
  $text = preg_replace("/r/ius", "", "$matches[2]");
  $text = preg_replace("/n+/ius", "n", "$text");
  $text = preg_replace("/n(?!n)/iu", "nn", "$text");
  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");
  return $matches[1].$text;
}
function replace_post_cont($text) {
  $text = preg_replace_callback('/(trpgreplay.*?>)(.*?)(?=</div>)/ius', "trpgreplay", $text);
  return $text;
}

add_filter('content_save_pre', 'replace_post_cont');

完璧! 満足ちゃん。

4コマで分かるエリュシオンTRPGに「aoringo CHAT conv」が紹介されました。

ELYSION 4コマで分かるエリュシオン TRPG 第37回「整形しよう」
 リプレイ執筆講座第一回でも触れましたが、リプレイが他の人に読んでもらうためのものである以上、読み物として『整形(書式などを整えること)』が必要になります。 …

twitterで流れてきた知ったのですが、私のツールが紹介されておりました!!

ありがとうございますっありがとうございますっ!!(土下座)

しかもなんか青林檎の絵まで漫画の中に描かれてるじゃないですかっ!

もう全ての文末が「!」で埋まるくらいうれしいわけですよ。本当にありがとうございます。今後もaoringo works共々よろしくおねがいいたします。

ちなみに該当漫画で紹介されているのは、

aoringo CHAT conv

ですね。IRCやどどんとふなどのチャットログを、プレーンテキストで整形して吐き出します。リプレイとして編集する前の読みやすさのため、書籍化にする前の手間の削除のために利用していただけるかなと思い作成されたツールです。

このままだとホームページにあげても見た目が・・・という時のために、

aoringo CHAT logger

というツールもあります。こちらはログをHTMLタグで整形して出力します。ホームページなどを運営している方はこちらもご利用ください。

なお、各種ツールへの要望や、新しいツールの希望などもどしどし受け付けております。当ブログやtwitterでお気軽に問い合わせくださいな。

重ねることになりますが、これからもaoringo worksは「恋と冒険の学園TRPG エリュシオン」やTRPG全般を全力で応援すると共に、楽しい事や面白い事にも全力を出して取り組んでまいります。

2012年に読んだ衝撃的だった本たち

今年も色々と本を読みました。全て合わせて300冊程度。みなさんはどのような本を読みましたか? 私の場合、今年は色々と挑戦の年であったように感じます。小説に本腰を入れ、htmlやphp、wordpressなんかにも首を突っ込み、今はC#を楽しく弄ってますよ。

今年は何に力を入れましょうか・・・イラストとか楽しいかも知れません。

ともあれ、振り返りつつのんびりまとめていこうかと思います。

続きを読む 2012年に読んだ衝撃的だった本たち

IRCもしくはtwitter用? webサイト紹介ブックマークレット

作業効率が加速する…無駄を省いてブログ執筆の時間を短縮しよう!私が現在使用している「ブックマークレット」6選! | OZPAの表4
私が作業効率を上げるために、ブログ執筆の際に使用しているブックマークレットをさらしあげてみたいと思います。 …

ここで紹介されている『「開いているページのタイトル」のリンク作成』をよく使わせて頂いております。ありがとうございます。

ブックマークレットというのは、まあリンク形式で実行できるアプリケーション、といったものでして、これをお気に入りいれれば実行するだけで色々な作業が簡単になるけです。文章を灰色文字で引用してみたり、そのページのアドレスをHTMLタグで装飾したり、ですよ。

で、まあ、IRCやtwitterを利用しているとアドレスを貼り付ける機会がなかなか多い。アドレスだけ張るのはあまりにも不親切だし、わざわざページのタイトルをコピペするなんて何度手間だって話ですよね。なのでちょこっとだけ弄らせて貰いました。

続きを読む IRCもしくはtwitter用? webサイト紹介ブックマークレット

小説を投稿したことがある人たちの疑問に的確に答えていく「懸賞小説神髄」書評・読書メモ

 編集者、書き手の指南書というのはいくつも見てきたが、「下読み」の指南書というものは初めてなので、思わず手が伸びた。まず、視点が違うとこれだけ考え方が違うのだなと驚かされる。

続きを読む 小説を投稿したことがある人たちの疑問に的確に答えていく「懸賞小説神髄」書評・読書メモ