タグ付けされた質問 「tiles」

空間情報を表す同一形状のオブジェクト(多くの場合、正方形または六角形)。

6
チェスタイルを着色するためのエレガントなソリューション
私はJavaで書いたチェスゲームを再開発しており、番号付きチェスボードのチェスタイルに色を付けるためのエレガントなアルゴリズムがあるのではないかと考えていました。 現在、私のソリューションではif elseステートメントを使用して、タイルが偶数行か奇数行かを判断し、それに基づいて、明るい正方形と暗い正方形のどちらにするかを決定します。
19 tiles  chess 

6
シームレスなタイルマップレンダリング(境界のない隣接画像)
タイルセットイメージからタイルを描画してタイルマップを描画する2Dゲームエンジンがあります。デフォルトでは、OpenGLはテクスチャのGL_REPEAT一部()ではなくテクスチャ全体のみをラップできるため、各タイルは個別のテクスチャに分割されます。次に、同じタイルの領域が互いに隣接してレンダリングされます。意図したとおりに動作しているときの外観は次のとおりです。 ただし、分数スケーリングを導入するとすぐに、継ぎ目が表示されます。 なぜこれが起こるのですか?これは、四角形の境界線をブレンドする線形フィルタリングによるものだと思いましたが、それでもポイントフィルタリングでは発生します。私がこれまでに見つけた唯一の解決策は、すべての位置決めとスケーリングが整数値でのみ発生するようにし、ポイントフィルタリングを使用することです。これにより、ゲームの視覚的品質が低下する可能性があります(特に、サブピクセルの配置が機能しなくなるため、動きがそれほど滑らかになりません)。 私が試した/考えたこと: アンチエイリアスは、継ぎ目を減らしますが、完全に排除しません ミップマッピングをオフにしても効果はありません 各タイルを個別にレンダリングし、1ピクセルずつエッジを押し出します-しかし、これは最適化されていません。タイルの領域を一度にレンダリングできなくなり、透明領域のエッジに沿って他のアーティファクトを作成するためです。 ソース画像の周囲に1pxの境界線を追加し、最後のピクセルを繰り返します-しかし、それらは2のべき乗ではなくなり、NPOTサポートのないシステムとの互換性の問題を引き起こします タイル化された画像を処理するためのカスタムシェーダーを記述しますが、それではどうしますか?GL_REPEAT境界で画像の反対側からピクセルをつかみ、透明度を選択しないでください。 ジオメトリは正確に隣接しているため、浮動小数点の丸め誤差はありません。 フラグメントシェーダーが同じ色を返すようにハードコーディングされている場合、縫い目は消えます。 テクスチャに設定されている場合GL_CLAMPの代わりにGL_REPEAT、継ぎ目が消え(レンダリングが間違っているが)。 テクスチャがに設​​定されているGL_MIRRORED_REPEAT場合、縫い目は消えます(ただし、レンダリングは再び間違っています)。 背景を赤にしても、縫い目は白のままです。これは、透明ではなく、どこかから不透明な白をサンプリングしていることを示唆しています。 そのため、シームGL_REPEATは設定されている場合にのみ表示されます。このモードでのみ何らかの理由で、ジオメトリの端にブリード/漏れ/透明度があります。それはどうですか?テクスチャ全体が不透明です。

3
XNAでは、大きな2D世界地図の一部を動的に読み込むにはどうすればよいですか?
巨大な世界地図を作りたい。少なくとも8000×6000ピクセルのサイズ。私はそれを800×600ピクセルのPNG画像の10×10グリッドに分割しました。すべてをメモリにロードしないようにするには、グリッド内のプレーヤーの位置に応じて画像をロードおよびアンロードする必要があります。 たとえば、位置のプレーヤーは(3,3)次のとおりです。 彼がに向かって右に移動すると、左端(4,3)の3つの画像の割り当てが解除され、右の3つの画像の割り当てが解除されます。 おそらく、グリッドの各セル内に、ロードとアンロードをトリガーするしきい値があるはずです。ロードはおそらく別のスレッドで行われるはずです。 そのようなシステムをどのように設計しますか?

5
2Dゲーム用のマップを作成する最良の方法は?
主観的な「最高の」キーワードをおaびします。 友人と私は2Dアドベンチャーゲームの作成を開始しました。ポケモンまたはゼルダのスタイルでトップダウンになります(視点のみ)。私たちは、プレイヤーがマシンのメモリ機能に負担をかけずに横断できる大きな世界地図を作成する方法を議論してきました。 最初の衝動は、大きなマップと、コンテンツがロードされるプレーヤーの周りの円を作成することでした。これは長くは続かないと考え、マップをセクションに分割することにしました。最初に、4つの大きなセクションがありましたが、単純に多くの小さなセクションに分割できることに気付きました。 私はSNESのゼルダをいくつかプレイしましたが、マップのシフト中に、その時点でコンテンツをロードできることがわかりました。つまり、ロードするデータの長方形領域を単にチェックするのではなく、マップ部分からマップ部分に移動するときにデータをロードおよびロード解除する多数の小さなチャンクにマップを単純に区分します。 今日、彼は、ゲーム内のすべてのグリッドに関するデータを含み、必要のないデータのディスクへの常時保存操作である単純な2D配列マップ[WIDTH] [HEIGHT]を作成したいと言った。 私はこれらのアイデアについて確信が持てず、ここでそれをするかもしれないと思った。このテーマに関するリンク、リソース、チュートリアルは大いに評価されるだろうし、それを効率的に行う方法に関する質問への直接的な回答も歓迎するだろう。
16 game-design  2d  tiles  maps 

2
六角形のゲームグリッドの標高モデル
TL; DR: Civスタイルの六角形グリッドのどこに標高を固定する必要がありますか?中央、側面、または頂点?(またはより複雑ですか?) 適切な質問: シド・マイヤーのアルファ・ケンタウリ、私たち全員が知っていて愛している(たぶん?)古典的なゲームをちょっと考えてみましょう。このマップモデルは、古典的なCivフォーミュラに目に見える地形標高のまったく新しいコンセプトを導入しました。SMACでは、ゲームボードのすべての頂点に標高があり、マインドワームが隅々まで待っていることを考慮して、マップの美しい起伏のある丘を完全に必要とします。 頂点のみの標高マップはきれいに六角形のグリッドに変換されますか? 明らかな代替案は、側面ベースの標高マッピングと中央ベースの標高マッピングです。内側の頂点の標高マッピング(崖の機会を提供します!やった!) 最後のオプションは、三角形格子をゲームグリッドに適用し、中心と頂点を囲み、頂点のみまたは内部の頂点の高度を持ちます。 これらのオプションのどれがうまく機能する可能性がありますか?急いでCPUとRAMからすべてのジュースを吸い取る可能性が高いのはどれですか?

1
2Dゲームのタイルサイズ[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 タイルマッピング方法を使用して小さなゲームを開発しているときに、疑問が浮かびました。 Windowsでゲームを開発しますが、別のプラットフォームへの適応を排除しません。 次の要件を持つタイルマップゲーム(RPGなど)のタイルを作成するために、どのサイズ(ピクセル単位)を使用することをお勧めしますか? タイルが多すぎることなく、許容できる詳細レベルを確保します。 適切なマップサイズを持つ。 ハンドヘルド(PSPなど)、スマートフォン、またはコンピューターでゲームの適応を許可します。細部の損失や速度の低下はあまりありません。 多かれ少なかれ重要なズームイン/ズームアウトを許可します。 ピクセルパーフェクトコリジョンまたはブロックコリジョンを許可するタイルの解像度を持っている。 優れた説明からゲームの例まで、要件に適合する限り有用です。 この質問は少し単純に見えるかもしれませんが、多くのインディーズゲーム開発者が不適切なスケールシーンを使用していることに気付きました。 また、構文が貧弱で、私の質問の語彙が不足していることを残念に思います。英語を母国語としない人は、コンピュータープログラミングについて話すときには役に立ちません。
15 2d  tiles 

3
楽しい等尺性六角形
レンダリング時にいくつかのサイズのピクセルサイズ全体に追加で解決される、最も見栄えが良く、グラフィカルに規則的な等角(押しつぶされた平らな側面)ヘックスを与える角度と長辺/短辺の比率は?

3
タイルの間に線があるのはなぜですか?
トップダウンXNAゲームを作成しています。マップはタイルによって作成されます。私が最近気づいた問題は、タイル間の線の「グリッド」です。カメラの位置に応じてのみ表示されることがあります。XNAにポジショニングを処理させますが、これらの行が表示されるのはなぜですか? 以下に線のある画像を示します。 ただし、カメラを少し動かした後、魔法のように表示されるはずの状態に戻ります。 助けてくれてありがとう! 編集: これは私がソースコードに対してできる最善の方法です。これは非常に大きなプロジェクトであり、レンダリングは複数の領域で行われます。 メインレンダリングループ タイルなどの動的要素の場合: spriteBatch.Begin(SpriteSortMode.Deferred, Nothing, SamplerState.LinearClamp, Nothing, Nothing, Nothing, Matrix.CreateTranslation(CameraX, CameraY, 0)) Mode.Render(spriteBatch, False) For Each j As [Delegate] In DynamicInjectionList j.DynamicInvoke(spriteBatch) Next DynamicInjectionList.Clear() spriteBatch.End() Mode.Render: For x As Integer = 0 To GRIDMAX - 1 For y As Integer = 0 To GRIDMAX - …

1
タイルマップの上に複雑な衝突領域を定義するにはどうすればよいですか?
多くの人が推奨しているように、私はTiledマップエディターを使用してゲーム用のマップを作成していますが、特にlibgdxフレームワークはTiledのマップ用のAPIを提供しているので素晴らしいです。 マップエディターで衝突可能なタイルを定義できるかどうかを定義できるため、コード内の衝突に対処できます。しかし、現在、タイルを衝突可能領域と衝突不可能領域に分割する必要がある状況にあります。手動で、2つの領域の境界のポイントとラインを定義し、プログラムでそれを処理できると思います。しかし、それは多くの時間のかかる仕事です。 それで私はたくさんのグーグルでこの物理ボディエディタを見つけました。これは、上記のプロセスを自動化するための素晴らしいツールのようです。ただし、システムは展開された各イメージで動作し、その操作のためにイメージを展開しても動作するかどうかはわかりません。 衝突領域を定義するこのプロセス全体を実行するより良い方法があるのだろうか。どんな提案も大歓迎です。

2
タイルマップのレンダリング中に不均一なタイルをどのように処理しますか?
ここに、私が確信できないタイルマップで何をしたいのかを示します。ご覧のとおり、上部の壁は下部および側面の壁よりもかなり大きくなっています(これは、[Lのように正方形のような奇妙な形状]であるコーナーと、現在のタイルの40x40px )。 また、タイルに使用しているタイルシートを添付して、他のタイルと比較してコーナーとトップがどのように見えるかを示しています。 私が考えているのは、WxHの代わりに幅と高さのタイルを使用すると、同じ配列を使用してそれらを描画できる可能性があるということです?これがどれだけうまく機能するかわかりませんが、異なる値を持つブロックがプレイヤー/ NPCが踏むことができないブロックであった場合、それは問題ではないかもしれませんが、それが実行可能かどうかもわかりません解決。 私が現在どのように処理しているかを見たい場合の私のコード:Map.java(pastebin)(edit:imはそれを処理していない、つまり現在どのように地図を処理しているかを意味する) tl; dr-2D風のタイルマップを取得して、異なるサイズのタイルに変更するにはどうすればよいですか?または私がやろうとしていることを行うより良い方法はありますか?グーグルで探しているメソッドの名前はありますか?
13 2d  java  tiles  maps 

2
トップダウンRPGの動きに取り組むにはどうすればよいですか?
Javaで書いているゲームがあります。それはトップダウンRPGであり、私は世界の動きを処理しようとしています。世界の大部分は手続き型であり、私は世界中のキャラクターの動きを処理し、画面に変更をレンダリングする方法に取り組むのに苦労しています。私はすべてのタイルを含むブロックにロードされた世界を持っています。 キャラクターの動きにどのように取り組むのですか? 私は困惑し、どこに行けばいいのかわかりません。 編集:まあ私は手元の問題で抽象的だった。 今のところ、すべてを厳密に2D配列に固定し、ブロック内のブロックIDとプレーヤーオフセットを保存することしか考えられません。
13 java  tiles  rpg  movement 

2
多くの小さなコライダーを大きなものに結合する
私は何千ものグリッドの正方形で作られたタイルマップを使用してゲームを作成しています。現時点では、各正方形には衝突をチェックするための正方形コライダーがあります。 しかし、何千もの小さなブロックがある場合、それらすべての衝突をチェックするのは非効率的です。タイルマップが事前にこのように見えることを事前に知っていた場合、数千の小さなコライダーではなく、3つまたは4つの大きなコライダーを使用できたはずです。 多くの小さな隣接するタイルを最大限に大きなタイルに結合するための何らかの標準的なアルゴリズムはありますか?もしそうなら、誰かがそれをここで説明したり、そのようなアルゴリズムに関する文献を指すことができますか? あるいは、この方法でタイルコライダーを前処理することは、完全に間違ったアプローチかもしれません。もしそうなら、非常に多くのコライダーの効率に対処するための正しいものは何ですか?

2
libgdxでテクスチャを繰り返します
繰り返されるテクスチャで領域を埋める方法は?今、私は次の方法を使用しています: spriteBatch.begin(); final int tWidth = texture.getWidth(); final int tHeight = texture.getHeight(); for (int i = 0; i < regionWidth / tWidth; i++) { for (int k = 0; k < regionHeight / tHeight; k++) { spriteBatch.draw(texture, i*tWidth, k); } } spriteBatch.end(); それは非常に明白です。たぶん組み込みのメソッドはありますか?

2
Entity System Frameworkのタイルマップ?
私はEntity System Frameworks、特にArtemisについて読んでいます。私に合っているかどうかを判断しようとしています。私はタイルベースの2Dピクセルアートゲームに厳密に取り組んでいますが、これほどリソース集約型になるとは思いません。過去に多くの継承を伴う標準OOPを常に使用していました。 Entity System Frameworkの現在の理解(まだ完全に把握しているかどうかはわかりません): エンティティはIDに他なりません コンポーネントは、エンティティコンポーネントプールに追加されるダムデータにすぎません システムは、システムコンポーネントシグネチャに一致するすべてのエンティティを処理するために、世界に接続される更新機能です 私の理解が正しければ、このフレームワークにタイルマップとAIビヘイビアツリーを追加する概念化にかなり苦労しています。今後AIについてお聞きします。 このフレームワークにタイルマップを組み込む必要がありますか?または、タイルマップエディターで簡単に生成できるように、個別に保持する必要がありますか? タイルマップをこのフレームワークに組み込む必要がある場合、各タイルは異なるエンティティですか?タイルマップはシステムですか?それとも、タイルマップ自体は、それから構築された継承を持つ単一のエンティティですか? タイルマップが独立している場合、外部タイルマップに対してエンティティを衝突検出する最良の方法は何でしょうか? 私がリストした複数のオプションが正しいかもしれないことを理解していますが、誰かが過去にこれをやったことがあるなら、彼らは私の混乱にいくらかの光を当てることができるかもしれません。たぶん私が考えていない別の選択肢がありますか? ありがとうございました。

5
2Dレベルの設計/編集/保存に関する質問[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 SuperMarioのような単純な2D Sidescrollerゲームを作成することを考えました。次に、ゲームのレベルを保存、ロード、作成する方法について考えました。私が最初に考えたのは、レベルを表す単純なブロック状のpngを描画することでした。これは、プレーヤーが特別な色(おそらくライラック)を歩くことができるすべての部分を作成します。衝突をチェックできるように、ブロックまたはタイルでレベルをインポートします。 私の質問は次の とおりです:これのためのより良い方法はありますか? これの専門的な方法は何ですか? タイルとタイルに基づくマップエディターでこれを行う必要がありますか?(何らかの理由で私はこれが好きで はありませんが、タイルベースのレベルでは、どのように傾斜を実現し、どのように衝突をチェックしますか?

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