ゲーム開発

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

9
「2.5D」環境とは何ですか?
「2.5D」という用語の意味がわかりません。2.5Dと3D環境の違いについては特に混乱していますが、両方について異なる定義と記事を読んでいます。2.5Dが3Dのような部分は理解していますが、2.5Dが異なる部分は得られません。 それでは、ゲームが2.5Dであるとはどういう意味ですか?たとえば、ゲームは2.5Dで表示されますか?
31 2.5d  terminology 

12
目的地が通過できない場合、どうすればA *をより速く終了できますか?
A *( "A star")経路探索アルゴリズムを使用する単純なタイルベースの2Dゲームを作成しています。すべて正常に動作していますが、検索にパフォーマンスの問題があります。簡単に言えば、通行不可能なタイルをクリックすると、アルゴリズムはどうやらマップ全体を通過して、通行不可能なタイルへのルートを見つけます。 どうすればこれを回避できますか?画面領域へのパスファインディングを減らすことができたと思いますが、おそらくここで明らかな何かを見逃していますか?


3
ライブラリとエンジンの違いは何ですか?
Scalaでの2Dゲーム開発を支援するためのライブラリに取り組んでいます。これまでのところ、有用なクラス、ファイルの読み込み、衝突検出、画像、スプライトなどのコレクションです。 それで、いつクラスライブラリではなくなり、エンジンになりますか?便利なフレームワークとゲームエンジンの違いはどこにあるのでしょうか?


9
スクラッチから開始-ホイールを再発明するのは間違いですか?
通常、ゲームを始めたいときはいつでも、レンダリングのための優れた基本アーキテクチャと、ゼロからのより良いゲームループがあると思います。私は通常、既存のエンジンを使用したくない。その背後にある理由は、物事を学ぶために自分で実装したいからです。 しかし、多くのブログや開発者は、車輪を再発明するのは良い選択肢ではないと言っています。 何か不足していますか?

7
車のエンジン音シミュレーションのためのオープンソースプロジェクトはありますか?[閉まっている]
私は車のために現実的な音を作成する方法を考えてきました。主な音はエンジン、そしてあらゆる種類の風、道路、サスペンションの音です。 エンジンサウンドシミュレーション用のオープンソースプロジェクトはありますか?単にサンプルをピッチングするだけでは、あまりいい音にはなりません。理想は、エンジンの種類(つまり、インライン4とv-8)を選択し、ターボ/スーパーチャージャーのような効果音を追加し、最終的に負荷とrpmを設定できるものにすることです。 編集:http : //www.sonory.org/examples.htmlのようなもの

2
パーリンノイズについて
私は、Diamond Squareでの仕事の後、Perlin Noiseをいじっています。基本的に、各座標値をスローするための入力としてx、yを使用して一連の関数を作成するHugo Eliasの実装に従いました。 私のPHPコードはこちらです: 2つの質問があります。 アルゴリズムを使用して、配列に高さマップを生成するにはどうすればよいですか?私はそれを完全には理解せず、PHPに擬似コードを移植しましたが、アルゴリズムが「魔法のように」与えられたx、yポイントごとに遷移した値を与えることを読んだ後、最後の関数(map_perlined)を実行します(明らかに、隣接する値)、ランダム関数として使用するときにこれを取得しますmt_rand(-100,100)/100; そして、これは暗号を使用する場合:(1.0-(($n*($n*$n*15731+789221)+1376312589)&0x7fffffff)/1073741824.0;ところで、これはPHPに「そのまま」実装できますか?): 要約すると、3つの質問: 私のコードは正しいですか? ランダム関数は、コードで説明されているようにPHPに移植できますか?エラーはスローされませんが、結果はそこにありません。 アルゴリズムを実際に使用するにはどうすればよいですか? 更新 OK、Gustavsonの論文に示されているコードのPHPポートを作成しました。他のコーダーが言ったように、1オクターブを生成するだけです。複数のオクターブ、振幅、周波数などの概念でこれを使用してノイズ機能を制御する方法について、他の有用なサイト/ペーパー/ガイドがありますか?Gustavsonの論文では、アルゴリズムの実際の実装ではなく、結果のみを示していますが、おそらく何かが欠けていますか? 更新2 @NATHAN 私は次のようなものを作りました: $persistence = 0.5; for ($j = 0; $j < $size; $j++) { for ($i = 0; $i < $size; $i++) { for ($o = 0; $o < 8; $o++) { $frequency = pow(2,$o); …
31 algorithm  php 

5
ネットワーク化された2Dゲームでの遅延補償
基本的に物理学に基づいたサンドボックス/アクティビティゲームである2Dゲームを作りたいです。しかし、私には本当に理解できないことがあります。調査から、サーバーからの更新は約100ミリ秒ごとであるように思われます。プレイヤーが物理学を同時にシミュレートし、補間によって遅延補償を行うことができるため、これがプレーヤーに対してどのように機能するかを見ることができます。 私が理解していないのは、これが他のプレーヤーからの更新に対してどのように機能するかです。クライアントが100ミリ秒ごとにプレーヤーの位置のみを通知される場合、100ミリ秒で多くのことが発生する可能性があるため、その動作がわかりません。プレーヤーはその時間に2回程度方向を変えた可能性があります。誰かがこの問題について何らかの洞察を持っているのではないかと思っていました。 基本的に、これは撮影などでどのように機能しますか? ありがとう

4
ゲーム開発におけるクラス設計の正しいオブジェクト指向のアプローチは何ですか?
XNAを使用して、Windows 7 Phone用の2Dスプライトベースのゲームを開発しています。それに利用できるトレーニングとチュートリアルは非常に役立ちますが、私が直面する問題は、それぞれが異なる方法でクラス設計にアプローチし、コードが特に適切にファクタリングされていないことです。その結果、特定のクラスにどの責任を与えるべきかを十分に理解することは困難でした。 たとえば、自分BaseSprite自身を描画する方法、衝突をチェックする方法などを知っているベーススプライトクラスを持つことができます。その後AnimatedSprite、スプライトシートやExplodingSpriteクラスなどをナビゲートする方法を知っているクラスを持つことができます。この手法は、Windows 7 Phone Jumpstart Session 2資料のSpace Invadersの例で説明されています。 または、代わりに、ゲームの責任のレンダリングと実行の大部分をGameScreenクラスに配置することもできます。そのクラスとその派生クラスは、その責任の点でフォームまたはWebページのように動作します。スプライトクラスは、ロジックがはるかに少ない、より単純なコンテナです。 これは、Windows 7 Phone Training KitのAlien Spriteゲームおよびその他のゲーム状態マネージャーの例で使用されている手法です。 ゲーム開発におけるクラス設計の正しいオブジェクト指向のアプローチは何ですか?
31 xna 

5
エンティティシステムに機能を実装するにはどうすればよいですか?
エンティティ・システム(約2つの質問尋ねる後1、2)、およびいくつかの読書記事をそれらの上に、私ははるかに良い以前よりもそれらを理解していると思います。主にパーティクルエミッタ、入力システム、カメラの構築については、まだいくつかの不確実性があります。エンティティシステムの理解にはまだいくつかの問題が残っており、他のあらゆる範囲のオブジェクトに適用される可能性がありますが、これらは非常に異なる概念であり、かなり広い範囲をカバーし、エンティティシステムとその方法を理解するのに役立つため、これら3つを選択しましたこれらの問題を自分で処理します。 JavaScriptでエンジンを構築しており、入力処理、柔軟なアニメーションシステム、パーティクルエミッター、数学クラスと関数、シーン処理、カメラとレンダー、および多数のコア機能のほとんどを実装しています。エンジンが通常サポートするその他のもの。Byte56の答えを読んで、エンジンをエンティティシステムにすることに興味を持ちました。基本的なシーンの哲学を持つHTML5ゲームエンジンのままですが、コンポーネントからのエンティティの動的な作成をサポートする必要があります。 私が今抱えている問題は、古いエンジンの概念をこの新しいプログラミングパラダイムに適合させることです。これらは、更新された以前の質問の定義の一部です。 アンエンティティの識別子です。データはなく、オブジェクトではなく、すべてのエンティティのシーンリスト内のインデックスを表す単純なIDです(実際にコンポーネントマトリックスとして実装する予定です)。 A コンポーネントが、そのデータを操作することができる方法と、データ保持部です。最良の例はVector2D、または「位置」コンポーネントです。これにはdata:xとyがありますが、データの操作を少し簡単にするいくつかのメソッドもあります:add()、normalize()など。 A システムは、一定の要件を満たしているエンティティのセットを操作することができるものです。通常、エンティティは、操作対象のコンポーネントの指定されたセットを持っている必要があります。システムは「論理」部分、「アルゴリズム」部分であり、コンポーネントによって提供されるすべての機能は、純粋にデータ管理を容易にするためのものです。 カメラ カメラには、Vector2D位置プロパティ、回転プロパティ、およびポイントを中心とするいくつかのメソッドがあります。各フレームは、シーンとともにレンダラーに送られ、すべてのオブジェクトはその位置に従って変換されます。その後、シーンがレンダリングされます。 エンティティシステムでこの種のオブジェクトをどのように表現できますか?カメラはエンティティ、コンポーネント、または組み合わせになりますか(私の回答によると)? パーティクルエミッタ パーティクルエミッタの問題点は、何がどうあるべきかということです。10,000個以上のパーティクルをサポートしたいので、パーティクル自体がエンティティであってはならないことは間違いありません。そのようなエンティティを作成すると、パフォーマンスに大きな打撃を与えると考えています。 エンティティシステムでこの種のオブジェクトをどのように表現できますか? 入力マネージャー 最後に話したいのは、入力の処理方法です。現在のバージョンのエンジンには、というクラスがありInputます。これは、キーの押下やマウスの位置の変更などのブラウザーイベントにサブスクライブし、内部状態も維持するハンドラーです。次に、プレーヤークラスにはreact()、入力オブジェクトを引数として受け入れるメソッドがあります。これの利点は、入力オブジェクトを.JSONにシリアル化し、ネットワーク上で共有できるため、スムーズなマルチプレイヤーシミュレーションが可能になることです。 これはどのようにエンティティシステムに変換されますか?

6
アイドルゲームは、このような多数をどのように処理しますか?
Tap titansやCookie Clickerなどのゲームがこのような大きな数字をどのように処理するのか不思議に思っています。 アイドルゲームを実装しようとしていますが、C#でサポートされている最大の数値形式は10進数です。 最大10 ^ 500までサポートしたいと考えています。浮動小数点である必要があります どうすればこれを処理できますか? PSそれはクロスプラットフォームである必要がありますすなわちPC、Mac、IOS、AndroidとUnityとの互換性

5
GPUにゲーム固有のドライバーが必要なのはなぜですか?
PC GPUドライバーの更新では、最近リリースされた特定のゲームのパフォーマンスが改善されることがよくあります。なぜこのゲーム固有の更新が必要なのですか?ゲーム固有の変更は、ゲームコードとどのように相互作用しますか?
31 gpu 

4
頂点カラーとは何ですか?
私の質問は、タイトルに書かれているものです。この用語「頂点の色」はよく現れます。これを理解するのに苦労しています。 例えば: 3D空間上の頂点は単純な点ではありませんか?もしそうなら、どのようにポイントに色を付けることができますか?それとも、この「色」は何か他のものを意味していますか? アンリアルエンジンのマテリアルエディタには「頂点カラー」ノードがあります。 誰かが私の質問に光を当てることはできますか?「頂点の色とは何か」をグーグルで検索しても有用なものは見つかりませんでしたが、ドキュメントは私にとって技術的すぎます。

4
3Dテクスチャとは何ですか?
Googleは私を失敗させた、私は有益な何かを見つけることができなかった。だからおそらくGameDevは:)。 3Dテクスチャとは何ですか? いつ使用されますか? パフォーマンスコストは? それらはどのように保存されますか? あいまいなアイデアはたくさんありますが、「決定的な」定義はありません。 特に3Dテクスチャを介してパーティクルシステムをレンダリングする場合は、例やチュートリアルへの参照を歓迎します。
31 3d  textures 

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