ゲーム開発

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

2
3Dポイントを3Dラインに投影するにはどうすればよいですか?
私は2つの点で定義された線を持っているとしましょう、AとのB両方の形で(x, y, z)。これらの点は、3D空間の線を表します。 またP、同じ形式で定義されたポイントがあり、それは行にありません。 その点の線への投影をどのように計算しますか?私は2Dでこれを行う方法を知っていますが、3Dにはすべてのリソースが盗まれているようです。

3
ゲーム開発で使用されるメモリ割り当てパターン
私は独自のアロケーターメソッド(メモリプールやプロファイリングなどをサポートする)の作成を研究していますが、研究を続けるにつれて、ゲーム開発でこれがどのように行われるかを探していました。 どのようなメモリ割り当て手法を使用できますか、なぜそれが優れた手法なのでしょうか?

9
ゲームを完成させる方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私の問題は、ゲームのクローン(練習用)、自分のゲーム、またはその他の問題のプログラミングを開始するたびに、興味を失ったために開発の途中で停止することです。 ゲームの開発、または一般的な開発にどのように関心を持ち続けていますか?

6
3Dパーリンノイズ関数は、地形の生成にどのように使用されますか?
高さの値を生成するために2Dパーリンノイズ関数を使用して頭をラップできますが、3Dパーリンノイズ関数が使用される理由がわかりません。Notchのブログhttp://notch.tumblr.com/post/3746989361/terrain-generation-part-1で、彼はMinecraftでの地形生成に3Dパーリンノイズ関数を使用することについて言及しました。誰がそれがどのように行われ、なぜそれが役立つのかを知っていますか?x、y、およびzの値を渡す場合、それはすでに高さがあることを意味しませんか?

4
最高のPython 3Dエンジンは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 Linuxで簡単に入手でき、使いやすいストレート3D Pythonエンジンが必要です。Soya3Dは、ドキュメントがないために失敗しました。一般的な3Dモデルを問題なくロードできるはずです。
20 3d  python 

7
2Dゲームの場合、Direct3DやOpenGLなどの3D APIを使用しない理由はありますか?
私はかなり長い間趣味のゲーム開発から脱出しました。私がやったとき、ほとんどの人はDirect Drawを使って2Dゲームを作成していました。私がやめた頃には、人々は、OpenGLまたはDirect3Dを使用した正射影が正しい方法だと言っていました。 特に携帯電話だけでなく、XNAプラットフォームでも2Dゲームの作成に戻ることを考えています。OpenGLを使用して何かを作成するには、3D開発に慣れるための(理想的には)小さな学習曲線が必要です。 それをスキップして、代わりにピクセルで塗りつぶす必要がある幅x高さのフレームバッファーがある2Dフレームワークで動作する理由はありますか?
20 2d  opengl  directx 

5
「アメーバ」ゲームメカニックがいます。それを実装する方法についてのアイデアはありますか?
テトリスクローンの外側、安っぽいの2Dトップダウンシューター、およびUnityとFlixelようなものをいじりいくつかは、私が完了するまでには至っていないことを実現し、単一の、研磨、ベル・アンド・ホイッスルゲームを。これを変更したいのですが、次のプロジェクトのアイデアがあります。 アイデアは、あなたがアメーバだということです。アメーバにはこれらの目のようなコア(またはそのようなもの、私は生物学を知りません)があり、あなたはそれらのうちの2つを持っています。で1つを制御しWASD、もう1つをで制御しIJKLます。一定の半径のものが必要です各コアの周囲に。 そして、アメーバの面積は一定でなければなりません。したがって、コアを一方向に移動すると、アメーバの面積が増加しますが、その増加はどこか他の場所での減少によって補われます。 Aaaaaand私は膣のメカニックを実装したいと思います。あなたは上司のようにそれらを飲み込むことで物事を吸収します。たぶん、余分なコア、またはあなたを飛び出させて、あなたの内なるすべてを開始させる針噴出さ: しかし、ここに問題があります。これを作成する方法がわかりません。しかし、私はそれを実装する方法についていくつかのアイデアが欲しいです。Box2Dのような物理ライブラリを調べる必要がありますか?それとも、流体物理学が関係しているのでしょうか?どんな助けでも大歓迎です。 PSこのアイデアを盗んでください。たくさんのアイデアがあります。もしそうなら、どうやって作ったか教えてください。

5
iOSユーザーはゲーム内でFacebookおよびTwitterボタンを使用しますか?
FacebookやTwitterの「共有」ボタンをiOSゲーム内に配置することに成功したかどうかについて、洞察力や経験はありますか?たとえば、ユーザーが高いスコアを取得した場合、FacebookまたはTwitterでスコアを共有するオプションをユーザーに提示します。 ゲームにFacebookまたはTwitterボタンを含めることに対する私の予約/バイアスは次のとおりです。 テキストを自分でフォーマットする機会を与えずに自動投稿するボタンに対する不信感 自分でツイートやFacebookのウォールポストを手動で作成する傾向があるため、私はそれらを使用しません。 一方、このようなボタンの潜在的な利点は明らかに大きい場合があります。質問は単純です:iOSユーザーは実際にそのようなボタンを使用しますか?

2
モデルの周りの奇妙な白い輪郭
私はXNA 4でゲームに取り組んでおり、最近このガイドに従って遅延シェーディングの実装に切り替えました。奇妙な白い輪郭が私のモデルに今現れており、私はこれを引き起こしているものがわからない。通常のレンダーターゲットやデプスレンダーターゲットの精度が不足しているのではないかと思っていましたが、32(カラー)ではなく64ビット(Rgba64)に増やしても役に立ちませんでした。また、鏡面反射の計算に問題があるかもしれないと思ったので、鏡面反射光を0に設定しようとしましたが、それも助けにはなりませんでした。PIXでピクセルをデバッグすると、拡散値がそのピクセルに対してほぼ白として計算されていることがわかります。何か案は?以下に問題の写真を含めました。フルサイズで見た方が簡単です。 ピクセルシェーダー: float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0 { input.ScreenPosition.xy /= input.ScreenPosition.w; float2 texCoord = 0.5f * (float2(input.ScreenPosition.x, -input.ScreenPosition.y) + 1) - halfPixel; float4 normalData = tex2D(normalSampler, texCoord); //Transform normal back into [-1, 1] range float3 normal = normalize(2.0f * normalData.xyz - 1.0f); float specularPower = normalData.a; float specularHardness = …
19 xna  hlsl 

1
Respawnコルーチンの何が問題になっていますか?
プレイヤーがベース/グラウンドから落ちた場合、プレイヤーを最も近いチェックポイントでリスポーンさせる2Dプラットホーマーゲームを作成しています。ただし、プレイヤーが地面から落ちてからリスポーンするまでに遅延が必要です。これは、この目標を達成するための私のコードのセクションです。 private void OnTriggerEnter2D(Collider2D collision) { Debug.Log(collision.tag); if (collision.tag.Equals("Kill")) { StartCoroutine("Respawn"); } else if(collision.tag.Equals("Checkpoint")) { Animator flag = collision.GetComponent<Animator>(); if (!flag.GetBool("hasCrossed")) { flagCounter++; flag.SetBool("hasCrossed", true); checkpoint = collision.gameObject.transform.position; } } } IEnumerator Respawn() { yield return new WaitForSeconds(respawnDelay); transform.position = checkpoint; } これは、1秒または2秒のような小さなリスポーン遅延に対して正常に機能します。しかし、遅延を5秒に増やすと、最も近いチェックポイントに現れたプレーヤーはすぐに消えてしまい、かなりの数の繰り返しの後、プレーヤーが再び現れます。 これは2秒の遅延です これは5秒の遅延です どうすれば修正できますか?
19 unity  coroutines 


7
2Dプラットフォーマーでプレイヤーが押しつぶされていることを検出するにはどうすればよいですか?
#1に示すように、プラットフォーマーキャラクターの衝突をチェックしています。赤い点はチェックされるピクセルで、灰色の線はそれらが関係する軸を示します。この方法で衝突をチェックすることで得られる結果が気に入っています(たとえば、バウンディングボックスに対して)。クラッシュ検出という1つの問題を除いて、すべてが希望どおりに機能します。 次の画像では、水色のボックスは地面を表し、オレンジ色のボックスはオブジェクトを表し、矢印は移動の方向を示します。 プレイヤーが押しつぶされたときを検出する簡単な解決策は、反対側の衝突ポイントが両方ともトリガーしているかどうかを確認することです。もしそうなら、プレイヤーは粉砕されています。#2では、通常のクラッシュシナリオを見ることができます。プレーヤーは接地され、上部の衝突点は落下オブジェクトと交差します。これはクラッシュを引き起こします。 #3、4、および5は、問題のあるシナリオを示しています。#3では、プレーヤーはオブジェクトに向かって移動し、オブジェクトは上に移動します。右側の衝突点がオブジェクトに当たり、衝突を引き起こしてプレイヤーを停止させます。 これで、オブジェクトが上に移動し続け、プレイヤーが右に移動し続けると(#4に示すように)、オブジェクトはプレイヤーの右側の衝突点をクリアし、プレイヤーは右に移動します。しかし、今では、オブジェクトが上部の衝突点と交差しているため、不要な垂直クラッシュが発生しています。 同様のシナリオを#5に示します。2つのオブジェクトは、下部の衝突点をクリアするのに十分離れているため、プレーヤーは落下できますが、側面の衝突点がクリアされるまではできず、不要な水平クラッシュが発生します。 私は解決策に頭を悩ませてきましたが、私が思いついたものは何も特にうまくいきませんでした。 混乱を解消するために、赤い衝突点はスプライト内にあり、灰色の線は各衝突点に関連する軸を示すためにのみ使用されていました。たとえば、キャラクターのスプライトが単純な緑の正方形の場合、衝突点は次のようになります。

5
逆ゲーミフィケーションの用語はありますか?
ゲーミフィケーションは、ゲームの仕組みをゲーム以外のコンテキストに適用するプロセスです。 逆ゲーミフィケーションは、ゲーム内でゲーム以外のコンテキストまたはゲーム以外のメカニズムを使用するプロセスです。 例えば: ゲーミフィケーション -リーダーボード、バッジなどで交通コードを学ぶことができます。 逆ゲーミフィケーション -ゲーム(gtaのようなもの)を作成して、その内部の交通コードを教えることができます。 そのためのより良い用語はありますか?

4
クライアント側のハッキングに抵抗するビジュアルを使用してマルチプレイヤークローキングを実装するにはどうすればよいですか?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細のない回答は、編集または削除できます。 私は、マルチプレイヤーゲームにステルスを実装することを考えてきました。これはMOBAスタイルのゲームなので、League of Legends(LoL)とHeroes of the Storm(HotS)を考えてください。複数のクライアントが単一のサーバーに接続し、すべてのクライアントにゲームの状態をブロードキャストします。クライアントは入力データをサーバーに送信します。サーバーは無効なコマンドに遭遇すると入力データを拒否する可能性があります。 さて、ステルスの実装が異なるため、これらのゲームを意図的に言及します。LoLには2つの状態があります。完全に表示されるか、完全に表示されないかのいずれかです。一方、HotSは、空中にきらめくようにステルスを実装します。 私はこれがきちんとしたメカニックだと思います、それはあなたの環境に注意を払って促進/報酬を与えるからです。しかし、これはマルチプレイヤーゲームであるため、これが容易に悪用される可能性があることを認識しました。 「LoL」方式でステルスを実装すると、他のクライアントへのプレーヤー座標の送信を停止できます。プレイヤーのキャラクターがステルスを破ると、サーバーはその場所を再びブロードキャストできます。ただし、HotSモデルでは、キャラクターが動き回っている空気中にキラキラが見えます。これは、サーバーがプレーヤーの場所を他のクライアントに送信する必要があることを意味します。つまり、テクスチャやモデルを変更したり、ゲームコード自体を変更したりすると、マントのメカニズムが役に立たなくなる可能性があります。これに関するHotSボードのスレッドを次に示します。 私の質問は、巧妙なプレイヤーがゲーム(データ)を変更して「システムを破る」ことができるという問題を抱えることなく、クローキングを実装する方法があるかどうかです。これは可能ですか?できない場合、このメカニックを持つ他のマルチプレイヤーゲームはこれをどのように処理しますか?不可視のLoLスタイルだけが変更不可能ですか? サーバーに偽の「クローク」ロケーションを時々送信させることを考えましたが、これは注意を払っている公正なプレイヤーにも害を及ぼすため、そうはなりません。

2
UnityのSpriteクラスとTexture2Dクラスの違いは何ですか?
UnityにはTexture2DクラスとSprite(関連するSpriteRenderer)の両方があります。これら2つのクラスの違いは何ですか?どちらも画像を表します。2Dゲームの場合、どちらを優先する必要がありますか 使用Spriteしている「ビルボード」クワッドを自分で作成する必要がないという2つの主な違いはありますか?そして、それSpriteは常にカメラに対して直接レンダリングされますか?
19 2d  unity 

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