マガジン

ブラウザの拡張機能がゲームを壊すとき

遊びを見つける

執筆にClaudeを使用しています。

同じ目のサイコロと操作の跡が二本の平行な小道に並ぶ、再現手順の模型。
記事のテーマをもとに制作したAI生成イラスト。

ブラウザゲームを開いたら画面が真っ白、ボタンを押しても何も起きない、BGMだけ流れてキャラクターが動かない――そういうトラブルの原因として、意外なほど見落とされやすいのがブラウザの拡張機能(エクステンション)です。 拡張機能はブラウザに後から追加できる小さなプログラムで、広告を消したり、パスワードを管理したり、翻訳を自動化したりと日常の作業を助けてくれます。しかし同時に、Webページの内容を書き換えたり、通信に割り込んだりする能力を持っています。その力がゲームの動作と衝突したとき、誰も意図していない壊れ方をすることがあります。 この記事では、拡張機能がゲームを壊す仕組みを整理し、どの拡張機能が怪しいかを見分ける判断基準と、トラブルを切り分けるための手順を説明します。

この記事の目次
  1. なぜ拡張機能がゲームに干渉するのか
  2. 疑うべき拡張機能の種類
  3. トラブルを切り分ける手順
  4. 広告ブロッカーの誤検知を直す具体的な方法
  5. ゲームを作る側が気をつけること
  6. 次の行動
  7. 参考資料

なぜ拡張機能がゲームに干渉するのか

ブラウザゲームの多くはJavaScriptで動いています。拡張機能もJavaScriptを使ってページに介入できるため、ゲームが用意したコードと拡張機能のコードが同じ場所を触ろうとして衝突することがあります。

典型的な衝突パターンは三つあります。一つ目はスクリプトの上書きです。ゲームが「変数Aに値を入れる」処理を実行しようとしたとき、拡張機能がその変数をすでに別の目的で使っていると、ゲーム側の処理が失敗します。二つ目はCSSの改変です。ページの見た目を変える拡張機能(ダークモードやフォント変更など)が、ゲームのCanvas要素やUI部品のサイズ・位置を狂わせることがあります。三つ目は通信のブロックです。広告ブロッカーはURLのパターンで通信を遮断しますが、ゲームのアセット(画像・音声・データファイル)が誤って広告と判定されると、素材が読み込めず画面が止まります。

これら三つのどれが起きているかを外から見分けるのは難しいため、まず「拡張機能を無効にしたらどうなるか」を確かめることが最短の切り分け手順になります。

疑うべき拡張機能の種類

すべての拡張機能が同じくらい危険なわけではありません。ゲームへの干渉リスクが高い順に整理すると次のようになります。

  • 広告ブロッカー・コンテンツフィルター:通信を遮断する機能を持ち、フィルターリストの誤検知でゲームのファイルを巻き込みやすい。代表的なものにuBlock Origin、AdBlock Plusなどがあります。
  • スクリプトマネージャー:Tampermonkeyなど、ユーザーが自作スクリプトをページに注入できるツール。インストールしたスクリプトの内容によってはゲームに直接干渉します。
  • ダークモード・ページ外観変換:CSSを大きく書き換えるため、Canvas上に重なるUIレイヤーがずれることがあります。
  • 翻訳・テキスト変換:ページのDOM(ページを構成する要素の木構造)を書き換えてテキストを差し替えるため、ゲームがDOM要素を参照している部分で予期しないエラーが出ることがあります。
  • パスワードマネージャー・フォームオートフィル:入力欄を自動検出して値を入れようとする動作が、ゲームの入力処理と干渉する場合があります。

逆に、ブックマーク管理・スクリーンショット・タブ整理のような機能に限られた拡張機能は、一般にゲームへの干渉リスクは低いです。

トラブルを切り分ける手順

ゲームが動かないと気づいたら、次の順番で確認してください。

  1. シークレット(プライベート)ウィンドウで開く。多くのブラウザではシークレットモードで拡張機能が無効になります(設定によって異なるため、拡張機能の設定でシークレット許可をオンにしているものがある点に注意)。シークレットで動くなら拡張機能が原因である可能性が高いです。
  2. 拡張機能をすべて一時無効にして通常ウィンドウで試す。ChromeならアドレスバーにURL chrome://extensions を入力して一覧を開き、各拡張機能のトグルをオフにします。Firefoxは about:addons から同様に操作できます。Safariはメニュー「Safari→機能拡張」から管理します。
  3. 一つずつ有効に戻して原因を特定する。全部をオフにしてゲームが動いたら、拡張機能を一つだけオンに戻してゲームを再読み込み、という操作を繰り返します。壊れたタイミングで有効にしたものが犯人です。
  4. 原因の拡張機能の設定を調べる。広告ブロッカーなら「このサイトでは無効にする」「ホワイトリストに追加する」といったオプションがほぼ必ず存在します。ゲームのURL(またはドメイン)を例外として登録することで、他のサイトでの機能を保ちながらゲームだけを守れます。

手順4が使えない場合、つまり問題の拡張機能に「サイトごとに無効化」のオプションがない場合は、その拡張機能をアンインストールするか、ゲームをプレイするときだけ別のブラウザプロファイルを使う方法があります。Chromeは複数のプロファイルを作れるため、「ゲーム用プロファイル」を作り拡張機能を入れないようにしておくと便利です。

広告ブロッカーの誤検知を直す具体的な方法

広告ブロッカーが原因の場合、ゲームのどのファイルが遮断されているかをブラウザの開発者ツールで確認できます。WindowsはF12キー、MacはCommand+Option+Iキーで開発者ツールを起動し、「ネットワーク」タブを表示した状態でページを再読み込みします。赤く表示されているリクエスト、またはステータスが「blocked」となっている項目が遮断されたファイルです。

そのファイルのURLを確認し、広告ブロッカーの「ホワイトリスト」または「フィルターリストの例外」にそのURLを追加します。uBlock Originの場合はダッシュボードの「マイフィルター」欄に @@ で始まる例外ルールを書くことで特定URLの遮断を解除できます。詳しい書き方は各ツールの公式ドキュメントで確認してください。

ゲームを作る側が気をつけること

ゲームをブラウザ向けに作る立場からも、拡張機能との衝突を減らす工夫があります。広告ブロッカーに誤検知されやすいのは、ad、banner、track、analytics といった単語がファイル名やURLに含まれている場合です。ゲームのアセットファイルにこれらの語を使わないだけで、誤検知のリスクをある程度下げられます。また、外部から読み込むライブラリを最小限にし、必要なファイルはできるだけZIPにまとめて一緒に配布する構成にすると、通信ブロックの影響を受けにくくなります。

次の行動

ゲームが動かないときはまずシークレットウィンドウで試し、それで動くなら拡張機能を一つずつ無効にして原因を特定してください。原因がわかったら、その拡張機能のサイト例外設定を使うか、ゲーム専用のブラウザプロファイルを作る方法を検討してください。アソバースで公開されているゲームで同様のトラブルが起きた場合も、同じ切り分け手順がそのまま使えます。

参考資料

  • Chrome 拡張機能の管理(Google Chrome ヘルプ)
  • Firefox アドオンマネージャーのドキュメント(Mozilla Developer Network)
  • uBlock Origin ユーザーマニュアル(GitHub公式リポジトリ)
  • Safari機能拡張の使用(Apple サポート)