ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

3
不規則なしみのある形状を描くアルゴリズムのアイデアが必要
X、Yグリッドに不規則な形状を描きたいのですが、可能であれば、シンプルで高速な方法を考えたいと思います。これまでの私の唯一のアイデアは、互いに非常に近いランダムなサイズの円の束を描画し、多かれ少なかれ中心座標からランダムな距離で離してから、空白スペースを埋めることです。私はこれが不格好で洗練されていない方法であることを理解しています。うまくいけば、私が撮影している丸みを帯びた、ランダムなしみのある形状の種類の大まかなアイデアが得られるでしょう。これを達成するための方法を提案してください。私はコードにはあまり興味がありません。私はその部分を自分でヌードルにすることができます。ありがとう!

3
ボール対45度のスロープ衝突検出
プレーヤーがボールを動かす簡単なゲームがあります。ボールは壁から跳ね返ります。現在、正方形の壁が実装されています(■)。単純な境界ボックスの衝突を使用して、xまたはyの速度を更新するときにプレーヤーが壁に移動するかどうかを確認し、そうであれば、速度に-1を掛けて跳ね返らせます。 ただし、三角ピース(◢◣◤◥)も実装したい。立ち直るには、次のように使用できると思います。 newxspeed = -1*yspeed; newyspeed = -1*xspeed; しかし、私が問題を抱えているのは衝突検出です。プレイヤーはいつ対角線を攻撃しますか?

7
偽のランダム分布を作成しますか?
時々「本当の」ランダムなイベントは不公平に見え、プレーヤーを不満にさせることがあります。たとえば、敵は20%の確率でダブルダメージ(クリティカルヒット)を引き起こします。したがって、彼は1/725の確率で連続して4つのクリティカルヒットを行うことができました。思ったほど小さくはありません。 各ヒット後に確率が調整されることを願っています。プレイヤーがクリティカルヒットを得たばかりの場合、次のヒットの確率は減少します。それ以外の場合は増加します。 この動作の数学モデルはありますか?

2
マップエディターのレイヤーの目的は何ですか?
Tiledなどの地図編集者について質問があります。私は現在、独自のマップエディターを作成しています。たとえば、タイル張りにレイヤー化する目的は何か教えてもらえないかと思います。マップの作成にはどのような目的がありますか?
8 tiles  maps 

2
温度、痛み、におい、味覚、空腹感、喉の渇きなどの感情を没入的に表現する
完全に没入型のシミュレーションタイプのロールプレイングゲームでは、プレーヤーは自分の統計を追跡するために小節や数字を見てはならないため、これらの統計を表示する別の方法が必要です。たとえば、ゲームは(現在)空腹感を誘発することができないため、プレイヤーはいつ食べるかを知る必要があります。プレーヤーはまた、彼らが傷ついているかどうかを知る必要があるので、彼らは適切な措置をとることができます。 どういうわけか、これらの感情は視覚的または聴覚的に表現されなければなりません。私は、画面を着色したりぼかしたりして、ほとんどの一人称視点のシューティングゲームがあなたが撃たれたことをどのように見せるかのような感覚を示すのが好きではありません。これらの感情を没入的に表現するいくつかの方法は何ですか?

3
再利用可能なトップダウン衝突クラス
私は最近、モノゲームを始めて、簡単なトップダウンゲームに取り組んでいます。 マウスを追跡するための動きと回転を整理しましたが、衝突に悩まされています。 私が知りたいのは、基本的に次の2つです。 衝突を処理する最良の方法は何でしょうか?Rectangle.Intersects(Rectangle1, Rectangle2)重なり合う四角形が返されることはわかっていますが、上から下への移動はx / y軸上にあるため、衝突が発生している場所を知りたいので、プレーヤーが取得しないような「壁のスライド」を作成できます壁で立ち往生。 プレーヤーのx / y座標をソリッドオブジェクトの座標と照合して確認し、ソリッドオブジェクトの境界に入る場合は、プレーヤーを以前の位置にスローしますか?あなたは何を提案しますか? すべてのソリッドやnpcなどに衝突を適用する最良の方法は何でしょうか?私は現在gameObject、すべてのオブジェクトが継承するクラスを作成し、そこで衝突を処理することを考えています。 読んでくれてありがとう、誰かが私にいくつかのヒントをくれることを願っています。

1
フル解像度のテクスチャを同じ解像度のウィンドウに描画するにはどうすればよいですか?
画像は1280x800、画面サイズは1280x800です。それは完全に描画する必要があります。画面サイズのクワッドを作成し、クワッドに合うようにテクスチャを設定しています。しかし、現在のところ、画面の左上隅に四角形のテクスチャが描画されています。これは、スケール外で十分な大きさではありません。 なぜ機能しないのかわかりません。描画するときにテクスチャのサイズを大きくしてみましたが、ある程度機能するようですが、描画するときに機能しないのはなぜですか。 1280x800クワッド。 フルスクリーンのクワッドを作成するにはどうすればよいですか? これが私が現在やっている方法です: これは私のOPENGLとディスプレイのセットアップコードです。 DisplayMode displayMode = null; DisplayMode[] modes = Display.getAvailableDisplayModes(); for (int i = 0; i < modes.length; i++) { if (modes[i].getWidth() == World.SCREEN_WIDTH && modes[i].getHeight() == World.SCREEN_HEIGHT && modes[i].isFullscreenCapable()) { displayMode = modes[i]; } } Display.setDisplayMode(displayMode); Display.setFullscreen(false); Display.create(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0, World.SCREEN_WIDTH, World.SCREEN_HEIGHT, 0, 1, …
8 opengl  java  lwjgl  slick 

2
レベルの設計をいつ開始すべきですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 私はパズルゲームに取り組んでいます。私はコアメカニックを考え、それを実装し、調整しました。 UIやサウンドなどを扱う前に、いくつかのレベルを構築したいのですが、最初に他のことを整理する必要があるかどうかはわかりません。 物語 ゲームにはストーリーがあります(他の多くのパズルゲームとは対照的です)。事は、私はそれがどうあるべきかについての基本的な考えを持っているだけで、詳細なことも書かれていません。 最初にストーリーを詳細に練る必要がありますか?作成する前に、最初の5つのレベルでどのアークを伝えたいかを理解してください。それとも、ストーリーはパズルゲームでいくらか直交していて、私は先に進んでいくつかのレベルを構築できますか? 要素 コアメカニックを評価するために、ゲームプレイの要素、つまり操作できるオブジェクトのかなり最小限のセットを考えました。 物事を最小限に抑え、それらだけでどれだけの成果が得られるかを確認したいのですが、それは正気ですか?事前に必要な要素について長く考えなければならないのでしょうか。または、構築しているレベルに何かが足りないと感じたときに追加する必要がありますか? 結論:最初の数レベルを設計する前に何をすべきですか?

2
トラクタービームを実装するには?
私は、プレイヤーがトラクタビームのようなものを使用してオブジェクトを拾い、それらを持ち運ぶことができるゲームに取り組んでいます。 ビームの中心に向かってオブジェクトを引き付けることは難しくありません。しかし、オブジェクトが中心に十分近づいたら、プレイヤーが動いている間、オブジェクトをそこに置いておく必要があります。これが問題です。それを行うには2つの方法が考えられますが、どちらにも問題があります。 プレーヤーの位置が変更されるたびにオブジェクトの位置を更新し、ビームの中心に配置します。 オブジェクトの速度を更新して、ビームの中心を直接指すようにすると、遠ざかるほど速度が上がります。 移動と回転はどちらの方法でも問題なく機能しますが、運ばれたオブジェクトが他のオブジェクトと衝突すると、物理学は正しくありません。 最初のアプローチでは、物理学は完全に無視されます。運ばれたオブジェクトは、何でも邪魔にならないように押し出します。位置の変更は、速度に基づいて、世界の物理学の一部としてのみ行われることになっているためです。 2番目のアプローチでは、物理学は基本的には本来あるべき振る舞いをしますが、過剰反応します。問題は、回転して移動しているときでも、運ばれたオブジェクトをビームの中心に保つために、高い速度値を使用する必要があることです。したがって、運ばれたオブジェクトが別のオブジェクトに触れると、衝突によって速度が大きくなりすぎます。 これを適切に実装するにはどうすればよいですか?現在の私の推測では、2番目のアプローチを使用して、運ばれたオブジェクトの特別な処理をワールドフィジックスに追加し、衝突時またはプレーヤーが持ち運びを停止したときに速度を正解値に下げることです。しかし、それはかなり洗練されていない回避策のようです。 編集:いくつかの疑似コードを追加して、それが現在どのように機能するかを示します(上記の2番目のアプローチになります) void attract_object(object, ticks) { Vector distance = beam_center - object.center; // If the object is not close to the beam center, attract it slowly if (magnitude(distance) > 10) { object.velocity += distance.normalized() * ticks * 0.1; return; } // Here comes …
8 2d  physics 

2
UpdateSubresourceとMap / Unmapの使い方は?
私が理解したこと(さまざまなページを読んだこと)から、バッファを更新する方法は2つあります。 UpdateSubresource()(DEFAULT使用法でバッファが作成された場合) Map()、新しいデータをコピーしますUnmap()(DYNAMIC使用法でバッファが作成された場合) 最初のケースでは、この1つの関数のみを呼び出しますか?バッファをマップしてからサブリソースを更新すると人々が言うのを見たことがあるので、あるいは私はそれらを誤解しているかもしれません。 また、他に方法はありますか(疑わしいです:P)?私は物事を正しく理解していますか?
8 c++  directx11 


1
Javaでの高さマップ用の高精度(8ビットの符号なし整数)バッファーイメージの使用
openCLでクワッドツリーのすべてのクワッドの高さマップを生成しています。私がイメージを作成していた方法は次のとおりです。 DataBufferInt dataBuffer = (DataBufferInt)img.getRaster().getDataBuffer(); int data[] = dataBuffer.getData(); //img is a bufferedimage inputImageMem = CL.clCreateImage2D( context, CL_MEM_READ_WRITE | CL_MEM_USE_HOST_PTR, new cl_image_format[]{imageFormat}, size, size, size * Sizeof.cl_uint, Pointer.to(data), null); これは問題なく動作しますが、主な問題は、クワッドが次第に小さくなるにつれて、バッファされたイメージの8ビット形式が次のように許容できない「ステッピング」問題を引き起こし始めることです。 私がこれをやり遂げることができる別の方法があるかどうか私は思っていましたか? 時間をありがとう。
8 java  heightmap 

1
多数の同じオブジェクトを描画するための最も効率的な方法ですが、変換は異なります
多数(数千)の単純なメッシュ(多分...最大で50の三角形ですが、それでも非常に大きな上限)を描画したいと思います。これらはすべてまったく同じです。 単純な力ずくの方法として、今は何千もの描画呼び出しを行っています。シェーダーが必要とする変換行列を変更してから、同じオブジェクトをもう一度描画します。 もちろん、これはひどく遅いです。(私が推測しているように)ドライバーと私のPCの描画呼び出しが多すぎて効率的に処理できないためです。 それを速くするために私は何ができますか?
8 opengl 

2
RPGで「アイテムの識別」機能を実装する方法
多くのゲームでは、識別されていないアイテムを使用できないアプローチがあります。そして通常、それを使用するだけではそれを特定することはできません。このアプローチは多くのことを単純化しますが、私には正しくないと感じます。魔法の特徴があるかどうかわからないので、鎧や剣を装備できないのは意味がありません。 ある種の「使用による識別」システムについて考えていましたが、自然な方法がわかりません。「スピーチ」スキルを一定期間強化するポーションを飲むとどうなりますか?私のキャラクターは、そのスキルが向上したことを即座に知る必要がありますか?正確な値を知っている必要がありますか?または、裏でスキルを増やして、表示された値をそのままにして、わずかなヒント(「突然(...)」)を与える必要がありますか? 武器や鎧はどうですか?装備するだけでは何も知りません。1つのアプローチは、ターゲットを攻撃すると、与えられたダメージに基づいて武器の最小および最大ダメージを更新できるが、それはターゲットの防御と抵抗に大きく依存します(それが悪いことかどうかはわかりません)。 もちろん、識別スクロールのような従来の方法があり、私はそれらを持っていますが、私はいくつかの代替案を望んでいました(ただし、置き換えではありません。 誰かがこれについて考え、洞察を共有できますか?

2
2つの深度を持つゲームオブジェクトをどのように処理しますか?
画像に表示されているものを壁1つでできるようにしたいと考えています。プレイヤーは同じオブジェクトのどちら側でも歩くことができるはずです。つまり、同じ壁が主人公から降りたときは主人公の下にあり、上から来た場合は主人公の上にあります。 同じ壁の2つの深さのようなものなので、それを前後に描くだけの問題ではありません。オブジェクトを2つにカットすることもできますが、これは簡単な(そしておそらく計算コストがかかる)ソリューションです。どうすればよいですか?
8 2d  draw-order  depth 

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