L4D2 マップ・MOD 配布記

Left 4 Dead 2(L4D2)は Valve のゾンビ協力 FPS。対戦モードでは生存者4人と特殊感染者4人に分かれて戦い、特殊感染者への対処スキルが勝敗を分ける。ただ、突進してくる Charger(体当たりで突っ込んでくる特殊感染者)を近接武器のヘッドショット一発で確殺するような一瞬の技術は、実戦の失敗の中でしか磨けない。それなら練習環境ごと自作すればいい、と練習マップ3部作と HUD MOD 群を作って配布していた。

練習マップ3部作(2010年頃)

遊ぶ側の不満は HUD MOD で解決した。残弾警告(Large Ammo HUD)、キルログ拡大(Large Damage Log)、味方ヘルスの数値表示、コンパクトな ClearHUD、観戦者用 HUD——いずれも GameBanana(旧 FPSBANANA)で配布した(配布物一覧)。当時の日記には配布側の実感も残っている:

HomePageのリストに、Jockey Training乗せるの忘れてたので追加した。あれなぜかめっちゃ人気なんだよな、よくわからん

調べて、直す(2010年)

マップと MOD の裏には、ゲームを分解して調べた蓄積がある。調査メモは当時から公開していた:

2年前のメモが答え合わせされる

2012年10月のアップデートで、ハシゴを高速でのぼるテクニックが突然できなくなり、Steam の公式フォーラム(SPUF)にスレッドが立つ騒ぎになった。原因は cvar(ゲームの設定値)の joystick がデフォルトで 1 になったこと——そして「joystick 1 だと高速のぼりができなくなる」という現象自体は、その2年前に自分で見つけて wiki の詳解Left4Dead2に書き残していたものだった。Valve の開発者が「コントローラーを使っていないのに移動が変わるのは意図していない」と認めて翌日に修正され、高速のぼりが Valve 公認のテクニックであることも確定した(2012年10月19日〜20日)。

「Glowの件」——忘れていた自作 MOD に教わる

壁越しに payload カートや bomb 持ち BOT が光って見える「Glow」表示をめぐる試行錯誤が、当時のブログに「Glow の件」というカテゴリで残っている。

発端は2012年9月。dxlevel 81(低負荷設定)のユーザーにはこの Glow が表示されず、ゲーム内の重要情報が見えないことに気づく。この頃、RED チーム全員を Glow させる SourceMod プラグイン(tf2_glowing_red_team.sp)も書いている。

10月、Sushi Forum に来た Glow 関連の質問に対して「よくわからなかったので調査してて返信が遅れた(3日も)」。TF2 側では「SourceMod Extension を作れば行けるかな」「Payload のカートのオーラってどのマテリアルでやってるんだろう」と当たりをつけつつ、手がかりを L4D2 に求めた——「VMT(マテリアル定義ファイル)側で『このテクスチャを見ることができるチーム』を指定できたはず」。特殊感染者専用ハシゴがまさにそれで、自作スキン「Infected Ladder for Survivors」はこの制限を外すものだった。

そこで climb_versus.vmt を開いて Proxies を解析し、$proxTeam に PlayerTeam の値が入り、それをマテリアルの alpha に乗算することで「感染者チームにだけ描画する」が実現されている、と分解している。オチまで含めて日記の記述はこうだった:

これ前自分で作ったMODなのに完全に忘れてるがな

副産物もある。L4D2 ではすべての prop に startglowing 入力があり、ent_fire !picker startglowing で任意のオブジェクトを壁貫通で光らせられることを発見(「これ便利や」)。あわせて ent_dump/ent_text/find_ent というエンティティ調査コマンドの使い方も記録している(2012年10月25日)。

ツールの理不尽

L4D2 Authoring Tools が起動しない問題の対処法:「Windows の言語設定を日本語から英語にしたら起動した!」(2012年10月8日)

Steam Workshop 時代(2013年)

2013年1月、L4D2 に Steam Workshop が来たので MOD をまとめてアップした。一覧を見ると、自作 MOD をすでに他人が無断で再アップロードしているのも見つけている(予想はしていたらしい)。Charger 近接 HS トレーニングは置いた直後から訪問者の半数が登録してくれる人気ぶりだった。

盗作疑惑で BAN される

直後にトラブルも起きた。1月20日、MOD のひとつが「盗作だ」とレポートされて Workshop から消された。コメント欄では Urik という作者の MOD のコピーだと思われていたが、実際は逆で、自分の MOD がオリジナルで Urik 側がそれを見て作った側だった。その旨を運営に連絡している。

“stolen"って言われると腹立つなぁさすがに。

勝手にアップロードされていた件

7月には、Jockey Training を知らない人が勝手に L4DMaps にアップロードしていたのを発見する:

Authorのところが、俺じゃなくて xXxAbdulahxXx ってなってんのが謎すぎる。あと俺へのリンクもないしまじで気が効かなすぎる。悪意なかったとしても気が効かなすぎる。

これが後押しになって、本家を Steam Workshop に正式登録することになる。

3年放置したマップの修理

「3年前に作ったまま放置してた練習用マップ」は、steampipe 化前後のアップデートで動かなくなっていた。原因は対戦モードで nav メッシュのないマップがエラーになる仕様変更。VPS の作業日記(2013/07/23)には修理のハマりどころがそのまま残っている:

navファイルがないと、なんちゃらFLOW ERRORというのでspawnすら出来ないので nav_mark_walkable + nav_generateでnavファイル生成後、再度試したが 特殊感染者側でもnav_mark_walkableしないと駄目だったので、改めてやり直した。特殊感染者でjoinして、nav_mark_walkable して、nav_generate。その後、生存者にjoinしなおして nav_mark_walkable + nav_increment_generate + nav_save でnavファイル生成。

このほか z_spawn コマンドの挙動変更(z_spawn_old への書き換えが必要)も疑って確認している。修理を終えて 2013年7月30日に Steam Workshop 登録、報告を受けて v1.2 では「3分経つと Nick が死んで感染者が勝利してサーバーがシャットダウンする問題」やマップの穴、versus を付け忘れて起動したときの自動再起動などを修正した。

同じ夏、L4Dmaps の Top Maps に自分のマップが入っているのを見つけて驚いてもいる。1位は作り込みで圧倒する Helm’s Deep、こちらはアイデア一発の練習マップ——という対比を日記にメモしている。

反響——いまも残る数字

Workshop に上げた5作品はページが現存していて、統計はいまも伸び続けている(2026年7月時点):

作品登録数ユニーク訪問
Charger Melee Headshot Training28,47194,187
Clear HUD17,59197,699
Jockey Training14,42656,701
Ladder for Survivors6,71219,996
Survivor Numeric Health3,42416,524
70,624285,107

Charger 練習マップは Workshop 登場前の2011年時点で既に 3万 view/1.1万ダウンロードを記録していて、Workshop ではさらに2.8万人が登録した。


配布を始めてから15年。当時の配布サイトやコミュニティの多くは姿を消したが、Workshop の作品ページでは登録者がいまも増え続けている。