白き貴婦人の謎」というタイトルで販売)を髣髴とさせる。幽霊(インフィニットループでは死神)に捕まり死んでしまうという点も似ている。Moonmistの主人公は幽霊というわけではないが。Moonmistの発売は1986年と古く、あまり知られていないと思われるが、あの古城に漂うミステリアスで独特の雰囲気が好きだった。個人的にはインフィニットループの絵柄はあまり好みではないのだが、ゲームのテンポが良く、ついついプレイしてしまう。死神に殺された主人公が幽霊となり人々に憑依することで事件の真相を徐々に知ることになる。主人公は死神に生命力を奪われたり、破滅的な事件を食い止められなかったりすると時間が死亡当時に戻されて最初からプレイすることになるが、それまでの記憶や物語の変化はそのままなので、憑依する人物を変えたり、変化したストーリーを追うことで、また違った展開が楽しめる。主人公が現実世界に干渉する唯一の手段として、「夢」がある。これは、眠っている人物に対してキーワードを与えることで、それに関連する夢を見せることができるのだ。それにより、前回とは違ったストーリーが展開していく。エンディングまでプレイしたが、ストーリーの薄さが気になった。練れなかったものだろうか。登場人物がそれほど多いわけではないので物語が進むとある程度察しがついてしまうのだ。他人に憑依して、さらに時間が戻るというシステムがユニークなだけにその点が残念だった。」シリーズのようなストーリーだったら最高なのだが...。Networkから大容量体験版をダウンロードしてプレイしたら思いのほか面白く、製品版も購入してしまった。因みに体験版のセーブデータはそのまま製品版に引き継ぐことができる。公式サイトではFlash体験版があるので、こちらで試すのも良いと思う。Googleが出している論文を分かりやすく噛み砕いて説明している。基本的には論文を読めば分かることなのだが、それほど分量もなく平易に書かれているので、ざっとGoogleの技術を理解するのには良いと思う。内容としては、Googleの歴史、Googleファイルシステム(GFS)、分散ストレージ(Bigtable)、分散データ処理(MapReduce)、運用コスト、開発体制について書かれている。MapReduceあたりは技術的な話で、まあ面白いのだが、大体予想していた通りであった。それに対して、運用コストの話は自分の視点からではほとんど考えない部分であり、Googleが如何に電力を少なくするかに注力しているかが良く分かり興味深い。開発体制については自分の考えている理想に近いものであった。ここのところ、思ったよりも自分がGoogleに傾倒していると感じる。理想としては多種多様な技術をはまんべんなく吸収し使用していくべきだろうが、Googleをベータ版の頃から使っている自分としてはついついGoogleの技術に目が行ってしまう。自分のメイン言語がGoogleと一致していることも大きいのかもしれない。それでも、様々な技術を勉強する姿勢だけは忘れないようにしたい。書籍2008年7月27日日曜日ゲームを作りたい人のためにTweetここのところ、ゲームクリエイターの人材発掘に力を入れているようだ。2008」が開催される。これらの内容をみるととても魅力的だ。自分が学生だったら迷わず参加していただろう。やって魅力的なコンテストなどを行っていかないと(もしくは行っても)なかなか良いクリエイターが見つからないのが今のゲーム業界なのかもしれない。自分が一番最初にゲームのアイデアやシナリオを考えたのは小学生のころだった。そのころはインベーダーゲームが流行っており、それに対しとても惹きつけられたのを思い出す(もちろんゲームセンターあらしはお気に入りだった)。小学生で小遣いもあまりなかったので、実際にはアーケードゲームはほとんどプレイしなかったのだが。その当時に作ったシューティングゲームのアイデアは以下の通り。雑魚敵は多種多様に存在し、画面の半分以上を占めるような非常に大きなボス敵がいる。そのボス敵を倒すのは非常に困難で、短い間だけ開閉される出入り口にミサイルを何発も命中させなければならない。その間に弾幕攻撃と執拗な雑魚敵の襲来があるというものだった。方眼紙を使って、それぞれの敵をデザインし、何枚も使ってどのように敵が動くのかも描いたものだ。今考えるととても幼稚に思えるが、後年、実際にそんなコンセプトを持つシューティングゲームがたくさん出てきた。今では多種多様なゲームが作られており、自分が小学生の頃に思い描いたような理想のゲームを自分自身で考えるということはなくなってしまっているのかもしれない。ゲームを考えるのはプロであって、自分たちではないと思っているのだろう。確かに、ゲームはより複雑になり、たくさんの人たちの連携で作成されるようになった。一人が、シナリオを書いて、イラストを作り、音楽を考え、プログラムを組むという時代ではなくなったかもしれない。それでも、本当に面白いアイデアというのは個人の発想力がモノを言うと思う。最後にプログラミングの観点から。3.0が良いように思う。基本としてECMAScriptであるし、オブジェクト指向言語としてもしっかりしている。何よりも画像やサウンドを扱うのに長けているからだ。自分でも良いアイデアが浮かぶようなら何か作りたいものだ。30分で読み終えて、一通り使える気分になった。確かに簡単に覚えられると思う。開発環境さえ入れてないので、実際は動かしていないけど。Homeの開発言語にもなっているようで、今後が楽しみだ。・基本的に添字は1から。Fortranと同じ。for~do・偽はfalseとnilのみ。EngineでOpenIDを取得できる。OpenIDを利用したコンシューマ向けのサンプルサイトも立ち上がっている。どちらもソースコードが公開されているのが素晴らしい。EngineでOpenID認証を使ってみるかな。プログラミングGoogleでOpenIDを取得するTweetGoogleのブログサービスBloggerでブログサイトを作れば、そのURLがそのままOpenIDとなる。Engineのサービスが稼動しているのでこれを利用しよう。これならば、Googleアカウントさえ持っていればOpenIDとしてすぐに使える。実は、BloggerのURLがOpenIDになっているのを知らずに、日本で最初のOpenIDプロバイダであるOpenID.ne.jpでOpenIDを取得したのだが、どうもここのサイトが心もとなく感じたので、少し調べてみると、様々な不安の声が上がっていることを知った。サーバが落ちる、登録確認メールに不具合がある、SSLを利用していない、などなど。そんな声もあってか、ついには究極の個人情報漏洩対策が取られたようで、ここでOpenIDを取得する際、必要な情報はニックネームとパスワードだけになってしまった。メールアドレスさえ必要ないのだ(因みにOpenID作成後に登録・更新可能)。確かに個人情報を登録しなければ漏洩は防げるだろうけど、捨てID作り放題で、OpenIDの信憑性を著しく下げないだろうか。OpenID自体は個人の特定には不向きな方法なので、こういうのもありなのか。云うわけで、Bloggerを利用している・利用する予定の人や、GmailなどでGoogleアカウントを持っている人は、第三者サイトでOpenIDを作成しなくてもすぐに利用できる。今年はOpenIDが流行るのかなぁ。追記:独自ドメインなどでbloggerのOpenIDを利用したい場合、<head></head>内に以下の2行を記述する。/>追記2:OpenID.ne.jpでパスワードの変更ができなかったので問い合わせたところ、一度アカウントを削除してから再度登録することになるそうだ。アカウントの削除はニックネームやメールアドレスをOpenID.ne.jpにメールで知らせれば良いらしい。メールでの対応は丁寧な印象を持ったが、それにしてもパスワード変更やアカウント削除ぐらいウェブ上で行えるようにしてもらいたい。IDをちゃんと返さないようで正常に処理されないみたい。Livelyという掲示があった。light.ということで、Livelyのコンテンツ開発者になることに興味ある人は上記のメールアドレスにメールを送ると、オブジェクトやアイテム、コンテンツの作成が可能になった時点で連絡をくれるらしい。詳しいことはまだ分からないけど面白そうだ。追記:すぐに返事が来たけど、MaxやMayaを使った経験があるかとか、3Dゲームのコンテンツを作ったことがあるかとか訊かれた。んー、OpenGLとC++で分子モデリングソフトウェアとかは作ったことがあるけど、専門的な3Dモデリングツールなどは使ったことないなぁ。この辺が必須だと自分にはちょっと難しいのかな。追記2:「高機能な3Dモデリングツールは使ったことがなくて、3D関係では分子モデリングソフトウェアぐらいしか作ったことがない。MaxやMayaが必須だと自分が開発者になるのは難しいと思う」ってメールをしたら、その返事が来た。現在のところ、コンテンツを作成するのにMaxかMayaを使う必要があるらしい。うーん、この辺のツールは数十万円ほどすると思うし、個人では購入できないなぁ。現在、GoogleデスクトップガジェットをLively内で使えるようにしているらしくて、それらのいくつかを開発しないかって言ってきた。面白そうだけど、Googleデスクトップガジェットは眼中になかったから、すぐにできるかどうか分からないなぁ。日付や時刻を操作するTweetPythonで日付や時刻の操作を行うには、datetimeモジュールを利用すればよい。以下に示すコード程度を理解していれば、後はリンク先で示すようなリファレンスでどうとでもなると思う。u"現在の日時は、%s(%s)%sです。u"%sから%d日が過ぎました。PAST.days)出力結果:現在の日時は、2008年07月23日(水)01時33分44秒です。2000年01月01日から3126日が過ぎました。Analyticsは便利だが自前のHTMLファイルが多数あるとトラッキングコードを埋め込むのが面倒だ(ブログだったらテンプレートを変更するだけなんだけどね)。そこで、以下に示すPythonスクリプトで一括で埋め込むことができるようにした。階層を持つディレクトリでも問題ない。念のため、バックアップは必ず取っておこう。本スクリプトの使用は自己責任で。insert_google_analytics.py)で保存する。次に、トラッキングIDを"UA-xxxxxx-x"から正しいIDに変更する。そのスクリプトをHTMLファイルが保存してあるディレクトリで実行するだけ。事前にPythonをインストールしておくこと。Storeからエレファンク(Elefunk)がダウンロード販売された。800円と低価格ながら、まったりプレイする分にはなかなか面白い。いった良質のカジュアルゲームが出てくるのは良いことだ。内容を簡単に説明すると、自分で橋を組み立て、その橋を壊さずに無事にゾウを渡すというパズルゲームである。ゾウの重量による橋のたわみや歪みはPS3でちゃんと演算処理されており、その点はリアルだ。適当に作るとすぐに壊れてしまうだろう。思ったよりも手応えがあるのがまた良い。最初、勝手が分からず少し苦労したが、橋の構造や耐久性が理解できてくると面白くなる。コツとしては、ある程度弱そうなところを補強しつつまずは組み立てる。ゾウを渡らせて崩れるようだったら、崩れ始めたところをよく見ておき、そこを更に補強する。これで、ある程度は行けると思う。...とは書いたものの自分もまだ序盤なのでこの先どうなるかはわからない。一日、一ステージが個人的には気持ちの良いペースだ。建物のパーツを交互に取り除いていき、先にゾウを落とした方が負けとなるオンライン対戦も面白そうだし、多くの人に遊んで欲しいな。Livelyの簡単な使い方と遊んでみた感想TweetGoogleがセカンドライフに類似したサービス、Lively(ライブリー)を公開した。クライアントをダウンロードしてインストールするのは同じだが、それ以降は全てウェブ上で操作ができる。実際に使ってみたところセカンドライフよりもかなり簡単だと感じた。roomボタンでルームを作る。Avatarで自分のアバター(分身)を作る。体のパーツなどが複数あるので組み合わせて自分好みのアバターを作ろう。Wardrobeで衣装棚だ。好みの服装などをここで揃える。3番目のアイコンはPeopleで現在入っている人々の情報を確認できる。Peopleで電子メールなどで知り合いを自分のルームに誘うことができる。5番目のアイコンは調度品・付属品の管理で、ここでルームに置くための様々な品物を選ぶことができる。6番目は調度品などを動かして自由に配置できるようになる。7番目のアイコンは、新しいルームを作ったり、現在のルームの名前や外観を変更することができる。最後のアイコンはほかのルームのリストを表示させる。以上、簡単な操作方法を説明したが、カタログからはデフォルトで支給されている調度品やルーム外観以外のデータを手に入れることができるのでそちらも確認して欲しい。調度品に含まれるTVモニタや写真立てには、それぞれYouTubeの動画を指定したり、Picasaから写真を取り込んだりもできる。Roomに入ってみたが、最初の読み込みに時間がかかった。セカンドライフの時もそうであったがうまく処理できないものだろうか。それを読み込んでしまえば比較的軽快であった。3年以上前のノートPCでも何とかなるくらいだ。入ってすぐに周りを見回してみたが、そこには20~30人ほどのアバターがいた。人数制限で入れない人もいるようだ。チャットは吹き出し形式で、画面に映っていないアバターからの発言でも、吹き出しが見えるようになっている。因みに日本語は直接入力はできないようだが、メモ帳などに書かれた日本語をコピー&ペーストで表示させることができるようだ。アバターのアニメーションはいろいろあって、怒ったり、笑ったり、踊ったり、お辞儀やウインクなど様々だ。二人での動作もあって、たとえば握手したり、手を繋いだり、喧嘩したり、投げ飛ばしたりできるし、キスもできる。周りを見ているだけでも結構面白かった。調度品などにも仕掛けがあるものがあって、巨大なティラノサウルスの化石には大きく吠えるアニメーションが仕掛けてあったり、電話ボックスの扉が開いたり、飛行機のエンジンがかかって火を噴いたりと様々である。現在のところ、ユーザがそれらを作ることはできないようだが、Googleのことだから、そのうち作れるようになる気がする。調度品などのカタログにはPrice(値段)の項目があり、現在では全部無料になっているが、ユーザがこれらを作れるようになった暁には、自分たちで値段を設定できるようになるのではないかと予想している。セカンドライフのときは自分の好みでないモデリングでかなり嫌気がさしてしまったので、その辺はよりセンスの良いものを期待したい。現在のところはまあまあだと思う。あとは速度と使いやすさが重要だ。テンポよく操作できるだけの軽快さは必須だと思う。個人的にはGoogleらしく調度品などにプログラムを組み込めるようにしてほしい。Pythonでできれば最高なのだが。自分のルームを公開しておくので気軽に入ってみてほしい。Engineのデータベース(datastore)を使ったFlashコンテンツのアップローダを作ってみた。BlobProperty()を使うことでデータベースには一応入ったが、サイズが大きいFlashでは例の時間制限に引っ掛かってアップロード途中でエラーを吐いてしまった。この制限、どうにかならないかなぁ。ソースを以下に示しておく。href="https://www.google.com/accounts/">Googleアカウント</a>でログインしてください。self.response.out.write("""<p>%s。説明文の表示がずれるバグを修正。Engineメッセージボード*当ブログに関する意見や要望などにお使いください。Googleアカウントでログインすることで書き込みができます。Twitterへの送信を同時に行うこともできます。ストリートビューで散歩*Googleマップのストリートビューを利用して散歩をするWebアプリです。ストリートビューとマップを分割してマーカーを視界タイプに変更することで使いやすくしてあります。APIを利用したグラフ・チャート作成ウェブアプリです。クリック一つで簡単にグラフを作成できます。ブログ記事への貼り付けなどにどうぞ。OpenIDテスト*OpenIDによるログインのテストを行います。mixiであればクリック一つで、他のOpenIDアカウントであればそのURLを入力することでテストできます。一言コメント表示機能付きです。HTML文字変換*テキストで使われているHTML特殊文字をウェブで表示できるようにするための文字変換ウェブアプリです。プログラムのソースコードなどをブログ記事に貼り付けるときなどに便利です。短縮URLチェッカー*フィッシングサイト判別機能付き短縮URLチェッカーです。テキストボックスに変換したいURLを入力すればbit.lyの短縮URLが表示され、bit.lyの短縮URLを入力すればもとのURLが表示されます。展開されたURLがリンク付きで表示されますが、もしフィッシングサイトの疑いがある場合は警告が表示されます。Trendsの急上昇ワードをランキング順に表示します。Googleでのキーワード・画像検索やWikipediaによる用語の説明もあります。※GoogleがAPIの提供を終了したため、現在停止中です。自己紹介noxゲームを楽しむだけの余裕と感性は失いたくないnoxです。