レベルのサムネイル自動生成(1)

ユーザーが自作レベルをSTEAM上で公開する場合、
一目でどんなレベルかを把握できるようなサムネ画像があると便利だ。
ということで、レベルを1枚の画像として表示するプログラムを作っている。
ひとまず、1つのセルを1ドットで表してみた。

f:id:masatoko:20170123143347p:plain

ブログのために拡大しているが、もとは128x128の小さい画像だ。
ちょっと問題なのは、遊ぶ前からレベルの構造が見えてしまい、ネタバレになってしまう点。
もちろん、ユーザー側で任意の画像を用意したりできるようにできるつもりだけど、
労力無しでサムネが用意されたほうが良いだろう。

一度、サムネの役割をまとめてみる。

  • サムネを見て、そのレベルを見て面白そうと思える。(STEAMからレベルを落とす場面)
  • レベルの選択画面で、サムネを見て、レベルを識別できる。(ゲーム内でレベルを選択する場面)
  • ネタバレにならないこと。(レベルを初めて遊ぶ場面・探索しきっていない場合)

こう考えると、ゲーム画面のスクショっていう選択肢があってもいいかも。
簡単にスクショをサムネにできる仕組みがあったらいいな。


画像生成に戻って、この画像の問題点は2つ。

  1. レベル構造が鮮明すぎて、ネタバレになってしまう。
  2. 画像を縦に並べるので、マップが広いと下が切れてしまう。

1については、画像をゆがませたり、上に汚れみたいなエフェクトをかけたりして、不鮮明にするとか?
結構手間かかりそうでやだなあ。

2については、複数の長方形(1つのマップ)をどううまく配置するかっていう課題だ。
検索すると、”長方形詰込み問題”として解法が出てくるけど、
まあ、今回はそんな大仰なもんでもないので、適当に詰め込んでみよう。

http://repo.lib.hosei.ac.jp/bitstream/10114/8970/1/13_s_m_nozawa.pdf
http://www.orsj.or.jp/~archive/pdf/bul/Vol.50_05_335.pdf

次回は、いい感じに配置できた画像を公開する予定。