# イベントの影響を「自分ごと」で見せる——「運」を「経営判断」に変える設計
DX経営ゲームには15種類の市場イベントがある。
E08「オンライン需要急増」、E12「価格比較激化」、E14「DX規制強化」——。
これらは毎ターン1つがランダムに発生し、ゲームの難しさと面白さを演出している。
しかし初回本番後のアンケートで、こんな声があった。
「イベントが運要素に見えて、戦略の意味が薄れる気がした」
これは設計の問題だった。イベントの説明は全員共通のテキストで表示されていた。
E14 📋 DX規制強化(データ基盤未整備の会社に規制対応コスト)
これでは「自分の会社への影響」が分からない。DX基盤を積んでいる会社は免除されるはずなのに、それが見えない。
「自分ごと」のイベント説明
イベントを「運」ではなく「経営判断の結果」として体感させるには、その参加者の現在のDX状態に基づいた個別メッセージが必要だ。
実装した仕組みはシンプルだ。イベントID、参加者のDX累積値、価格、オンライン比率——これらを組み合わせて条件分岐する。
const evPersonal = {
E08: myOnlineRatio >= 0.6
? `✅ あなたはオンライン比率 ${Math.round(myOnlineRatio*100)}% → オンライン需要急増の恩恵を受けました`
: `⚠️ あなたはオンライン比率 ${Math.round(myOnlineRatio*100)}% → 恩恵が限定的でした。オンライン比率を上げましょう`,
E13: dxc >= 2.0
? `✅ あなたのL3(変革推進)が ${dxc.toFixed(1)} → AIの次元越え進化の競争力ボーナスを獲得しました`
: `⚠️ あなたのL3(変革推進)が ${dxc.toFixed(1)} / 必要2.0 → ボーナスを得られませんでした`,
E14: dxd >= 1.0
? `✅ あなたのL1 IT基盤が ${dxd.toFixed(1)} → DX規制の規制対応コストを免れました`
: `⚠️ あなたのL1 IT基盤が ${dxd.toFixed(1)} / 必要1.0 → DX規制対応コスト(-20万円)が発生しました`,
};
表示対象は6イベント(E08/E09/E12/E13/E14/E15)。これらはDXや価格、オンライン比率によって影響が変わるイベントだ。
「運」が「選択の結果」になる瞬間
E14「DX規制強化」が発生したとき。
L1 IT基盤を積んでいる会社には:
✅ あなたのL1 IT基盤が 2.3 → DX規制の規制対応コストを免れました
積んでいない会社には:
⚠️ あなたのL1 IT基盤が 0.8 / 必要1.0 → DX規制対応コスト(-20万円)が発生しました
この2行が表示されるだけで、「L1投資をサボった結果、-20万円になった」という因果関係が明確になる。
それまで「運が悪かった」と感じていたことが、「投資判断の結果」として腑に落ちる。
データの流れ
このパーソナライズを実現するために、APIのhistoryレスポンスにonline_ratioとdx_data_cum等を追加した。
フロントエンドは受け取ったデータをそのまま条件分岐に使う。追加のAPI呼び出しは不要だ。
const dxd = r.dx_data_cum || 0; // L1累積値
const dxa = r.dx_auto_cum || 0; // L2a累積値
const dxc = r.dx_decision_cum || 0; // L3累積値
const myOnlineRatio = r.online_ratio || 0.5;
const eventId = r.event_id;
const personal = evPersonal[eventId];
if (personal) {
personalEl.style.display = '';
personalEl.innerHTML = `<span style="font-weight:700">あなたへの影響:</span>${personal}`;
}
ゲームデザインとしての意味
この機能の本質は、「自分の意思決定とその結果を直接繋ぐ」ことにある。
DX経営ゲームで伝えたいメッセージは「DX投資は経営上の判断であり、その積み重ねが競争力を決める」だ。
イベントが運に見えると、「DX投資が大事」というメッセージが「運が良ければDXが効く」に薄まってしまう。
イベントが「自分のDX状態への影響」として表示されれば、参加者は「だからL1から積むんだ」「次回はオンライン比率を上げよう」と考える。
研修ゲームとしての教育効果が、パーソナライズ一つで大きく変わる。
ゲームが伝えたいメッセージと、UIの設計は整合していなければならない。 機能を追加するだけでなく、「何を伝えるか」から逆算してUIを作る——それがゲームデザインの本質だと、この実装で改めて感じた。