OpenAssetOrgのアセットで2Dゲームを作る③ ウィンドウサイズとフレームレート
「カメラの設定だけしてウィンドウの大きさを変えてなかったのでこれも設定。これがないとウィンドウの横に黒帯がでてしまう」
妹「そんなの設定したことないけど……」
「それはカメラのとこでアスペクト比(縦横の比率)を1.777から変えてなければキッチリ収まる。OrthoWidthをいくらに設定したとしても、拡大縮小すれば縦横のサイズは合うから。でも比率が違うとどうしても縦か横が合わないから黒帯表示になる」
妹「1.777じゃ駄目なの?」
「デジタル放送になって以降テレビはだいたいこの比率だし、大抵のディスプレイもこれだから、別に駄目なことはない。それ以外のサイズだとフルスクリーン表示したら結局黒帯が出るという問題もあるから。まあ妹が使ってるディスプレイはこの比率じゃないんだけど……」
妹「えっ! そんな変なやつなの?」
「変ではないんだけど、安いやつだから……そういう事もあるので、どの画面でもピッタリというのは不可能だから」
妹「なんというか、その画面に合わせてアスペクト比というのを変えたらいいのでは?」
「そういう方法もある。ただ視野が広がったり狭まったりすると難易度も変わるから、黒帯が出る時は出るって割り切っちゃった方が簡単ではある。とりあえず今回のカメラ設定は512x320。512÷320の1.6が現在の比率。ウィンドウがこのサイズじゃ小さすぎるし、3倍はちょっと大きすぎるから、2倍にして1024x640にしてある」
妹「比率が合ってればきっちり2倍とかじゃなくてもいいんだよね?」
「じゃなくてもいいけど、ドット絵ゲームに限って言えばキッチリ整数倍なのが理想。ニアレストネイバーで拡大したドット絵は整数倍以外だと見栄えが悪いから。イラスト風の2Dゲームなら無視していい」
妹「でもウィンドウサイズ変えたら結局整数倍じゃなくなるのでは?」
「そうなんだけど一応初期設定ぐらいはキッチリしとこうと思って。特にデバッグ中は毎回見る画面だから」
「それと今回はフレームレート固定にしてみようと思う。昔は固定昨日バグってたみたいで動作が変だったけど、今は直ってるみたいだから」
標準は可変フレームレートだけど、1歩が何ピクセルとか決まってるレトロゲームには合わない。ただ固定の場合それ以下の性能のパソコンでは遊びにくいから、今回は低めの24に設定した。その分滑らかさが落ちるけど、元々滑らかなアニメとか使わないので問題ない」
妹「わたしが作る時も固定した方がいいのかな?」
「それは微妙なところなんだけど、メリットとデメリットを比較するとこんな感じなる」
・可変フレームレート
性能が良いパソコンも、そうでもないパソコンも、同じスピードでゲームが動く
そうでもないパソコンだとTickその他諸々の回数は減ってるので、ボタンの反応が微妙に悪くなったりはする
動きが速い物同士だとタイミング次第ですり抜けちゃう可能も
上限を十分上げておけば、いいパソコンやディスプレイを買うほど滑らかに表示できる
下限フレームレートを出せないパソコンだと結局動きは遅くなる
・固定フレームレート
性能がある程度以上なら同じように動くけど、それ以下だとゲームの動きが遅くなってしまう
ゲームは遅くなったとしても、同じタイミングで動いた物は同じタイミングでぶつかるから、デバッグがしやすい
TickのDeltaSecondsを無視して作っても平気
小さい数字で固定するとパソコンの性能が無駄になるし、大きい数字だと動かないパソコンが増える
「可変フレームレートにきっちり対応してれば固定にしても動くから両方対応のゲームもある。可変で作る方がオシャレで今風なんだけど、固定の方がバグは出にくくて安定してる感じ」