ゲーム開発

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

6
自分のキルカムを作成する
サンドボックスツールセット用に独自のキルカムシステムを作成する予定です。しかし、キルカム自体の仕組みについて考えた後、私はかなり迷っています。私は、殺人者の視点から実際の殺人シーンを示す、コールオブデューティゲームで一般的に見られるものを再現しようとしています。 私の考え: -人々が他人を殺したとき、「記録プロセス」をいつ開始するかわからないので、私はただ記憶を保つことができません。誰かが誰かを殺そうとしている時期を正確に判断する方法があります。 -これまでのところ、私の唯一の本当のアイデアは、すべてを完全に複製し、10秒遅れで元の世界からのすべての動きをコピーすることです。そうすれば、すべてのキルカムは10秒の長さになり、人物カメラは殺人者の第二世界に移動するだけです。 私の質問: これを行う方法はすでに受け入れられていますか?誰かがこのような何かのための良いアイデアを持っていますか?できたらありがとう!
15 camera 

1
Frostbiteのようなエンジンは、初期の初期段階ではどのように見えますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 私はバトルフィールドでのプレイをとても楽しんでおり、その見た目や音に感動しました。私はゲームエンジンが何から生まれるのか不思議に思っていました。コードを書く時点で最終的に何かを行い、すべてのテクスチャ、ライト、パーティクルを完全にレンダリングし始める前に何をしましたか? 良い記事、オンライン、または誰かが見た例はありますか?

3
ぼやけることなくOpenGLテクスチャを拡大縮小するにはどうすればよいですか?
LWJGLを介してOpenGLを使用しています。 16x16で16x16テクスチャのクワッドレンダリングがあります。スケール量を変更すると、クワッドは大きくなり、大きくなるにつれてぼやけます。 Minecraftのように、ぼやけることなく拡大縮小する方法を教えてください。 RenderableEntityオブジェクト内のコードは次のとおりです。 public void render(){ Color.white.bind(); this.spriteSheet.bind(); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0,0); GL11.glVertex2f(this.x, this.y); GL11.glTexCoord2f(1,0); GL11.glVertex2f(getDrawingWidth(), this.y); GL11.glTexCoord2f(1,1); GL11.glVertex2f(getDrawingWidth(), getDrawingHeight()); GL11.glTexCoord2f(0,1); GL11.glVertex2f(this.x, getDrawingHeight()); GL11.glEnd(); } そして、ここに私のゲームクラスの私のinitGLメソッドからのコードがあります GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glClearColor(0.46f,0.46f,0.90f,1.0f); GL11.glViewport(0,0,width,height); GL11.glOrtho(0,width,height,0,1,-1); そして、これが実際の描画を行うコードです public void start(){ initGL(800,600); init(); while(true){ GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); for(int i=0;i<entities.size();i++){ ((RenderableEntity)entities.get(i)).render(); } Display.update(); Display.sync(100); if(Display.isCloseRequested()){ Display.destroy(); System.exit(0); } } }
15 opengl  java  lwjgl  slick 

2
(原点ではなく)3Dの任意の点を中心に回転するにはどうすればよいですか?
四元数を使用して通常の方法で回転させたいモデルがいくつかありますが、原点を中心とした回転の代わりに、わずかにオフセットする必要があります。3D空間では、点を中心に回転するとは言わないことを知っています。軸を中心に回転すると言います。そのため、尾がローカルの原点にないベクトルを中心に回転するように視覚化しています。 レンダリング/物理エンジンのすべてのアフィン変換は、SQT(スケール、クォータニオン、翻訳、ゲームエンジンアーキテクチャの本から借用したアイデア)を使用して保存されます。したがって、これらのコンポーネントからフレームごとにマトリックスを構築し、頂点シェーダーに渡します。このシステムでは、平行移動、次に拡大縮小、回転が適用されます。 特定のケースでは、ワールド空間でオブジェクトを変換し、スケーリングし、オブジェクトのローカル原点を中心にしない頂点を中心に回転する必要があります。 質問:上記の現在のシステムの制約を考えると、原点以外の点を中心としたローカル回転をどのように実現できますか?マトリックスのみを使用してこれを行う方法を説明できる人への自動アップ投票:)

6
ゲームコンポーネント、ゲームマネージャー、オブジェクトプロパティ
私は、コンポーネントベースのエンティティ設計に頭を悩ませようとしています。 私の最初のステップは、オブジェクトに追加できるさまざまなコンポーネントを作成することでした。すべてのコンポーネントタイプに対して、iにはマネージャーがあり、マネージャーはすべてのコンポーネントの更新機能を呼び出し、必要に応じてキーボードの状態などを渡します。 次にしたことは、オブジェクトを削除し、各コンポーネントにIDを持たせることでした。したがって、オブジェクトは同じIDを持つコンポーネントによって定義されます。 今、私はすべてのコンポーネントのマネージャーは必要ないと考えています。たとえばSizeComponent、Sizeプロパティを持っているだけです。結果としてSizeComponent更新メソッドはなく、マネージャーの更新メソッドは何もしません。 私の最初の考えはObjectProperty、コンポーネントをコンポーネントのプロパティとして持つのではなく、コンポーネントがクエリできるクラスを持つことでした。だから、オブジェクトが多数を持っているでしょうObjectPropertyし、ObjectComponentます。コンポーネントには、オブジェクトのプロパティを照会する更新ロジックがあります。マネージャーは、コンポーネントの更新メソッドの呼び出しを管理します。 これはオーバーエンジニアリングのように思えますが、マネージャーがどのオブジェクトにどのコンポーネントロジックを実行する必要があるかを知る方法が必要なので、コンポーネントを取り除くことができるとは思いません(そうでなければコンポーネントを削除するだけです更新ロジックを完全にマネージャーにプッシュします)。 この(持っているObjectProperty、ObjectComponentとComponentManagerオーバーエンジニアリングクラス)? 良い選択肢は何でしょうか?

1
OpenGL(LWJGL)でHUD / GUIを作成する
ゲーム開発の段階で、HUDまたはGUIを作成する必要があります。私はこの部分に行ったことがないので、どのように行われたのかわかりません。画面上の固定位置に単純な四角形をレンダリングしようとしましたが、問題があります。カメラを正投影で動作させるには、次を使用します。 public void lookThrough() { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(position.x, position.x + Display.getDisplayMode().getWidth()/zoom, position.y + Display.getDisplayMode().getHeight()/zoom, position.y, -1, 1); GL11.glMatrixMode(GL11.GL_MODELVIEW); } この方法を使用して画面上で何かを修正する方法がわかりませんか?これを回避する方法はありますか?ありがとう:)
15 opengl  java  gui  lwjgl 


5
弾丸リリースと発射アニメーションを結び付ける方法
弾丸を発射するときに発生させたいアニメーションがあるとしましょう。アニメーションの最後に弾丸をどのように表示しますか。私が理解できる唯一のことは、アニメーションの時間の長さを知り、その時間が経過するまで弾丸の位置の設定とアクティブな設定を遅らせることです。これが最善のアプローチかどうか疑問に思っていましたが、他の誰もこれをどのように扱っていますか? 編集:私は質問を適切に表現するのに問題があると思う。
15 2d  animation  release  timing 

6
プレイヤーを同じマスに同時に移動しますか?
2 x 2の正方形のグリッドを考えます。次の場合、プレイヤーは広場に移動できます。 次のターンに他のプレイヤーは広場に移動したくない 他のプレイヤーは誰も待っておらず、このターンはまだ広場を占領しています 私の問題を説明するために上の画像を含めました。 プレイヤーは同時に動きます。 2人(またはそれ以上)のプレイヤーが同じマスに移動しようとした場合、どちらも移動しません。
15 turn-based 

9
学ぶべき優れたオープンソースゲームとは何ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 オープンソースゲームのソースコードをダウンロードしたいので、ゲームアーキテクチャに慣れることができます。ソースコードが読みやすく、簡単に理解できるゲームを知っている人はいますか? 編集:少し考えてから、デスクトップまたは2Dグラフィックスを搭載したAndriod電話でプレイできるゲームを作りたいと思います。

3
ソフトウェアレンダリングはどのように行われますか?
リアルタイムソフトウェアベースのラスター化を検討したいと思います。最近はすべてがGPUに向かっていることは知っていますが、ソフトウェアレンダラーを使用するのが理にかなっているゲームがいくつかあります。 例:ボクセルトロン Voxatronは、ボクセル(小さな立方体など)で作られた世界で行われるアリーナシューティングゲームです。ゲーム内のすべては、メニューやプレーヤーのインベントリなど、仮想128x128x64ボクセルディスプレイに表示されます。よく見ると、インベントリ(スコア/ライフ/弾薬)が地面のオブジェクトの一部に影を落としているのを見ることができます。 私は、ボクセルレンダリングとモデリングツールに長い間取り組んでおり、大規模な冒険アドベンチャーゲームを作成するという究極の目標を掲げています。約半年前、それは私がConfluxのアリーナ射手で行っていた仕事と融合しました。これが結果です。 これは非常にシンプルなゲームです。ほとんどの場合、Robotronは3次元の破壊可能な世界で、間抜けな生き物と一緒に設定されています。破壊性の影響がゲームプレイにどれほど大きな影響を与えるかはわかりませんが、壁の破片を吹き飛ばすのは楽しいことです。また、怖いモンスターから身を隠すための障壁を構築するために使用できる実験的な壁構築ピックアップを追加しました。 ゲームは小さなアリーナで行われます。そのうちのいくつかは、ナイトロアとスマッシュテレビの間にあるアクションセットを備えた部屋を備えています。これは、元の冒険に基づいたデザインの一部であり、テーマの環境を作成するための言い訳です。 特徴: ソフトシャドウを使用したカスタムソフトウェアレンダリング。 内蔵のサウンドおよび音楽シンセサイザー(予告編音楽の作成にも使用)。 ゲームの記録の再生と投稿。

3
Animal Crossingのような「落下」3D地形を作成するにはどうすればよいですか?
Animal Crossingには、世界地図をスクロールするユニークな方法があります。キャラクターが下に移動すると、世界は段ボールのチューブにくっついているように、上部を回転します。 このビデオは、それがどのように動くかを示しています。 この効果を作成するにはどうすればよいですか?
15 3d  movement  maps 


6
現在のプロジェクトを磨くことは、新しいプロジェクトを始めるよりも良い学習経験になるでしょうか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私は何年も前にプログラミングを始めました。今、私はゲームを作ろうとしています。ガラガ、テトリス、アルカノイドなどの有名なゲームのクローン作成を開始するための多くの推奨事項を読みました。また、ゲーム全体(メニュー、サウンド、スコアなどを含む)に行くべきだと読みました。 昨日、アルカノイドクローンの最初の完全版を完成させました。しかし、それは終わりにはほど遠い。画面解像度スイッチャー、コントロールキーのリマップ、壊れたレンガから落ちるパワーアップ、巨大なものなどを実装して、私はまだ何ヶ月も作業することができます(暇なときに趣味としてプログラムします)。 しかし、1つのゲームのクローンを作成する方法を永遠に学びたくありません。このアルカノイドクローンの開発中に出会ったデザインアイデアを適用するために、次のクローンに到達する衝動があります(同時に、GoF本とLudum Dare 21ゲームコンテストの多くのソースコードを読んでいます)。 質問は次のとおりです。元のゲームのすべての機能が揃うまで、アルカノイドクローンを改善し続ける必要がありますか?または、次のクローンに移動して(クローンを作成するゲームはほとんど無限にあります)、前のクローンで間違ったことを修正し始めますか? これは非常に主観的な質問になる可能性があるため、自分のゲームを作成する方法を学ぶための最も効果的な方法(誰かのアイデアを複製するのではない)への回答を控えてください。ありがとうございました! 明確化 実装したものを明確にするために、このリストを作成します。 実装された機能: バウンド機能(壁、レンガ、およびバーでボールがバウンドします)。 レンガとバーで跳ねるとき、およびプレーヤーが勝つか負けるときに鳴ります。 基本的なタイトルメニュー(新しいゲームと終了のみ)。ゲーム内メニューと勝ち負けメニューもあります。 3レベルしかありませんが、マップシステムはとても簡単なので、多くを教えてくれるとは思いません(間違っているでしょうか?)。 実装されていない機能: レンガを壊すときのパワーアップ。 複雑なレンガ(複数の「ヒットポイント」と無敵)。 より良いグラフィックス(私はあまり得意ではありません)。 プログラミングの研磨(より集中的に設計パターンを使用)。 ここにその(最小限の)Webページへのリンクがあります:http : //blog.acamara.es/piperine/ 私はそれを見せることを恥ずかしく思います。 私の質問は、実装されていない機能に関連していました。学習するための最速の(最適な)パスは何だろうと思いました。1)このプロジェクトに実装されていない機能が実装されて大きくなっている、または2)おそらく私にそれらの教訓と新しい教訓を教えてくれる新しいゲームを作成する。 回答 私の場合、もっと磨きをかけてゲームを「出荷」しようとするので、@ ashes999の回答を選択します。他のすべての答えも心に留めておくことが重要だと思うので、同じ質問を持ってここに来た場合は、急いで決定する前にすべての議論を読んでください。 皆さん、ありがとうございました!

3
複数のオブジェクトとの衝突の場合の衝突解決
静的オブジェクトと可動オブジェクトがあります。衝突は、separating-axis-theoremを使用して検出されます。 たとえば、この状況では、2つの静的オブジェクト(赤)があります。 そして2つの間の可動オブジェクト: 私のアルゴリズムは、これらの2つのオブジェクト間の衝突を計算できます。また、衝突に対して完全な解像度ベクトル(最小変位ベクトル)を吐き出します。 したがって、たとえば、緑の長方形と右の赤の長方形の衝突をチェックすると、アルゴリズムは、衝突を解決するために緑の長方形を移動する方法を示すベクトルを吐き出します。 MSPaintでこれをすばやく描画したことに注意してください。そのため、その図では、minimum-translation-vectorが緑の長方形を上部に押し出している可能性がありますが、右は実際には短いです。 これにアプローチする一般的な方法は、一度にすべてではなく、フレームごとに1つの衝突の衝突を解決することです。しかし、私の場合、これはフリップフロップになります: 最初に、ソルバーは2つの衝突を検出しますが、右の長方形と緑の長方形の間の衝突のみを解決します。 次に、次のフレームで、左の赤い長方形と緑の長方形の間の衝突を1つだけ検出し、解決します。 ご覧のとおり、これは実際には衝突を解決しません(たとえば、緑色の長方形を一番上に押し出すことによって)。代わりに、2つの状態の間でフロップを無限にフリップします。 どうすれば解決できますか?

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