ゲーム開発

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

2
Unity 3d 4プレイヤー一度に押すことができるボタンは4つだけです
一度に押すことができるボタンは4つだけなので、プレーヤーは時々移動できません 各プレーヤーには独自のコントロールがあります i変更、上向き矢印、およびその他の各プレーヤー用のもの--- v 入力V-VV public string UpArrow; public string DownArrow; public string LeftArrow; public string RightArrow; if(Input.GetButton(UpArrow)) transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetButton(DownArrow)) transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetButton(LeftArrow)) transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime); if(Input.GetButton(RightArrow)) transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
8 unity  input 

1
ウォッチドッグと同様のグリッチ効果を作成する
私は現在LibGDXゲームに取り組んでいます。ユーザーが何か間違ったことをしたとき、私は画面上のすべてのグラフィックスに、ゲームWatch Dogs(以下を参照)で見られるグリッチ/歪み効果と非常によく似たジッタを与えたいと思います。 私の質問はこれです:この効果はシェーダーを書くことによりリアルタイムで達成できますか?もしそうなら、これを行う方法についてオンラインで参考文献はありますか?(私は簡単なGoogleを使っていましたが、Photoshop / After Effectsでこの効果を実現する方法を見つけることができました)。 ご協力ありがとうございました。 画面ジッター:https : //www.youtube.com/watch?v=EYkqC9uI8Nc テキストグリッチエフェクト:https : //www.youtube.com/watch?v= Wj26Wp2AH-U

3
RecastNavigationで、宛先に到達した後にエージェントをアイドル状態にするにはどうすればよいですか?
この質問は、特にRecastナビゲーションライブラリの取り扱いについてです。 でエージェントを追加し、addAgentそのターゲットをで設定しましたrequestMoveTarget。エージェントが宛先に到達すると停止しますが、(別のエージェントによって)押し出されると、ターゲットに戻ろうとします。代わりに、それを停止してアイドル状態にしたいので、他のエージェントがそれを脇に押して歩いたときに、元に戻らないようにします。 (エージェントが目的地に到達したかのように)近くにいることを求めてみresetMoveTargetましたagent.nposがagent.targetPos、それは群衆シミュレーションの内部ロジックを壊しているようです-エージェントは古い方向に歩き続けるだけで、止まることはありません。 RecastNavigationでエージェントを停止してアイドル(まだプッシュ可能)になるように適切に指示するにはどうすればよいですか?

3
プレイヤーが描いた線がパスに沿っているかどうかを確認するにはどうすればよいですか?
ユーザーが辿らなければならない目に見えないパスを描きたいと思います。そのパスをポイントとして保存しました。プレーヤーが線を引いたとき、それが保存したパスをたどっているかどうかをどのようにテストできますか? 文字Aをトレースする例を次に示します。 if((traitSprite.getX()<=Invisible.X && traitSprite.getX()>=Invisible.X )){...} (traitSpriteはスプライトです。)

2
洞窟を生成する高度なセルラーオートマトン
Unityで洞窟を作ろうとしています。これを行うために、私はセルオートマトンを使用しようとしています。私が達成しようとしていることに似ている次の(洞窟のルージュ盆地セルラーオートマトン)を見つけました。 しかし、チュートリアルは完全に私が望んでいるものではありません。このWebサイト(Don Jon Caves)が「海綿」の設定で作成したもの(下の画像を参照)が欲しい。 画像でわかるように、すべてが接続されています。私は数多くの方法とライブラリを試しましたが、何もうまくいきませんでした。 私はしばらくの間この問題に取り組んできましたが、これまでにどんなガイダンスもありがたいと思います。 ありがとう


4
タイルの間にある壁を保管する
私はc ++でアイソメトリックエンジンを書いています。次の図に示すように、より現実的なアプローチを採用し、壁を1つのタイル全体ではなく2つのタイルの間のスペースに配置することにしました(シムズの場合と同様)。 私の問題は、タイルマップ関連のデータをグリッドではないものに保存する方法がわからないことです。この状況では、それをA *フレンドリーにする必要があると思うので、壁で分割されていないタイル間にノードとエッジがあります。ここに私が達成したいことを示す別の写真があります: だからここに質問があります: どうすればよいですか: タイルと壁の両方のマップ全体を保存する レンダリング用に最適化する A *やその他のアルゴリズムに使用して、単純なグリッドに実装するのはかなり簡単ですが、壁(エッジ)を使用して可視性や衝突などを決定しますか?
8 tiles  tilemap  grid 

2
チェスのZobrist転置テーブルを備えたNegaScout
転置表をアルファベータスカウトに配置しようとしています。ゲームの途中または後半に向けて、速度が徐々に向上するのはわかりますが、テーブルサイズが1〜2 GBの場合でも、トランスポーズテーブルからまったく読み取らないよりも遅くなる場合と遅くならない場合があります。また、テーブルなしでまったく同じゲームをプレイする場合、効率的な移動よりも少ないことに気づきます。 私はZobristのキーハッシュをテストしましたが、移動を行って元に戻した後でも正しくハッシュされます。私はそれらが問題であるとは思わない。これらの記事のアドバイスに従って、アルファ/ベータ剪定を設計しようとしました。 http://web.archive.org/web/20070809015843/http://www.seanet.com/~brucemo/topics/hashing.htm http://mediocrechess.blogspot.com/2007/01/guide-transposition- tables.html 誰かが間違いを特定するのを手伝ってくれる?多分私はハッシュからアルファ対ベータをチェックする評価を理解していません。または、1〜2 GBは小さすぎて違いがありませんか。必要に応じて、転置表のコードをさらに投稿できます。 public int alphaBetaScout(Board board, int depth, int alpha, int beta, bool color, bool quiscence) { // !!!! With or without this specific section, and any other Transpose.Insert, doesn't make the game play or evaluate any faster. HashType type = HashType.AlphaPrune; HashEntry h …


2
ゲームのマーケティングおよび販売データを取得するにはどうすればよいですか?
ビデオゲームの収入や販売台数などを予測するために、マーケティングゲームの視点を評価する必要があります。これはかなり不可能な作業のように聞こえるので、同じようなゲームの統計を収集して、 。 特定のプラットフォームでのゲームの販売統計を把握する方法はありますか?たとえば、Steamプラットフォームで利用可能なゲームxyzまたはHumbleBundleで利用可能なゲームabcの統計を収集します。 これは、この目標を達成するための良い習慣になると思います。 編集:最近発行されたSteamSpyは、Steamプラットフォームのゲームに関する多くの統計を提供します。
8 marketing 

2
頂点バッファスチーミングの場合、複数のglBufferSubData VS Orphaning?
私は最近OpenGLを学んでいました。ゲームでは、ゲームオブジェクトの位置を頻繁に更新する必要があり、それらは常に画面に出入りします。そのため、レンダリングでは、頂点バッファーも頻繁に更新する必要があります。 OpenGLのコンテキストでは、1つの直感的な方法は、glBufferSubDataを使用して変更されたものを更新することです。 しかし、私はまた、新しいバッファデータを作成して頂点データ全体をそれにアップロードするOrphaningと呼ばれるトリックをオンラインで読んでいます。 また、州の費用とアップロードの費用により、複数のglBufferSubDataの費用も高くなる可能性があります。 これが私の質問です、 どちらの方法が良いですか? この場合、屋台は本当に重要ですか? この場合、状態の変更とアップロードのコストは本当に重要ですか? ありがとう!

1
物理ベースのシェーディング、鏡面反射パーツと拡散パーツを組み合わせる方法は?
しばらくの間、「標準的な」フォン&ブリンシェーダーを書いた後、最近、物理ベースのシェーディングに手を出し始めました。私を大いに助けたリソースは、これらのコースノート、特にこのペーパーです。これは、ブリンを物理的にもっともらしいシェーディングにする方法を説明しています。 私はこの論文で提案されているブリンモデルを実装しました。提案されている最も重要な変更(imo)は、フレネル反射率を含めることであり、これも問題を引き起こす部分です。残念ながら、著者は拡散反射率を省略して鏡面部分のみに焦点を合わせることにしました。たとえば、ランバート拡散反射を考えると、それを「改善された」ブリンと組み合わせる方法がわからないだけです-拡散部分と鏡面部分を追加するだけではもはや正しくないように思えるからです。 一部のシェーダーでは、関与するメディアの屈折率に基づいて、範囲0〜1の浮動小数点「フレネル項」が使用されているのを見ました。シュリックの近似が毎回使用されます: float schlick( in vec3 v0, in vec3 v1, in float n1, in float n2 ) { float f0 = ( n1 - n2 ) / ( n1 + n2 ); f0 *= f0; return f0 + ( 1 - f0 ) * pow( dot( v0, v1 ), …
8 opengl  shading 


3
グリッドがテトリスのような部分で満たされるようにするにはどうすればよいですか?
形をしたパズルのピース(たとえば、古典的なテトリスの形)でグリッドを埋めることを目的とするパズルゲームを作成しようと考えています。 隙間を残さずにグリッドを埋めるために使用できることが保証されているピースのセットを生成するにはどうすればよいですか?結果のパズルの難易度をスケーリングするために、このアルゴリズムをどのように適応できますか?

3
幅と高さの両方が整数である六角タイルサイズはありますか?
ゲーム開発用の16進タイルの作成を開始するための最適な幅と高さ(ピクセル単位)を把握しようとしています。私の好みは、「フラットトップ」の16進グリッドですが、数学はどちらも似ています。 という事実に基づいて、タイルの幅と高さの両方を丸められたピクセル数にすることができる「最適な」タイルサイズを探していheight = sqrt(3)/2 * widthます。 私の数学のスキルは事実上存在せず、1から1024までの幅を実行するブルートフォーススクリプトを実行しただけで、整数wがどこhであるかについて単一の値が得られませんでした。これは本当ですか?完全な六角形のアスペクト比に対応できる幅と高さのサイズがない場合、ピクセルパーフェクトな六角形タイルを作成するにはどうすればよいですか?

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