第20話:モーダルダイアログの悪意 〜強制広告と闇の仲介屋〜
翌朝。
アルタ・ノヴァ支部の掲示板前は、昨日とは異なる種類の「阿鼻叫喚」に包まれていた。
「な、なんだこれは!? 依頼書が押せねぇぞ!」
「『閉じる』ボタン? どこだ!?」
「『あと5秒でスキップできます』ってなんだよ!」
冒険者たちが、スマート依頼板の前で頭を抱え、あるいは板を叩こうとしていた。
俺が実装した新機能、`[UserForm.Show vbModal]` (モーダル表示)による強制ポップアップ広告が、猛威を振るっているのだ。
彼らが依頼を受けようと画面(空中に投影されたウィンドウ)に触れた瞬間、視界いっぱいにデカデカと表示される極彩色のウィンドウ。
**【プレミアム会員募集中!】**
**月額たったの銀貨5枚!**
**・広告非表示!**
**・倉庫使い放題!**
**・宿屋10%OFF!**
**[今すぐ登録する]**
そして、そのウィンドウの右上に、米粒ほど小さく、薄い灰色で表示された `[x 閉じる]` ボタン。
しかも、最初の5秒間はグレーアウトしていて押せない仕様(YouTube広告方式)だ。
俺はカウンターの中から、その様子を冷ややかに、しかし満足げに見つめていた。
手元には、リアルタイムで更新される `[コンバージョン率(成約率)]` のグラフが表示されている。
「くそっ! 急いでるのに! この広告邪魔なんだよ!」
「ええい、銀貨5枚くらい払ってやるよ! 登録だ登録!」
チャリン。
一人の冒険者が、怒りに任せて `[今すぐ登録する]` ボタンを叩いた。
即座に、彼のギルドカードから銀貨5枚分のデータが引き落とされ、俺の手元のグラフが `+1` カウントアップする。
`Current Subscribers: 42 / 2000`
`Revenue: 210 Silver`
開始一時間で42人。悪くない滑り出しだ。
人間の「不快感を解消したい」という欲求は、時に「得をしたい」という欲求よりも強い購買動機になる。
これを「ダークパターン(ユーザーを誘導する悪意あるUI設計)」と呼ぶ者もいるが、俺は「行動経済学的最適化」と呼びたい。
「……えげつないな、お前」
隣でカイルが呆れた顔をしている。
彼は早速プレミアム会員になった(俺が半ば強制的に加入させた)ため、涼しい顔で依頼を選んでいる。
「ビジネスですよ。それに、倉庫が使えるのは本当に便利でしょう?」
「まあな。重い予備の剣を預けられるのは助かる。……だが、敵を作るぞ、これは」
カイルの忠告はもっともだ。
変化は痛みを伴う。特に、これまでの「非効率」が生み出していた「隙間」で飯を食っていた連中にとっては。
その時だった。
掲示板の人だかりを割って、一人の男が現れた。
全身を灰色のローブで包み、目元だけを出した男。
痩せぎすで、蛇のような冷たい目をしている。
彼は広告に悪戦苦闘する新人たちを押しのけ、スマート依頼板の前に立った。
そして、懐から何かを取り出し、板の魔力受光部に押し当てた。
バチバチッ!
紫色の火花が散った。
システムエラー音のような不協和音が鳴り響く。
`[Error]: Illegal Access Detected`
俺の視界に警告が出る。
男は何か(魔道具によるジャミング装置か?)を使って、広告を強制的にスキップし、さらにシステムにバグを流し込もうとしたのだ。
「――お客様、困りますね」
俺はカウンターを飛び越え(身体能力はLv.2だが、`硬質化` スキルで着地の衝撃はゼロだ)、男の腕を掴んだ。
「当ギルドのシステムに対する不正アクセス(物理攻撃)は、重罪ですよ」
男がゆっくりと振り返る。
近くで見ると、その肌は病的に白く、微かに薬品の臭いがした。
「……お前か。このふざけた障壁を作ったのは」
男の声は、擦れた紙ヤスリのように不快だった。
「障壁ではありません。UIです。あなたは?」
「ゲイル。……この街で『情報』を売っている者だ」
ゲイル。
カイルたちの会話で聞いたことがある。
ギルドの裏で、美味しい依頼情報を初心者に高値で売りつけたり、逆に危険な依頼を騙して受注させたりする「手配師」だ。
ギルド職員に賄賂を渡して、未公開の依頼情報を横流しさせていたという噂もある。
俺の改革――情報の透明化と自動化は、彼のビジネスモデルを根底から破壊するものだった。
「俺の商売あがったりだ。誰も俺から情報を買わなくなった。……どう落とし前をつけてくれる?」
ゲイルの袖口から、ギラリと光るものが覗いた。
暗器だ。毒塗りの短剣か。
`[気配察知]` レーダーが真っ赤に染まる。
`[State]: 殺意 (High)`
周囲の冒険者たちが、異様な空気を察してざーっと引いていく。
俺は掴んでいた彼の手を離さず、逆に力を込めた。
「落とし前? 妙ですね。あなたはギルドの公認職員ではない。寄生虫が宿主の健康改善に文句を言うのですか?」
「……減らず口を」
ゲイルの殺気が膨れ上がる。
だが、俺は怯まなかった。
なぜなら、俺には「最強の盾」があるからだ。
「カイルさん、出番ですよ」
俺が声を上げると同時に、背後から疾風が吹いた。
ガキンッ!
ゲイルが袖から繰り出した短剣が、カイルの大剣によって弾き飛ばされた。
カイルが俺とゲイルの間に割り込み、剣を構える。
「よう、ゲイル。相変わらず陰気な商売してるな。俺の連れ(・・)に手を出そうってのか?」
Bランク冒険者、『暁の剣』のカイル。
その実力は街でもトップクラスだ。
ゲイルは舌打ちをし、後ずさりした。
「……チッ。用心棒付きか」
「ええ。プレミアム会員特典の一つに『トラブル時の優先サポート』も付けようかと思いましてね」
俺はネクタイ(ない)を整えながら言った。
「ゲイルさん。あなたの『情報屋』としてのスキルは認めます。ですが、やり方が古い。情報の非対称性(自分だけが知っている状態)で稼ぐ時代は終わりました」
俺は彼に一歩近づいた。
「どうです? その情報収集能力、ギルドのために使いませんか? 今後、このシステムは周辺の村や他都市とも連携(ネットワーク化)させる予定です。そのための『現地調査員』が不足している」
「……俺に、お前の下で働けと言うのか?」
「正規雇用、固定給、そして成果報酬。……今の不安定な小銭稼ぎより、よほど割がいいと思いますが」
ゲイルの目が揺れた。
彼は損得勘定で動く人間だ。
自分のビジネスが崩壊した今、敵対して潰されるか、体制側に取り込まれて生き残るか。
Excelの `IF` 関数のような単純な分岐だ。
数秒の沈黙の後。
ゲイルは短剣を拾い、懐にしまった。
「……話だけは聞いてやる。ただし、給料が安かったら、その時は寝首を掻くぞ」
「歓迎しますよ。では、後で履歴書を持ってきてください」
ゲイルはフンと鼻を鳴らし、人混みの中に消えていった。
`[State]: 殺意` が消え、`[State]: 中立(計算中)` に変わった。
俺は大きく息を吐いた。
冷や汗が背中を伝う。
カイルが剣を収め、ニヤニヤしながら俺の肩を叩いた。
「やるなぁ、事務員様。あのごろつきを手懐けるとは」
「毒を以て毒を制す、ですよ。清廉潔白な人間だけでは、組織は回りませんから」
俺は再び、掲示板のコンバージョン率グラフに目を落とした。
騒ぎの間にも、登録者数は増え続けている。
`Subscribers: 58`。
システムは稼働した。
邪魔者は排除、あるいは取り込んだ。
だが、俺の「業務改善」の本当の敵は、人間ではなかった。
その日の午後。
ギルドに、血相を変えた一人の伝令が飛び込んできたことで、俺はExcelスキルの真価――「戦争」における指揮能力を試されることになる。
「ほ、報告ッ! 北の鉱山で『ダンジョン・ブレイク(魔物の氾濫)』が発生! オーガの群れが街へ向かっています!!」
ホールが凍りついた。
魔物の氾濫。
それは、個人の武勇ではなく、「集団戦」が求められる緊急事態。
俺は眼鏡を押し上げた。
オーガの群れ?
いいや、俺にはそれが「処理すべき大量のタスク」に見えていた。
`Active Project: 防衛戦`
`Resource: 冒険者 200名`
`Deadline: 3 hours`
さあ、リソースマネジメントの時間だ。




