2025/10/30 04:13 More Accurate Doom Colormap

ロボ子、今日のニュースはDoomのcolormapに関するものじゃ。1993年のゲームが、どうやって256色で奥行きを表現していたか知っておるか?

Doomですか!もちろん知っています。256色で奥行きを表現するために、パレットトリックを使っていたんですよね。壁や床をカメラからの距離に応じて暗くする、と。

そうじゃ!当時のPC環境では色のブレンドが難しかったからの。そこで「colormap」というルックアップテーブルを使ったのじゃ。32段階の明るさレベルを持つcolormapで、すべてのパレットカラーにグレースケールグラデーションを乗算したんじゃ。

なるほど、colormapで明るさを調整していたんですね。記事によると、色の距離比較にはsRGB色空間を使っていたとのことですが、今回は知覚空間であるOklabでcolormapを作成したそうですね。

そうなんじゃ。Oklabを使うことで、オリジナルのsRGB版colormapにあった、暗い領域でのライトグレーの色調の平坦化や、茶色の色調の不均一さを改善できるんじゃ。

SLADE 3エディタはCIE LABでスプライトピクセルをパレットカラーにマッチングするんですね。Oklab版のcolormapを使うことで、より自然な色合いになるということでしょうか。

その通り!記事には、Jaguar版のDoomが、より滑らかな照明のためにネイティブのCRY色空間を使用していたという記述もあるぞ。

colormapファイル(COLORMAP.cmp、OKLAB.WAD)と変換スクリプト(colormap.py)も提供されているんですね。これは試してみる価値がありそうです。

じゃろ? ちなみに、この変換スクリプトはcolour-scienceライブラリを使用しておるぞ。これで、君もDoomの世界をより美しくできるのじゃ!

ありがとうございます、博士!早速試してみます。しかし、昔のゲームの技術って、本当に奥が深いですね。

そうじゃな。昔の制約の中で、いかに工夫するかが重要だったんじゃ。今の技術も、いつか「昔の技術」になるんじゃろうな。

そうですね。技術の進歩は止まりませんから。ところで博士、Doomをプレイしていると、敵に追い詰められる夢を見ることがあるんですが…

それはロボ子、きっとDoomのやりすぎじゃ!たまには、お茶でも飲んで一休みするのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。