複数の解像度の2Dゲームを作成する場合、何に注意する必要がありますか?


27

2D(Android)ゲームを作っています。Androidデバイスの画面解像度はかなり異なります。ゲームを作成する際に留意すべきことは何ですか?

  • すべての画像の大きなバージョンを保持し、解像度に応じて縮小する必要がありますか(スペースを無駄にしませんか)?
  • ビットマップフォントはうまくスケーリングしますか、それとも何か他のものを使用する必要がありますか?
  • 私が忘れている他の何か?

回答:


26

私は、PCからテレビ、さらには白黒Amazon Kindle(Smiles HD- http: //smileshd.com- そこにあるよりも多くのデバイスとプラットフォーム)に至るまですべてで実行される、非常にポータブルなモバイルゲームの開発者です。。

デバイスをサポートするために私が見つけた最良の方法は、基本解像度を選択してから、現在の画面に拡大(または縮小)することです。チートしたい場合は、新しい画面解像度に合わせることができますが、理想的には同じアスペクト比を維持する必要があります。4:3ディスプレイ用に作成されたゲームのフィッティングは16:9には恐ろしく見えますが、16:9に16:10をフィッティングすると、誰も気付かないかもしれません。寸法ではなくアスペクト比で画面を参照していることに注意してください。これは、この完全にランダムなLCDサイズの時代に考えるのに特に役立ちます。

アスペクト比を維持しながら任意の画面に合ったアートワークを作成するには、ほとんどの典型的な画面で見られるよりも大きい背景を作成します。これは、テレビのあるタイトルセーフエリアの概念に似ています。

http://en.wikipedia.org/wiki/Safe_area

これには、生成された背景が非常に効果的です。タイルパターン、チェッカーボード、フラクタル形状など。新しい画面に合わせて、もう少し生成するだけです。

また、一般的なユーザーに表示される画像よりも大きな静止画像を作成します。ワイドスクリーン(16:9)よりも広く、標準の定義(4:3)よりも正方形です。再びタイトルセーフエリアに戻って、重要な情報をセーフエリアに収め、セーフエリアが画面の端に触れるように少し拡大し、少し大きいデバイスにはある程度の余裕を残します。

今日私が取り組んでいるバリエーションは、「タイトルセーフ」3Dオブジェクトの作成です。これらは3Dであり、頂点のみで構成されているため、画面よりも大きくすると、実際に収まる場合よりも多くのメモリを消費しません。ピクセルの密度が上がると、より詳細なテクスチャを使用できるようになります。そうでない場合、まあ、それは少しぼやけています。

ユーザーインターフェイスは、メインUIを画面中央の完全な正方形に収めるのが好きです。角と中央の縁も物を置くのに本当に良い場所を作ります。座標をそのまま計算する必要があります(コーナーまたは中央のエッジを基準にして)。

http://www.smileshd.com/press/iPad/png/UI01.png

本当におしゃれにしたい場合は、TallおよびWideの両方の方向をサポートできます。一部のデバイスは画面解像度をワイドよりも高いと報告するため(iPhoneなど)、すべての座標を単純に回転している場合でも、とにかくそれらのデバイスに対して何かをする必要があります。

高い画面と広い画面の両方に適応するユーザーインターフェイスは、非常に印象的な光景です。

ワイド:http : //www.smileshd.com/press/iPad/jpg/SmilesHD01.jpg

背の高い:http : //www.smileshd.com/press/iPad/jpg/SmilesHD02.jpg

プラス面では、デザインに関しては、ポートレート+リバースポートレート+ランドスケープ+リバースランドスケープではなく、トールとワイドのみを考慮する必要があります。画面上のものの位置を選択するときは、他の方向に対してより適切な代替位置を持つことを検討してください。

すべての画像の大きなバージョンを保持し、解像度に応じて縮小する必要がありますか(スペースを無駄にしませんか)?

1つのビルドで「スペースを浪費」してさまざまなデバイスをサポートするか、「時間を浪費して」多くのデバイスを作成し、多くのデバイスのアートワークのサイズを変更する必要があります。

最良の場合は、1080pテレビ(1920x1080)での最終サイズよりも高い解像度でアートワークを作成する必要があります。2048x2048は、ソースアートワークで一般的なサイズにする必要があります。それか、FlashやAdobe Illustratorなどのベクターアートワークツールの使用を検討してください。

アートワークのサイズを変更する自動プロセスを作成することを強くお勧めします。タブレットを含む今日のほとんどのモバイルデバイスは、少なくとも720p(1280x720)を超える解像度を超えていません。しかし、来年は、それがもう本当かどうかわかりません(iPad 3?)。

いずれにしても、最高のパフォーマンスを得るには、ソースアートワークとソースアセットの概念に慣れる必要があります。その後、ターゲットとするデバイスに合わせてデータを最適化するプロセスを実行できます。

ビットマップフォントはうまくスケーリングしますか、それとも何か他のものを使用する必要がありますか?

適切なフィルタリングを使用している場合、それらはうまくスケーリングします。3Dハードウェア(OpenGL ES)で2Dゲームを作成する場合は、MipMappingと組み合わせたリニアフィルター(縮小画像のセット)を使用することを強くお勧めする必要があります。これにより、知覚的に完璧な結果を得ることができ、ミップマップを使用するほうが、使用しないよりも速くなることがよくあります。

http://en.wikipedia.org/wiki/Mipmapping

とにかく、私はそれが役立つことを願っています。プロジェクトの成功をお祈りします。


2

一般に、作成するテクスチャはすべて256x256または512x512である必要があります。パッド(Galaxy Tab、Honecomb、iPad)もターゲットにしている場合、512x512は画面全体に表示されないため、画面全体に表示する必要があるアートアセットの大きなバージョンを含めることができます。Appleは、このケースを処理するためにネイティブの「@ 2x」画像接尾辞を含めています。

私が自分で使用した単純な解決策は、320x480画面(iPhone)向けのゲームを作成することです。iPhone 2(640 x 960)でこれを自然に2倍にしましょう。そして、実際に別の方法で処理しなければならない唯一のケースは、一部のAndroidデバイスの画面が高いという事実です。モード)。

要するに、中立的な画面サイズでゲームを構築し、それに基づいて例外をカバーします


2
あなたは私のAndroidタグを見逃したと思います。とにかく、バッファは吸います。あなたのゲームが実際にスケールアップして見栄えがするなら、それはより良いことです。
ashes999

1

所有しているすべてのアセットの作業用コピーを保管することをお勧めします。たとえば、Photoshopで画像を開発している場合、元のpsdファイルを保存します。別の解像度の画像が必要なときはいつでも、それを開いて、品質の低下を最小限に抑えて新しい画像をエクスポートできます。

何らかの画面サイズでビルドするのではなく、最初からさまざまなサイズでビルドすることを強くお勧めします。あなたは、異なるピクセル密度について話しているだけでなく、異なるアスペクト比についても話している。16x9と16x10では、非常に異なる視覚体験が得られます。そのため、さまざまな画面の形状とサイズで新しい変更をテストしてください。

私の経験では、ビットマップフォントはまったくうまくスケーリングしません。使用するフォントのスタイルに大きく依存する場合がありますが、一般に、フォントビットマップのリサンプリングは非常に悪い結果をもたらします。ビットマップフォントは、テクスチャサンプリングがマルチサンプリング(GL_NEAREST、およびミップマップなし)に設定されておらず、ピクセルごとに画面にマッピングされるようにレンダリングされている場合に最適に機能します。異なるサイズで同じフォントの一連のレンダリングを使用することを検討し、フォントがゲームで常にスケール== 1で表示されるようにすることをお勧めします。これにより、特定のシナリオで使用するフォントサイズを選択する際に、いくつかの制限されたオプションが許可されます。


1

Androidはこのためのヘルプを提供します...

グラフィックなどのアイテムに「代替リソース」を指定できます。
次のリンクの「代替リソースの提供」セクションをご覧 ください。http//developer.android.com/guide/topics/resources/providing-resources.html SDKの例またはGoogleから例を見つけることができます。

また、Googleは、SDKで入手できるAndroidエミュレータを提供しています。さまざまな構成の複数の仮想デバイスを定義して、コードをテストできます。詳細情報へのリンクは次のとおりです。http//developer.android.com/guide/developing/devices/emulator.html

グッドラックamb


0

技術的な側面(ストレンジ氏が対処)に加えて、可変画面サイズのゲームを設計するときは注意してください。ちょうど例として、風景のような画面で怒り通りを再生し、次にポートレート画面で再生することを想像してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.