10

和色で色覚異常対応

色覚異常で難儀している方々はかなり多く、その割合はWebサイトを公開している身として無視できないほどです。そのため、ユニバーサルカラーというのもが考案されて広く使われているのですが、それを和色で置き換えてみようと思い立って上の画像を作ってみました。

左3列が今回選択した15色で、右は1型色覚、2型色覚での見え方を擬似的に再現したものです。まだ改良の余地はありますが、とりあえず使える範囲にはなっているのではないかと思います。

23

Cataclysm DDA フォント

唐突なのですが、Cataclysm Dark Days Ahead(CDDA)というローグライクゲーム用に、マップ表示用のフォントを作成しました。とりあえず見た方が早いと思うので、実際に使用しているゲーム画面のスクリーンショットを貼っておきます。

サイズは12×12ピクセルと小さめなのですが、グリフが完全に正方形で太字なので視認性はかなり良くなっているかと思います。ただし英数字のみ、しかも文章表示に使うと非常に見辛いために、事実上文章とマップのフォントを個別に指定できるSDL版専用ということになってしまいます。

ということで非常に限られた人にしか価値の無いフォントなのですが、誰かの役には立つかもしれないので公開してみることにしました。もちろん完全にフリーフォントですので、使えるようなら他の用途に使ってもぜんぜん大丈夫です。

で、念のため設定方法を書いておきますが、CDDAのdata/font内にフォントをコピーし、configフォルダ内にあるfonts.jsonを以下を参考に書き換えするだけ。

{
  "fontblending": false,
  "fontwidth": 6,
  "fontheight": 12,
  "fontsize": 12,
  "typeface": "PixelMplus12-Regular",
  "map_fontwidth": 12,
  "map_fontheight": 12,
  "map_fontsize": 12,
  "map_typeface": "CataclysmSquare",
  "overmap_fontwidth": 12,
  "overmap_fontheight": 12,
  "overmap_fontsize": 12,
  "overmap_typeface": "CataMap.png"
}

この例では文字の表示にPixelMplusの12ピクセル版を使用し、mapにCataclysmSquare.ttf、overmapにCataMap.pngを指定しています。上のスクリーショットはmapにもCataMap.pngを使用しています。

CataclysmSquare.ttfとCataMap.pngの違いですが、CataMap.pngの方は罫線も字形に合わせたものに変更されます。ttfの方にもグリフを入れてはあるのですが、独自描画されているらしく表示されません。

あと、おまけとして個人的に調整した色設定ファイルも同梱しています。こちらはdata/rawにあるcolor.jsonと入れ替えて使用します。デフォルトより目に優しいとは思いますが見辛くなっている部分もあるので、お好みで調整してみてください。

ということで、ダウンロードは以下のリンクからどうぞ。

http://labyrinth.rash.jp/cdda-font.zip
20

地図とコンパス

なんか面白くなってきちゃったので、先日の3Dダンジョンにオートマッピングと方位表示を付けてみました。

http://labyrinth.rash.jp/test20150220/

3DダンジョンRPGでのオートマッピングは賛否両論あるようで、どちらの意見にも納得できるという感じ。個人的には、さすがに手動マッピングもだるいんで、可能なら機能として付けといて欲しいと思ってます。その上で使うか使わないかは、個人の自由ってことでいいんじゃないかな。

でも、オートマッピングがあると成立しない迷宮の罠ってのもあります。例えば回転床とか、テレポーターなんかが分かりやすいですね。特に後者はかなりの緊迫感があるんで、便利さと引き換えに捨てるのが惜しいというのもすごく分かる。

18

Dungeon

先日 Enchant.js をいじっていた関係で、せっかくだからWebGLで3Dダンジョンとか表示させてみたいなどと思ってしまい、ごそごそと作っていました。で、モノとして出来たことは出来たのですが、致命的な問題が発覚。なんか……動かしてると……すごく酔う(笑

そんなわけで、目に優しくないそのブツは削除して、数年前に作った擬似3Dダンジョンを表示するスクリプトを改修してみることに。Javascriptは継続的にいじってるので、以前よりはかなりマシな表示速度になったようです。結果は下のURLから。WASDキー、またはHJKLキーで移動できます。

http://labyrinth.rash.jp/test20150218/

ただ改善するだけだと進歩が無いので、今回はウィザードリィタイプのマップが作れるようにしてみました。マップ上では壁に厚みが無くて、隣接するブロック同士の境界に壁があるタイプ。

多少苦労するだろうけれど、そんなに難しくないだろうという軽い気持ちで作り始めたのですが、酷い目に遭いました。各ブロックに二進数で壁がある方向を格納するようにしたのですが、もう頭の中グチャグチャです。

05

こういうの

こんなRPGやりたいという妄想をもとに、以前から気になっていたEnchant.jsの試用を兼ねて、ちょろっと作成。見てみたいという方は、下のURLからどうぞ。操作はカーソルキー、またはHJKLキーで移動するだけです。

http://labyrinth.rash.jp/rpg_test/

サンプルを土台として、自分なりにいじってみました。いちばんやりたかったのが視野の実装。見下ろし視点の2DRPGだと壁の向こう側が見えてしまうものが多いのですが、これを見えなくするということです。

視野範囲の調整が出来るようにしてあるので試して欲しいのですが、壁の向こう側が見えないことや視野が狭くなることで、緊張感が高まるように思われます。ローグライクなゲームだと大抵はこういう視野なんですが、普通の2DRPGでは少ないようです。

次にやりたかったのは、Dungeon Crawl のタイル絵などで知られるDenziさんの絵を使うということ。今回は1タイルが16×16ピクセルで描かれたレトロ調のマップタイルを、二倍に拡大して使用させていただきました。動かしてみると、やはり良い雰囲気。

ということで、やりたいことがやれて満足。本当はゲーム作りたいなんていう思いもあるんですが、作るとなると最低一年くらいは必要です。自分の場合、何かひとつやり始めると、それにかかりきりになってしまう傾向があるので、実現は難しいですね。