Pac-Manのサイレンコール
Pac-Man's Siren Call (unsung.aresluna.org)
要約
この記事は、GoogleのPac-Man doodle開発中に発生した、予期せぬバグとその影響について語っています。開発者は、HTMLとCSSのみでゲームを再現しようとしましたが、サウンド機能のためにFlashが必要となり、さらに自動再生とサウンドオンという仕様が、特定のブラウザ拡張機能と組み合わさることで、ユーザーが意図せずPac-Manのサウンドを再生してしまうという事態を引き起こしました。この問題は迅速に修正されましたが、当時の開発の naivety と、予期せぬ形でユーザー体験を損なった経験が語られています。
全文翻訳
Pac-Manのサイレンコール
Unsungでのハロウィンウィーク最終日、今回は恐ろしく、不気味で、気味が悪い物語ではなく、私のバグが他者を怖がらせた話です。
2010年、Googleのホームページは、ロゴを再想像した「doodle」で様々な機会を祝っていましたが、私たちはPac-Manの30周年を記念して、何か特別なことをしたいと考えていました。そして、私が偶然doodleチームのすぐ隣のキュービクルに座っていたという状況から、そのコードを書くように依頼されました。
率直に言って、それは恐ろしい提案でした。当時のホームページは非常に重要な場所であり、私の役職は「ソフトウェアエンジニア」に隣接するものでした。しかし、私はゲームをリサーチし、それをHTMLとCSSで再現し始めました。これは、Appleが別の記念日を祝うためにページに掲載したiPodと似たようなものでした。
(ナムコにあまり早く協力を求めず、ほぼ完成したdoodleで彼らを驚かせようと計画していたため、リサーチは困難でした。幸いなことに、インターネット上のいくつかのオタクたちがPac-Manを集中的にリサーチしていたため、私はそのピクセル化された肩に乗ることができました。)
[動画]
オリジナルのゲームに忠実であることが私にとって重要でした。ただし、いくつかの意図的な例外がありました。入場料として、プレイフィールドはGoogleのロゴのように見える必要があり、また、イースターエッグとしてMs. Pac-Manモードを追加しました。「I'm Feeling Lucky」ボタンは「Insert Coin」に再想像されました。オリジナルのPac-Manに存在したバグもいくつか追加しました。しかし、私自身が原因で少なくとも1つの重要なバグを導入しました。それは、ローンチ日に裏目に出ました。
ゲームにサウンドを付けたかったのです。Pac-Manのサウンドの多くは象徴的すぎるからです。開始メロディー、ワカワカ音、デスジングルなどです。これは少し技術的な課題を提示しました。なぜなら、私はdoodleが純粋なHTMLとCSSで何ができるかのショーケースになることを望んでいましたが、サウンドにはまだFlashの(まあ)サポートが必要だったからです。しかし、Flashはその頃には多くのブラウザにインストールされていたので、それはうまくいきました。
プロジェクトはすべて非常に順調に進んでいました。ゲームをコーディングするのは楽しかったですし、私たちもそれをプレイして楽しんでいるようでした。ナムコも最終的には参加し、私が後にかなり複雑な政治的ストーリーがあることを知ったMs. Pac-Manの追加を承認しました。
進捗に非常に満足していたため、リーダーシップはdoodleをさらに大きく感じさせたいと考えました。そしてある時点で、10秒間操作がない場合にゲームがホームページで自動再生されることを考えました。それは、あなたが予期しないかもしれない場所で楽しむことができることを知らせるためだけでした。
私はそれに満足していました。当時、それに恐ろしいことがあったとすれば、それは私のコードがさらに露出することへの考えだけでした。しかし、ホームページはあなたが決して長居しないようなページではなかったので、私は注意散漫を心配していませんでした。
あなたが推測できるように、Pac-Manはこれらのすべての決定の結果として、サウンド付きで自動再生されることになります。私たちはそれを知っていたと思います。そしてその瞬間、それは…おそらく大丈夫だろうと感じました。今になって思えば、それは大丈夫ではありませんでしたが、それはまた、私たちの誰も予想していなかった方法で大丈夫ではありませんでした。
[画像]
[画像]
ローンチの日が来ました。チームの数人と私は、仕上げ作業とPac-Manの内部トーナメントバージョンの準備を含む徹夜をしました。個人的には、私は恐怖していました。私はユーザーエクスペリエンスチームのデザイナーにすぎませんでした。確かに、私のコードはすべての適切なレビューを通過しましたが、それでもGoogleの最も価値のあるプロパティの1つに、そのまま掲載されるとは信じられませんでした。
サンフランシスコ時間の午前9時にスイッチをオンにしました。数時間以内に、世界は再びPac-Manに熱狂しました。すぐに、私はフィードバックが殺到するのを見ました。私はプレスインタビューを依頼されました。Twitterがクラッシュするのを見ました。最も重要なのは、世界中から、人々がHTMLで(HTML!)あらゆる種類のデバイスで、あらゆる状況でPac-Manをプレイしているという報告を目撃したことです。
そして確かに、「私のコンピューターから非常に恐ろしい音が聞こえる」という種類の報告がいくつかありました。しかし、それらは私たちが予想していたチャネルからは届きませんでした。そして、「簡単な回避策はPac-Manのタブを閉じることだ」と提案したとき、決まって返ってきたのは次のとおりでした。
「Pac-Manって何?」
これが、次の数時間で判明したことです。当時非常に人気があったFirefoxを使用していた一部の人々は、CoolPreviewsという拡張機能をインストールしていました。これにより、リンクの上にカーソルを置くだけでページを素早くプレビューできました。拡張機能は、Firefoxが開かれると同時にバックグラウンドで静かに起動しました。そして、ユーザーが知らないうちに、バックグラウンドで、目立たずに、ウェブサイトをすぐに開きました。それがキャッシュを準備するためだったのか、それとも単に忘れられたプレースホルダーだったのかはわかりません。
そのウェブサイトはGoogleのホームページでした。
おそらくあなたはすでに何が起こったか知っているでしょう。その特定の金曜日、google.comにはサウンド付きの自動再生可能なPac-Man doodleがありました。もしあなたがCoolPreviewsをインストールしたFirefoxを使用していた場合、ブラウザを起動するたびにプラグインがバックグラウンドでGoogleのホームページを静かに開き、10秒後に…
これを一瞬想像してみてください。金曜日の朝、コンピューターの電源を入れます。あなたにとって、この金曜日に特別なことは何もありません。あなたはGoogleを使用する必要も、知っている必要もありません。どのブラウザを使っているか、あるいはブラウザとは何かさえ知らないかもしれません。実際、ブラウザを使用していないかもしれません。おそらく最小化されていて、画面下部のツールバーに控えめに置かれています。CoolPreviewsについて、あるいはプラグインや拡張機能の概念さえ知らないかもしれません。おそらく、メールをチェックしているだけか、今日の最初のソリティアのラウンドのウォーミングアップをしているだけかもしれません。
そして突然、あなたのスピーカーから、見えないPac-Manゲームのサイレンが、最も異常な方法であなたのコンピューターに侵入したかのように鳴り響きます。
繰り返し再生されます。
この話が起こってから16年経った今、Googleは違うように感じます。ウェブサイトがサウンドを自動再生することに皆がうんざりしていること、そして私たちが下したその決定が「グロースハッキング」に不快なほど近いと感じることは知っています。しかし、この話は2010年の、もう少しナイーブな時代に起こったものです。
数時間以内にパッチを適用しました。それは、今日多くのブラウザがデフォルトで行っているのと同じ解決策になりました。目に見えるミュートボタンを追加し、サウンドをアクティブにするには、まずゲームに何らかの方法(キーストローク、クリック、マルチタッチ、または「Insert Coin」ボタン)で触れる必要がありました。CoolPreviewsはそれをしなかったので、「憑かれたコンピューター」の問題は解決しました。皮肉なことに、自動再生に悩まされた普通の人がいたとは一度も聞いたことがありません。実際、10秒間何もせずにホームページに留まる人はほとんどいなかったようです。
面白いのは、当時のインターネットで最も価値のあるホームページの緊急ライブパッチングが、おそらくその日の私にとって最も恐ろしい部分だったということですが、それは寝不足の頭には完全に通り過ぎていきました。
そして最終的に、私の役職は変わりました。それが「ソフトウェアエンジニア」にどれほど近かったかは、あなたが判断することです。
[画像]
2015年に同じタイトルの話を書きましたが、オンラインで台無しになり、今の書き方には満足していません。そのため、これは基本的にそのエッセイの完全な書き直しです。サウンドはFlashなしで再実装され、Google Pac-Man doodleは今でもプレイできます。