コマンドプロンプトでWORKING!!オープニングを再現

初めてニコニコに動画をアップしてみました。こういうテーマはニコニコくらいしか見る人いないよなぁw


バイナリとソースを公開します。
ソフトウェア
ソースコード C# VS2008


・技術的な話
この動画の元画像は142x80です。公開したソフトはある程度のサイズは表示できるはずです。オプション指定で間引きしたりできるので。


プロンプトの文字サイズが6の場合、元画像の1ドットが3x6の文字2つで6x6で表現されるようにしています。


背景色と文字色、また文字によって文字色と背景色の比率が変わり、2文字の組み合わせで1ドットを表現しています。


HSVに落とし込んで彩度が高い場合には純色と純色を色相の偏りを元に混ぜ、
彩度が低い場合は純色と白・灰色・黒を彩度の偏りを元に混ぜという感じで表示します。彩度が無い場合は白と灰色、灰色と黒の間で明度を元に混ぜます。


色相、彩度、明度の偏りを表現するために適切な文字を描画しなければならないんですが、文字が背景をどのくらい覆うかという割合を元にしています。たとえば.は3x6の範囲をほとんど覆いませんがWや#はかなりの割合で背景を覆います。実際にサイズ6でプロンプトに表示してみて、ある程度滑らかにグラデーションがかかって見えるように調整してあります。
文字はASCIIしか使っていません。\は使ってるけど。


ディザリングはやっていなくて、1ドットに2文字割り当てられるので、色相の値が純色と純色の中間に位置するような時は、それぞれの文字で別の純色を割り当てるということを行っていて、結果的にディザのような効果が得られています。


トータルの制作日数は2週程度で、実作業は10日程度。色の表現で5日程度、ディザリングに1日くらいかかっています。
色の表現以外に難しいところはありません。


満足です。明日からゲーム作るかな!