ゲーム開発

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

4
収集可能な仮想アイテムの「パック」を実装するためのベストプラクティスは?
私は、ゲーム内プレイ(敵を倒し、レベルを上げる)またはマイクロトランザクションを介して「パック」を購入することで仮想アイテムを取得できるゲームを構築している最中です。 Duels.comのアイテムパックのような既存の例を見ると、次のような多くの考えが実装に取り​​入れられているようです。 パックで何が得られるかについてプレーヤーの期待を明確にする パックの供給を制限して需要を増やし、インフレを抑制する 考慮すべき他の考慮事項はありますか?たとえば、アドバタイズされたドロップ率を保証するためにパックの内容を事前に生成する必要がありますか、それとも各ドロップ率が偶然の偶然であり、最終的に供給量が増加または減少する可能性がありますか?

5
タイルベースの柔軟なエンジンの設計
宝石をちりばめた、文明、倉庫番などと同じように、あらゆる種類の非リアルタイムパズルゲームを作成するための柔軟なタイルベースのゲームエンジンを作成しようとしています。 私が最初に行ったアプローチは、Tileオブジェクトの2D配列を用意し、次にゲームオブジェクトを表すTileから継承するクラスを用意することでした。残念ながら、その方法では、3D配列がなければ、同じタイルにゲーム要素をさらに積み上げることができませんでした。 次に、別のことを行いました。Tileオブジェクトの2D配列はまだありましたが、すべてのTileオブジェクトには、配置したリストと異なるエンティティが含まれていました。これは、20分前まではうまくいきました。多くのことを行うにはコストがかかりすぎることに気付いたとき、次の例を見てください。 壁エンティティがあります。更新ごとに、隣接する8つのタイルをチェックし、次にタイルのリスト内のすべてのエンティティをチェックし、それらのエンティティのいずれかが壁であるかどうかをチェックし、最後に正しいスプライトを描画します。(これは、互いに隣接する壁をシームレスに描画するために行われます) 私が今見ている唯一の解決策は、あらゆる状況に適する可能性のある多くのレイヤーを備えた3Dアレイを持つことです。しかし、その方法では、同じタイル上の同じレイヤーを共有する2つのエンティティをスタックできません。やりたいときはいつでも、新しいレイヤーを作成する必要があります。 より良い解決策はありますか?あなたならどうしますか?
8 c#  2d  performance  tiles 

5
(シンプルな)恒星系の構築[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 私は現在、宇宙ベースの戦略ゲーム(したがって宇宙船が動き回る)を可能にするために、いくつかの恒星系(いくつかの中心の星、次に衛星のある惑星を意味する)を簡単にシミュレートする方法を検討しています。これはすべて時間ベースである必要があります(したがって、各システムの状態は時間とともに異なります) たとえば、次のように、このトピックの背後にある数学にかなり苦労しています。- 楕円関連の数学 -時間を考慮して惑星AからBへのパスを作成する(それぞれの位置は時間とともに変化します)... そのためのリソースを知っていますか?それについての本を買ってもかまわない... 補足:現時点では、これらすべてを表示する方法は問題ではありません。そのための簡単な計画を立てます(基本的には2Dに固執し、宇宙船/惑星の詳細はなく、マーカーのみの「高レベルビュー」)。

6
3Dレンダリングコンポーネントの抽象化のレベルは正しいですか?
私はこの領域の周りにたくさんの質問を見てきましたが、この正確な質問ではないので、これが重複している場合はお詫びします。 小さな3Dゲームを作っています。正直なところ、それはほんの少しの趣味のプロジェクトであり、実際のゲームにはならない可能性があります。素敵なグラフィックデモを作成し、3DレンダリングとC ++デザインについて学びたいと思います。 私の意図は、レンダリングにdirect3d9を使用することです。これについては少し経験があり、私の要件を満たしているようです。ただし、プログラマーとして1つのことを学んだ場合は、「このコンポーネントが別の実装に置き換えられる可能性があると考えられる理由はありますか」と答えます。答えが「はい」の場合、適切な抽象化とそのコンポーネントへのインターフェイスを設計する必要があります。 。そのため、d3d9を実装するつもりでも、d3d11、openglに実装できる3dインターフェイスを設計する必要があります... 私の質問は、これを行うのに最適なレベルは何ですか?作成して後で描画できるインターフェースだと思います 頂点バッファーとインデックスバッファー テクスチャー 頂点とピクセルの「シェーダー」 描画状態のいくつかの表現(ブレンドモードなど...) 言い換えれば、たとえばアニメーションモデルを描画するためのコードが、抽象頂点バッファーなどを取得するためにインターフェイスを使用するかなり低レベルのインターフェイスです。低すぎるので、必要なすべての機能を抽象化できないのではないかと心配しています。 別の方法は、インターフェイスがオブジェクト、アニメーション、風景などを描画し、各システムに実装できる、より高いレベルでこれを行うことです。これはもっと手間がかかっているように見えますが、私はもっと柔軟だと思います。 だから、それが私の質問です。描画システムを抽象化するとき、どのレベルのインターフェイスが最適ですか。
8 c++  opengl  directx 

1
タイルベースの2D衝突検出の問題
このチュートリアルhttp://www.tonypa.pri.ee/tbw/tut05.htmlに従って、タイルベースの世界でリアルタイムの衝突を実装しようとしています。 これらのプロパティのおかげで、エンティティの中心座標がわかります。 public float CenterX { get { return X + Width / 2f; } set { X = value - Width / 2f; } } public float CenterY { get { return Y + Height / 2f; } set { Y = value - Height / 2f; } } …

3
三角形のリストから頂点法線を計算する最良の方法
こんにちは、私はコンピュータグラフィックスの完全な初心者です。愚かな答えだとすみません。シンプルな3Dエンジンをゼロから作ろうとしています。実際の使用よりも教育目的のためです。 今のところ私は顔の法線のみを計算します。この方法では: Triangleのリストの中にあるSurfaceオブジェクトがあります。Triangleクラス内の法線を次のように計算します。 triangle.computeFaceNormals() { Vec3D u = v1.sub(v3) Vec3D v = v1.sub(v2) Vec3D normal = Vec3D.cross(u,v) normal.normalized() this.n1 = this.n2 = this.n3 = normal } そして表面を構築するとき: t = new Triangle(v1,v2,v3) t.computeFaceNormals() surface.addTriangle(t) これが一番いい方法だと思います…。 さて、これでうまくいきます。軽いですが滑らかにはなりません。頂点法線も計算しようとしています。(私は自分のエンジンを細管表面でテストしているので、ほぼすべての頂点が複数の三角形と共有されています) 私はこの単純なアルゴリズムを見つけました:フリップコード頂点法線 ですが.. heiこのアルゴリズムは..指数関数的な複雑さですか?(私の記憶が私のコンピュータサイエンスの背景に失敗しない場合) なにか提案を?

1
MMORPGデザインに適した本はありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 MMORPGの経験がなく、MMORPGを設計したい、経験豊富なソフトウェア開発者に推奨される読書リストは何ですか?
8 mmo  books 

2
Flashのネットワークマルチプレイヤー
Flashは過去10年間で長い道のりを歩んできました。チャットや基本的なアバターの動きのためにFlashゲームをリアルタイムでマルチクライアントサーバーに接続することはよく知られている秘密です。 なぜ業界全体がこれをまだ一般的な知識タイプにしていないのですか?私たちはウェブへのプッシュを続けていますが、このテーマに関する学習資料を収集することは非常に難しいと感じています。 確かに、(selectステートメントやスレッドを使用して複数のソケット接続を処理する)さまざまな言語のマルチクライアントサーバーソケットチュートリアルを見つけることができますが、ブラウザ内のFlashアプリケーションに関しては?いいえ! みんなが知っていることを共有できますか?:]それは私が本当に入りたい主題ですが、私は正直にそれを行う方法について十分に知らないのではないかと心配しています。


1
XNA GameComponentsを選択的に更新するにはどうすればよいですか?
XNAで作業している小さな2Dゲームがあります。これまでのところ、私はプレイヤー制御船でベクタースラストを操作しており、円を描くように回転するのはとても楽しいです。私はこれを実装しましたDrawableGameComponentと使ったゲームでそれを登録しgame.Components.Add(これを)船舶オブジェクトのコンストラクタに。 現在の実装で一時停止やメニューシステムなどの機能を実装するにはどうすればよいですか?特定のGameComponentsを更新しないように設定することは可能ですか? これは私がDrawableGameComponentを使用する必要があるものですか?そうでない場合、これのより適切な用途は何ですか?

3
オブジェクトコンテナーとしてのシーングラフ?
シーングラフには、ゲームオブジェクトを表すゲームノードが含まれています。一見すると、たとえばstd :: vector <>の代わりに、シーングラフをゲームオブジェクトの物理コンテナーとして使用するのが現実的であるように見えるかもしれません。 私の質問は、ゲームオブジェクトを含めるためにシーングラフを使用することは現実的ですか、またはstd :: vector <>などの別のコンテナーに格納されたオブジェクトを保持しながら、シーンオブジェクト/ノードのリンケージを定義するためだけに使用する必要がありますか?

3
国際的にオンラインで販売するゲームの価格を教えてください。
すべての国で定額で販売する必要のあるダウンロード可能なゲームまたはゲーム内アイテムがある場合、価格の設定方法をどのように計算すればよいですか?私の現地通貨は英国ポンドです。£で丸めた数字を思いついて、他の国の顧客に通貨の変動を処理させますか?可能であれば、現地通貨で数値を表示する必要がありますか?ドルまたはユーロでゲームの価格を設定し、通貨の変動を自分で処理する方が良いでしょうか?他のゲームはこれをどのように処理していますか?
8 online  sales 

3
反転したテクスチャ
座標系の原点が画面の中心にあるこの物理ボディに合わせてテクスチャを描画しようとしています。(XNA)Spritebatchのデフォルトの原点は左上隅に設定されています。テクスチャを正しく配置しましたが、テクスチャが上下反転していることに気付きました。つまり、レンダリング時に上向きの矢印テクスチャが下向きになります。数学のどこが間違っているのかわかりません。 私のアプローチは、すべてを物理のメートル単位に変換し、それに応じて描画することです。 Matrix proj = Matrix.CreateOrthographic(scale * graphics.GraphicsDevice.Viewport.AspectRatio, scale, 0, 1); Matrix view = Matrix.Identity; effect.World = Matrix.Identity; effect.View = view; effect.Projection = proj; effect.TextureEnabled = true; effect.VertexColorEnabled = true; effect.Techniques[0].Passes[0].Apply(); SpriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend, null, DepthStencilState.Default, RasterizerState.CullNone, effect); m_Paddles[1].Draw(gameTime); SpriteBatch.End(); ここで、Paddle :: Drawは次のようになります。 SpriteBatch.Draw(paddleTexture, mBody.Position, null, Color.White, 0f, new Vector2(16f, 16f), …

1
ゲームやチュートリアルなどを書き始める場所はどこですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 私は実際には、.NET C#とVB.NET、C / C ++、Delphiの知識、および80286 Intelアセンブリ言語の中間知識を持つ産業システム開発者です。 すでに得た経験を最大限に活用しながら、ゲームの開発方法を学びたいと思います。 私の最初の目標は、管理とゲームソフトウェア開発の違いを学び、ゲーム開発者として何を考えることが重要であるかを理解できるようにすることです。 ゲームライティングチュートリアル、「Hello World!」のような、どこから始めればよいかについてのヒントは大歓迎です。私が言うなら、プログラム。 さらに、次のチュートリアルは「グーグル」中に見つかりました。 C ++ゲームプログラミング ; CおよびC ++プログラミングのゲームとエンターテイメントのチュートリアル。 C ++ゲームプログラミングリソースセンター ; C ++でゲームを作成する。 彼らは良いですか? 最も私を導いてくれた答えを受け入れます。ご協力いただきありがとうございます!=)
8 c# 


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