ゲーム開発

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

1
2Dサイドスクロールゲームに歪み効果のような偽の3Dを実装する方法は?
私はそれが何らかの後処理効果であると想像しますが、検索する適切な用語やどこから始めるべきかさえ定かではありません。 私のようなゲームを見てきたアイワナがBoshyうとあなた持って勝つゲーム(下の画像を参照)、それらに3D効果のようなものを与えるために、2Dのゲームの視点を変更するために管理します。Boshyは基本的にあなたがタワー(シリンダー)の中にいるように見せますが、ゲームに勝たなければならないので、古いCRTモニターで遊んでいるように見えるように画像をゆがめます。 この効果に用語はありますか? この効果(用語)を実装するための標準的な方法は何ですか? UnityやXNA / Monogameなどの高レベルのエンジン/フレームワークで、20,000フィートのビューからこのような効果を実装するにはどうすればよいですか?(詳細なコードは喜んで受け入れられますが、必要ではありません-実装の詳細は正確に異なる場合がありますが、何をする必要があるかについての高レベルの詳細は大歓迎です) 私はBoshyになりたい あなたはゲームに勝たなければなりません

2
宇宙船の動的スラスタバランシング
私のゲームの宇宙船は、任意の量のスラスタを任意の回転で任意の場所に取り付けてプレイヤーが構築することを意図しています。現在、船を所定の角度に回転させる(加速と減速)ための汚いコードがあります。 これは、赤い線が指す場所に面し、左に回転するように指示された対称的な船の例です。 しかし、ご想像のとおり、プレイヤーがスラスタをどこに置いたかによっては、望ましくない直線的な力が船に影響を与えることがあります。この場合、船は前進し始めます。 スラスタが線形速度を発生させないために適用できる最大推力を見つけることができるかどうかについて詳しく説明しています。(上記の場合、後部スラスタからの力に対抗するものが何もないため、それはありません。前部スラスタは互いに殺します)。 これまでに思いついたのは、「回転効率」を決定する式です。たとえば、直線運動に関連してどの程度の回転が発生するかです。 a-スラスタaへの位置ベクトルb-スラスタbへの位置ベクトルv1-スラスタaからの力v2-スラスタbからの力 EfficiencyDelta = a.cross(v1)/ | v1 | -(a.cross(v1)+ b.cross(v2))/ | v1 + v2 | 、基本的に「a.cross(v1 * t)/ | v1 |」ターン効率となるはずです。そして、新しいスラスタを発射する価値があるかどうかを確認するために、スラスタの回転効率を合わせて差し引きます。 スラスタがオン/オフになっているわけではないことを認識したときに問題が発生しますが、スラストを0から1に変えることができます。また、プレイヤーが船を前進させたい場合の対処方法 もちろん、回転/移動する量のバランスが必要です。 私はロケット科学者ではないので、各スラスタのスロットルをこのように計算し、正しい方向にプッシュすることが可能かどうかを教えてくれる人がいることを望んでいます。 お時間をいただきありがとうございます!/キム

1
プラットフォーマーゲームでは、「地面の穴」の障害とは何ですか?
ほとんどのジャンプアンドランゲームでは、地面の穴が一般的な障害です。それらを飛び越える必要があります。そうしないと、転倒して命を失います。 ドキュメンテーション、変数の命名、および議論のために知っておくと役立ちます:それらの穴は何と呼ばれていますか?

2
Farseerで爆弾を爆発させて、近くのオブジェクトを押しのける方法はありますか?
Farseerで爆弾の爆発を作成しようとしています。爆弾用の円を作成しました。ただし、爆弾が爆発した場合、爆発の巨大な力によって押し戻されるため、周囲のオブジェクト(物体)は飛び去ります。しかし、私はその力をどのように作成するかわからない-どうすればそれを行うことができますか?

2
プレーヤーが停止したときに、ローカル入力予測によるプレーヤーのドリフトを停止するにはどうすればよいですか?
私は2Dサーバークライアントマルチプレイヤーゲームエンジンに取り組んでいます(こちらで試すことができます)。WebRTCを使用しDataChannelます。(接続はピアツーピアですが、ホストピアはサーバーとして機能します。) (接続性を除く)最大の問題は、ローカル入力の予測です。通常の操作:キーを押すと、プレイヤーは即座に移動し、どのキーが押されたかをホストに伝え、ホストからデータを受け取り、それを過去の位置と比較します。差異がある場合、位置は時間とともに修正されます。これは、pingが高い場合でも、低いパケット損失またはPDVでうまく機能します。 損失またはPDVがある場合、偏差は大きくなる可能性があります。これは、入力の変更を示す最初のパケットが遅延またはドロップされた場合、ホストが後で検出し、ローカル入力の予測よりも遅れてそのプレーヤーの変更を開始するためだと思います。 プレーヤーが動いている場合は、目立たないため、適用される修正の量を増やします。これは、移動を開始するときと移動しているときにギャップを埋めるようです。ただし、修正が突然停止した場合、修正はより顕著になります。その後、ホストが後で停止したとPDVまたは損失が意味する場合、ホストはオーバーシュートし、少し先に進んでいるというデータを送り返し、修正によりプレイヤーは少しドリフトします。不安定な接続では、プレイヤーはしばしば停止した後に顕著にドリフトします。 私は他のゲームでこれに気づいていません。これをどのように軽減できますか?

6
多くの属性を持つヒーロー向けのOOPアーキテクチャ
他の人と(受動的に)戦うことができるキャラクターで、単純なブラウザーテキストRPGを開始しようとしています。これには、強さ、器用さなどの約10のスキルのリストが含まれ、さまざまな武器の追加の熟練度が含まれます。 これらのスキルをクラス属性として持つだけで、このキャラクタークラスを設計するより良い方法はありますか?簡単そうに思えますが、不器用なので嫌がります。 class Char(self): int strength int dexterity int agility ... int weaponless int dagger ...
14 architecture  oop 

2
World Healing Waveエフェクトを作成するにはどうすればよいですか?
ゲームキャラクターの周囲に幸せな背景が表示されるように、暗くて憂鬱な背景を幸せな草で覆われた背景にリアルタイムで変更したい。 幸福の力場。 カスタムビューでキャンバスにレンダリングするときに、これを可能な限りパフォーマンスの高い方法で実行するにはどうすればよいですか? 更新: これは私の頭の中でどのように機能するかです: private int hModeX, hModeY; private float hModeRadius = 0.1f; private float hModeStart = 0; happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true); hModeX = getWidth()/2; hModeY = getHeight()/2; private void initHappyMode(Canvas canvas){ hModeRadius = 75 * thread.getDelta(); if(hModeRadius > 500) { hModeStart = timestep; //What is timestep? } …

2
カメラの代わりに銃から銃弾を撃ちながら、レチクルに対して正確に保つ
私は一人称ゲームに取り組んでいますが、問題に遭遇しました。私のゲームでは、プレイヤーの銃がレンダリングされ、画面の中央にレチクルがあります-このように: まず、レンダリングされる銃のモデルがなかったと想像しましょう。その後、弾丸を発射するのは簡単です-プレイヤーの「目」が正確にある場所に弾丸をスポーンし、次にトリガーを使用して、プレイヤーが見ている方向に基づいて速度を計算します。 しかし、今、銃のモデルを追加するとき...プレイヤーの目があるところに弾丸をスポーンするだけではなく、銃の先端にスポーンする必要があります(右?)。だからあなたはそれをしますが、その後...レチクルが指していた場所にヒットするように弾丸をどのように移動しますか? 私のゲームの弾丸(この場合は実際にはロケットです)はその動きが見えるほどゆっくりと移動するので、弾丸が観測するには速すぎる場合に通常機能するいくつかの回避策が機能しないことに注意してください。たとえば、スポーンしなかったため、銃の先端から出てきているように見える場合、プレイヤーは間違いなくそれに気づくでしょう。

3
ゲームの実際の地図データはどこで入手できますか?
ゲームマップを実際のマップにオーバーレイするIngressに似たコンセプトのゲームを構築したい。 そのようなアプリの地図データはどこにありますか?自分のゲームオブジェクトをそのマップにどのように(一般的に)統合しますか?ゲームオブジェクトはリアルタイムで移動する必要があるため、マップ上で静的マーカーとして使用するだけでは不十分です。 Googleマップを使用できると思っていましたが、Googleが提供する公式APIを使用して独自のグラフィカルスタイル(Ingressが行ったような)を作成することは不可能だと言えます。
14 maps  realtime 

5
プレイヤーコミュニティがあなたを嫌うことなく何かを弱体化する方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 オンラインゲームをどれほどうまく概念化しても、常に特定のゲームプレイ要素が存在し、それが非常に圧倒されてゲームプレイを支配します。 その場合の明らかな解決策は、更新を行い、そのゲームプレイ要素を弱める(「弱める」)ことです。 しかし、開発者がこれを行うと、多くの場合、プレーヤーコミュニティの間で怒りが生じます。プレイヤーは、その圧倒的なゲームプレイ要素を使いすぎてゲームを支配するのが好きでしたが、今ではゲームのプレイ方法が変わって永遠に台無しになっていることに怒っています。弱体化後のゲームは客観的には良いかもしれませんが、多くのプレイヤーにとって、人間の変化に対する自然な抵抗はこのポジティブな効果を上回ります。 プレイヤーの怒りを引き起こさずにバランスの間違いを修正するにはどうすればよいですか?

1
ゲームにショットガンを実装する方法は?
ピストルと機関銃は簡単です-弾丸を特定の方向に飛ばすことができるので、すでに実装しています。一方、ショットガンは、特定のエリア内のコーンのようなものにダメージを与えます。どうすれば実装できますか?ここにいくつかの提案がありますが、いくつかのアドバイスを使用できます。 弾丸を複数の小さな弾丸に分割します。小さな弾丸は、それ自体によるダメージは小さくなりますが、同じ方向に飛んでいきます(敵に近づくほど、攻撃される可能性が高くなります) 弾丸を使用しない-ショットガンショットのパーティクルエフェクトを設定し、位置/方向などに基づいて敵が受けるダメージを計算します。 物にダメージを与える大きな目に見えない弾丸(たとえば立方体)と、実際にはショットガンショットのように見えるパーティクルエフェクトがあります。 前もって感謝します!
14 c#  unity 

2
エンティティ/コンポーネントシステムとUI「エンティティ」
エンティティ/コンポーネントシステムにはまだグリーンです。私はスプライト(またはスプライトシート)を描画し、入力(マウス/タッチクリック)を処理するための便利なコンポーネントを持っているので、当然これらを再利用してUIコンポーネント(レベル選択画面などのボタンなど)を作成したいと思います。 これは非常に奇妙に思えます。エンティティは、プレイヤー、敵、パワーアップなどの「ゲームモデル」として常に理解されていました。一方、コード再利用の観点からは、UIのコンポーネントを再利用することは理にかなっています。 UI / GUIの懸念はどのように(そしてどこで)エンティティ/コンポーネントシステムに適合しますか? (注:この質問は、複数のプラットフォーム/言語に適用されるため、プラットフォームに依存しません)

2
大きな頂点バッファーと複数の描画呼び出し
OpenGLを使い始めたばかりで、それを使用して2Dゲームを作成しようとしています。このゲームでは、非常に多くのさまざまな色の六角形で構成される六角形のグリッドがあります。初心者のOpenGLプログラマーとして、このグリッドを描くには2つの方法があります。 単一の六角形のデータで頂点バッファーを使用し、均一なオフセット値を使用してCPUを反復処理し、グリッドができるまで同じプログラムを何度も描画します。 1回の呼び出しですべての六角形を描画する、非常に大きな事前計算済みの単一の頂点バッファーを作成します。 最も効率的な方法は何ですか?これを行うより良い方法はありますか?
14 opengl  shaders 


3
ビデオゲームで発射物を表現するにはどうすればよいですか?
私がやっているプレゼンテーションの一環として、「ガラガ」に似たシンプルな固定シューティングゲームを作成しています。宇宙船から発射されたレーザーのような発射体を追跡するために人々がどのような戦略とデータ構造を使用するのだろうかと思っています。以前に使用した非常にシンプルな実装は、各発射物をポイントとして表現し、シーン内のすべてのオブジェクトとの衝突をチェックすることです。 ただし、これは多くの発射物がある大きなシーンではコストがかかるようです。このタイプのユースケースには、他のタイプの戦略や実装がどのように使用されているのでしょうか。FPSのようなゲームは、発射体(弾丸、戦車の砲弾など)の追跡に何を使用しますか?

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