最近、Flashで簡単なRPGを作っていることもあり、ゲームに関するいくつかのblogにも目を通しています。「こどものもうそうblog」もその一つですが、同blogを運営している米光一成さんが書いた「デジタルの夢でメシを食うためにボクらは!」が面白そうだったので、購入して読んでみました。
この本では「デジタルコンテンツ仕事術」と言う実際に行われた講座のうち、ゲストに登場してもらった6回分をまとめ書籍化したものだそうです。米光さんとゲスト各氏の対談から、デジタルコンテンツ作成現場の裏側が窺い知れて興味深いです。ゲームディレクターやwebプロデューサーなど、様々なデジタルコンテンツ作成を仕事にしている人が登場しますが、各氏共通してコンテンツ作成の仕事を楽しんでいる様子や、こだわる所にはこだわっていながら、作業の流れなどには柔軟に対応していく姿勢が印象に残りました。
キーフレーズ的な発言はいくつも登場しますが、私には「リアルのほうに、足を半分残すような工夫」(p.26)、「ゲームはなにが一番おもしろいのかっていうと、インタラクション」(p.54)、「なにが目的なのかって、ずっと考えてなくちゃいけない」(p.74)、「自分の行動によって他人の選択を変えてしまう」(p.136)、「失敗した時に、きちんと行動できる人であれば、その後でも、信頼関係が強固になる」(p.158)、「最後までちゃんと形にしたいという意思が大事」(p.171)、と言った言葉が特に記憶に残っています。
米光 一成
マイクロマガジン社 (2006/03)
Flashプログラミングの授業で取り上げているRPG作成ですが、バージョン0.3の作品に音楽をつける作業をしました。自分へのメモを兼ねて、調べたことを記載しておきます。
授業で用いているFlash Professionl 8で読み込めるサウンドファイル形式は、WAV (Windows のみ)、AIFF (Macintosh のみ)、MP3 (Windows または Macintosh)です。オーサリング環境にQuickTime 4 以降がインストールされている場合は、更にいくつかのファイル形式がサポートされます。
これに対して今回のサウンド添付作業ではインターネット上の音素材を利用することを考えており、それらのファイル形式は主にMIDIかMP3となっています。特にMIDI形式の音素材は、数多く公開されていることに加え、ゲームのBGMに向いたものも多いため、Flashで読み込める形にファイル形式を変換して利用することを考えています。ちなみにオーサリング環境にQuickTime 4 以降がインストールされていても、MIDI形式のファイルをFlashに直接読み込むことはできません。
MIDIファイルを、Flashに読み込めるファイル形式に変換するソフトウェアとしては、TiMidity++が良さそうだったのですが、ライセンスがGPLなのが気になり、今回はDSマルチメディアプレイヤースタンダードを用いて、MIDIファイルを再生しながらwaveファイルに録音することにしました。
DSマルチメディアプレイヤースタンダードでMIDIファイルを録音する際には、「ファイル」⇒「プロパティ」より「再生」タブを表示させ、「再生デバイス」に「mid」、「録音デバイス」に「マイク」を設定しました。「録音」タブでは、「ステレオ/モノラル」を「モノラル」に設定し、録音レベルを調整しました。
保存したwaveファイルをFlashに読み込んだ後は、ライブラリ内でそれぞれのファイルに識別子を振り、Soundオブジェクトとして再生制御をしてます。音楽はスタート、ゲーム中、ハッピーエンド、ゲームオーバーの4種を設定しています。この4種の音楽は2, 3分あった素材をそのまま使っているので、完成したswfファイルが1MB強とかなり大きくなってしまいました。これについては時間を見つけて対応策を考えたいと思います。
使用した音素材は、画像素材と同じ掲示板で公開されていた、M.o.Jさんの作品を使わせていただきました。どうもありがとうございます。
【クリックでサンプルがスタート(カーソルキーで操作)】

最近、このblogにコメント/トラックバックスパムが大量に届きます。多いときは1日に数百件はあります。この「Learning Life Blog」の運営には、WordPressを用いていますが、この3月までは同ソフトのバージョン1.5を利用していました。その際はコメントスパムが付く度に手作業で削除し、同時にコメントブラックリストに登録することで、同じスパマーから再度被害にあわないようにしていました。
その後、WordPressをバージョンアップした際に、スパム対策プラグインAkismetの利用も開始したのですが、これが非常に効率よくスパムを防いでくれるので助かっています。Akismetの利用開始からほぼ70日が経過した現在までに、5,778 個のスパムを防いでくれています。
Akismetがスパムを見逃すことは時々ありますが、私が気がついた範囲では、スパムではないコメントをスパムと誤判断したことはありません。最近ではその精度を信頼し、また冒頭に書いたようにスパムの数が大量になってきたこともあり、スパムかどうかの視確認をせずにAkismetの判断に従って削除しています。
このAkismetの威力が一目瞭然となるグラフが、Akismet Statsで公開されていました。

横軸が月日、縦軸がAkismetが対処したコメント数を表し、オレンジ色の線がスパム、青色が意味のあるコメントを示します。
同サイトの上部には「91% of all comments are spam」とも書かれていますが、「Learning Life Blog」ではそれ以上の割合ですらあります。
また、スパム(spam)に対して、意味のあるコメントのことをハム(ham)と言うことを、このグラフで初めて知りました。気になったので語源を検索してみたら、スパムは豚肉の缶詰のSPAMにまつわるコントに由来しているのですね。hamについては語源の説明を見つけられませんでしたが、缶詰SPAMに対する単なる言葉合わせなのでしょうか・・・。
Flashのプログラミングを教える授業で簡単なRPGを作成していますが、そのサンプル作品のバージョン0.3ができました。今回のバージョンでは、敵キャラと壁との衝突判定を行い、敵キャラが壁を通り抜けられないようにしました。また、敵キャラにぶつかるとゲームオーバー画面に進みます。
更に鍵アイテムとゴールを用意しました。このサンプルでは、鍵アイテムはゲーム画面左下にいるお姫様で、ゴールは画面右上にあるお城です。この鍵アイテム(お姫様)を取得した後でゴールに辿りつくと、ハッピーエンド画面に進みます。
敵キャラの移動ルーチンは、プレーヤーに向かってくるだけの非常にシンプルなものです。ただ、プレーヤーとのX軸方向の差をまず縮めようとする種類とY軸方向を縮めようとするものの2種の敵キャラがいます(見た目は同じです)。こんなシンプルな敵キャラでも、4匹も登場させるとかなり難しいゲームになったと思います。
この後、効果音・BGMをつけ、余裕があれば点数を加算できるアイテムを作成する予定です。
【クリックでサンプルがスタート(カーソルキーで操作)】

たまには、とういことで仕事とは関係ない記事もアップします。先ほど、菊地雅章のOfficial Fan Site、PPOOMANICが公開されていることに気がつきました。
僕はJazzの中でもピアノを中心に音楽を聴きますが、菊地雅章はKeith JarrettやMichel Petruccianiと並んで大好きなピアニストです。最近は彼のような音楽は流行らないのか、ライブコンサートに言っても空席が目立つことがあります。それだけにOfficial Fan Siteの公開を嬉しく思います。
まだサイトの情報量は多くはありませんが、驚いたニュースが一つありました。「ECM、POOさんに長期コミットメント!」と言うニュースがそれです。僕はbluenoteのようなhotな音も好きですが、個人的に良く聴くのはECMの落ち着いた音です。アイヒャーとPOOさんが、どのようにコラボレートするのかを非常に楽しみにしています。