横スクロールアクションでの背景画像の大きさについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
焼き魚

横スクロールアクションでの背景画像の大きさについて

#1

投稿記事 by 焼き魚 » 8ヶ月前

現在1920*1080の解像度で横スクロールアクションゲームを作っていて、背景画像に12000*1400の大きさの一枚絵を使用して問題なく動いているのですが、このような大きさの画像を使用して作り進めていくのは現実的なのでしょうか?もっと良い方法などがあれば教えていただきたいです。

アバター
Dixq (管理人)
管理人
記事: 1615
登録日時: 7年前
住所: 北海道札幌市
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#2

投稿記事 by Dixq (管理人) » 8ヶ月前

一昔前であれば考えられませんでしたが、12000*1400はメモリ展開時の容量がだいたい70MBと考えると非現実的な数字ではないですね。
ゲームの実行ファイルが数百MB食うということは近年珍しくなくなりました。
マップチップのような素材を組み合わせて背景を作るのが一般的だとは思いますが、メモリが潤沢にある現在では一枚絵も一つの選択肢かもしれません。

マップチップによる背景の作成方法をご存じない場合は検索してみてください。
https://www.google.co.jp/search?q=%E3%8 ... 64&bih=868
32x32のような単位でブロックを組み合わせて背景を作ります。
ただマップチップを利用するなら何らかのマップチップの管理ツールが必要になるでしょう。

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#3

投稿記事 by 焼き魚 » 8ヶ月前

回答ありがとうございます!
あり得る選択肢であることが分かり安心しました。
マップチップも魅力的なのですが、グラフィックに力を入れた作品を作ってみたいのでこのまま進めてみようと思います。

アバター
usao
記事: 1382
登録日時: 5年前

Re: 横スクロールアクションでの背景画像の大きさについて

#4

投稿記事 by usao » 8ヶ月前

オフトピック
> 1920*1080の解像度
の方が,一般的に許容されるサイズなのか否かがちょっと気になります.
例えば私のちょい古いPCとかでは遊べなそうなw

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#5

投稿記事 by 焼き魚 » 8ヶ月前

なるほどそっちもあるんですねw
解像度もうちょっと考えてみようと思います。

アバター
Dixq (管理人)
管理人
記事: 1615
登録日時: 7年前
住所: 北海道札幌市
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#6

投稿記事 by Dixq (管理人) » 8ヶ月前

確かに。1080pをデフォルトにするにはまだ早いです。
もしやりたいなら解像度を起動時に設定できるようにすべきでしょう。

日本のみであれば1080pがシェアの1位ですが、世界的には1366x768が解像度の1位を占めています。
日本でも2位です。
まだまだちょっと前のノートPCの主流解像度が高いシェアを占めています。

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#7

投稿記事 by 焼き魚 » 8ヶ月前

やはり1980*1080のみではできる環境が制限されてしまうんですね。
質問続きで申し訳ないのですが、dxlibで低い解像度でも高解像度と同じ表示領域で表示する(ズームせず)ことは可能ですか?

アバター
Dixq (管理人)
管理人
記事: 1615
登録日時: 7年前
住所: 北海道札幌市
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#8

投稿記事 by Dixq (管理人) » 8ヶ月前

ズームせずという意味がよくわかりませんが、それはいわゆるズームではないのでしょうか?
例えば画面を0.5倍に縮小したければ
SetWindowSizeExtendRate(0.5);
で可能です。

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#9

投稿記事 by 焼き魚 » 8ヶ月前

説明が難しくてややこしい感じになってしまいすみません。
今までSetGraphMode(1920,1080)に合わせて背景やキャラを作成し使用していたのですが、SetGraphModeで解像度を下げ800*600にするとどアップで拡大表示してしまいキャラクターが見えなくなってしまいます。
起動時に解像度を変更できるようにしたいのですがこの場合、低解像度用に少ないピクセルで画像を作り直すしかないのでしょうか?
それとも何らかの方法で1920*1080と800*600などで同じ範囲を表示させることはできますか?
SetWindowSizeExtendRateの場合、拡大表示のままウィンドウサイズが変わってしまいました。

アバター
あたっしゅ
記事: 149
登録日時: 7年前
住所: 東京23区
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#10

投稿記事 by あたっしゅ » 8ヶ月前

1920x1080 は Bluray Disk の解像度ですよね。64bit オンリーのアプリも増えていることだし、必 1920*1080 のゲームがあってもいいと思います。

Math

Re: 横スクロールアクションでの背景画像の大きさについて

#11

投稿記事 by Math » 8ヶ月前

インターネット上にもFull HDの画像が増えてますよね。Gameは60p。
https://ja.wikipedia.org/wiki/1080p

FullHD:=1080p:=2Kみたいな感じですがいずれ4Kになるのでしょうか。(^^)/

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#12

投稿記事 by 焼き魚 » 8ヶ月前

調べてみてもよく分からなかったのでとりあえずは1920*1080の解像度必須のゲームにしてみようと思いますw
解決積みにかかわらず色々アドバイスしていただきありがとうございました。

ISLe
記事: 2618
登録日時: 7年前
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#13

投稿記事 by ISLe » 8ヶ月前

1920x1080を前提に作っていても、それを任意のサイズで表示することはほとんど手間をかけることなくできるのに、その手間を惜しむというのは選ばれたひとにしかプレイして欲しくないという意思表示になってしまうと思いますけどね。

1920x1080固定だと4Kディスプレイでは小さい画面でプレイするのを強制することになりますよ。
ファミコン時代の256x240とかのゲームがPCに移植されるのを豆粒のような画面でプレイしたくはないですよね。


1920x1080を800x600で表示したいのなら、SetGraphMode(1920,1080)のままで、SetWindowSizeExtendRate(0.416)とする。
ただし、この方法はアスペクト比が異なると誤差が大きかったり、環境によってドットが欠けるのを防げなかったりします。
► スポイラーを表示
ユーザーに、より快適にプレイして欲しいと思うのであれば、オフスクリーンに描画してから、それを表示用画面に描画する方法をお勧めします。
► スポイラーを表示
もとの前提サイズに対する描画処理はそのまま、それ以外の部分も定型で使い回せるので、手間は大きくありません。

オフスクリーンをバックバッファに描画する際、もっと(等倍で)大きなサイズのオフスクリーンに(フィルタなしで)描画して、それを表示用画面に描画するようにすると、細い線など細かい部分が欠けたりしない、さらに綺麗な描画を得られます。
#nVIDIAの最新のグラフィックドライバには、ドライバ側でそれをやってくれるようにする設定があります。

(追記)
前者の方法はマウス入力の座標変換をDXライブラリがやってくれますが、後者の方法は自前でやる必要があります。
マウスを使うゲームの場合は、綺麗な描画を得る代わりに、さらにひと手間増えるということになりますね。

アバター
あたっしゅ
記事: 149
登録日時: 7年前
住所: 東京23区
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#14

投稿記事 by あたっしゅ » 8ヶ月前

自分が持ってない解像度のモニタでの debug は、できないでしょ。アマチュアなんだから 4K モニタ買う義務なし。
ゲームが遊べるところまで持って行く方が大事。マルチ解像度対応は、その後でよし。
手提鞄あたっしゅ、[MrAtassyu]

アバター
Dixq (管理人)
管理人
記事: 1615
登録日時: 7年前
住所: 北海道札幌市
連絡を取る:

Re: 横スクロールアクションでの背景画像の大きさについて

#15

投稿記事 by Dixq (管理人) » 8ヶ月前

私も1080pがなければ遊べない仕様にすべきではないと思います。
上でも言った通り、一番多く使われている解像度は1366x768なわけですから・・。
1080pを前提に作っておき、起動時に最低限720pと1080pを選択できるようにすべきでしょう。
実現方法はSetWindowSizeExtendRateを使って任意の解像度で縮小拡大表示できるようにするのが一番簡単です。
SetWindowSizeChangeEnableFlag(TRUE);
をしておけば好きなサイズにリサイズできるのでなお親切でしょう。

焼き魚

Re: 横スクロールアクションでの背景画像の大きさについて

#16

投稿記事 by 焼き魚 » 8ヶ月前

ISLeさんのコードを参考に設定してみます!
お世話様でしたm(__)m

返信

“C言語何でも質問掲示板” へ戻る