第27回 ゲームから読み解く、俺スクリプト時代の知的な挑戦
株式会社ピーデー
川俣 晶
2007/11/28
ハイライト1・実は、マイクロソフトは |
■ 「初音ミク」画像を検索できたWindows Live Search
10月中旬、キーワード「初音ミク」に対するGoogle、Yahoo!の画像検索が実行できないという問題が起こり、一部で話題になっていました(参照記事:「意図的削除はしていない」が…… 謎深まる“消えた初音ミク”問題)。このとき、最も私にとって印象的だったのは、実は「初音ミク」という歌を歌わせるソフトではなく、この事件が起きて初めてWindows Liveの画像検索を使った人が、「Liveの画像検索はよくできてるね」といったことでした。
Windows Live Searchで「初音ミク」を画像検索した結果 |
なぜ、この一言が印象的だったのか…… といえば、検索エンジン、特に画像検索は複数のサイトを使い比べて選ぶのが当たり前だと思っていたからです。
一般のキーワード検索でGoogleが優れているのは事実ですが、画像検索に関してはどのサービスも一長一短で、決定的な一つはないというのが私の感想です。実際、いつもと違う検索エンジンを使うと意外な画像が発見できることもあります。それにもかかわらず、複数の画像検索を渡り歩かない人がいたというのは、印象に残りました(参照記事:Googleの検索精度はMSNに劣る――MSが自社計測もとに指摘〜9月末にコア技術をアップデート〜)。
■ “濃厚”なマイクロソフトのマッシュアップを体験してみないか?
さて、このような話をなぜ前振りに書いたのかというと、Microsoft Popflyというサービスも、遠くから眺めて分かったつもりにならないで実際に使ってみよう…… と述べるためです。Popflyは、ドラッグ&ドロップだけでマッシュアップを作成するサービスです。しかし、Microsoftが行っているWindows Liveなどのサービスとは、使用感がかなり違う感じを受けます。何といえばいいのか、もっと濃厚な感じを受けます。
Microsoft Popflyの日本語解説ページ |
これまでは、簡単に利用できなかったので、気軽に使ってみよう…… とはいえなかったのですが、オープンベータが開始され、日本語解説ページもできたことで、容易に体験可能な時期に来たと思います。グラフィカルな表現を使い、コーディングなしでマッシュアップを作成できる世界をぜひ体験してみてください。
ハイライト2・プラグイン抜きで新言語を使う |
つまり、JavaScriptでインタプリタを書けば、<script type="text/自分で考えた言語名">は可能であり、それは既存のWebブラウザ上でそのまま実行できるという話です。
さて、果たして「俺言語」を作る意義はどのぐらいあるでしょうか? 一般論でいえば、「ノー」という意見が大きく聞こえてきそうです。「俺言語」は開発支援ツールもなく、他人は誰もソースを読めないので保守性も悪くなります。常識的にはあまり良いことはありません。
■ ゲーム業界は「俺言語」だらけ?
では逆に考えて、世の中で最も多くの独自言語を作り出している業界はどこでしょうか? 正確な調査を行ったことはないので厳密なところは分かりませんが、意外とゲーム業界ではないかという気もします。
なぜ、ゲーム業界なのかというと、この世界ではシナリオ記述言語的な独自言語が使われることが多いからです。それらの言語は、変数や制御構造などのプログラム言語としての機能を持っていることも多く、それらは十分にプログラム言語の一種と見なせます。そして、それらの言語は個々のゲームのタイトルに最適化された構造を持っていて、新しいゲームを開発する際には言語の機能が拡張されたり改変されたりすることも多いと思います。つまり新言語が日常的に生まれているわけです。
では、なぜ開発支援ツールもそろっていない言語を使うのかといえば、その方が効率が良いからです。特定の「何か」を達成するために最適化された言語を使った方が、目的を達成する近道になるわけです。
■ 「俺Ajax」時代が到来するかも……
これと同じようなことが、Ajaxの世界でもあり得るかもしれません。ある情報や機能性を、より無駄なく効率的に記述できる言語を導入することで、生産性が上がることがあり得るかもしれません。
ハイライト3・Mozillaの「Prism」に見るデスクトップ回帰
Prismのトップページ(1) |
Prismは、デスクトップ・アプリケーションとWebアプリケーションの境界を取り除く1つの試みといえます。このような試みはAdobe AIRなど、さまざまな立場からさまざまな技術が提案されています。
編集部注:Adobe AIRについて詳しく知りたい読者は、連載 「Apollo改めAIRプログラミング入門」をご参照ください。
ここでPrismが特徴的であるのは、ストレートにWebアプリケーションをデスクトップ・アプリケーションであるかのように実行するという機能性に徹していることでしょう。ほかの技術が、Web技術を使って新しいプログラムを作り出す方向性を取るのに対して、Prismは異なるわけです。
Prismのトップページ(2) |
このようなPrismのアプローチは、取りあえずいまそこにある有益なWebアプリケーションをデスクトップ・アプリケーションのように使うことを可能にするという点で価値があるといえます。しかし、対応Webブラウザさえあれば動くというWebアプリケーションの身軽さはストレートに受け継ぐことができません。どうしても、プラットフォームは機種依存のプログラムになってしまうからです。
「Mozilla、『Prism』のMac版とLinux版をリリース」というニュースが出てくるのは、まさにこの技術が「機種依存」であることを示します(もちろん、同じ目標を共有しないライバルたちも同じ問題を抱えていることはいうまでもありません)。
1-2 |
INDEX | ||
第27回 ゲームから読み解く、俺スクリプト時代の知的な挑戦 | ||
Page1 実は、マイクロソフトは画像検索やマッシュアップでもすごい!? プラグイン抜きで新言語を使う「俺スクリプト」の時代 Mozillaの「Prism」に見るデスクトップ回帰 |
||
Page2<そのほかのみどころ> Google OpenSocialで各SNS共通のウィジェットが実現? IEを拡張するJavaScriptデバッガ、DebugBar ページの画面が崩壊! するブックマークレット iTunesのCoverFlowっぽい鏡面反射画像を作るJSライブラリ FlashではなくJavaScriptでゲームを作るという「知的な挑戦」 |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|