ゲーム開発

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

3
弾丸パターンを効果的に作成する方法
現在、東方のようなトップダウンのシューティングゲームを作成しています。ゲームの最も重要な要素は、弾丸が生成されてプレーヤーに発砲されるさまざまなパターンと方法がたくさんあることです。このビデオを参照してください:http : //www.youtube.com/watch?v=4Nb5Ohbt1Sg # start=0 :60;終了= 9:53 ; 現時点では、移動と撮影の一連のステップがある「パターン」というクラスを使用しています。ただし、この方法は攻撃ごとに新しいパターンを作成する必要があり、おそらく特定の動作を実装する新しいBulletクラスを作成する必要があるため、非常に手間がかかると感じています。 この質問には、特定のパターンで弾丸を簡単に作成および保存するためにBulletMLを調べる必要があることを示すコメントが寄せられました。見た目はまともですが、他にどのような解決策がありますか。 更新 私の現在のデザインは次のとおりです: 実装されたパターンの例: 私のGigasPatternは、最初にアリスを画面上の特定のポイント(X、Y)に移動するテレポートを実行します。これが完了すると、パターンはMoverを使用してスプライトを移動し始めます(テレポーティングには個別のエフェクトとアニメーションがあります)。これらは非常に単純なので、実際には問題ありません。 シューターはまた、さまざまな攻撃を作成します。これも、私が投稿した質問のように、シューターがさまざまなパターンの弾丸を作成するために使用できるクラスです。ムーバーが目的地に到達すると、ムーバーとシューターの両方が停止し、非アクティブな状態に戻ります。パターンが完了し、AIによって削除され、新しいパターンが選択されます。


3
シーンの描画方法を変更して、一日のさまざまな時間に行われているように見せるためにはどうすればよいですか?
私のゲームはシーンと昼間の関係があります。朝の光は午後や夜とは異なります。しかし、私はこの違いを生む方法を知りません。 これがポケモンゲームの例です。 ゲームの上に透明度が10〜20%程度のレイヤーを入れて、時間によって色を変えるというアイデアがありますが、どちらの色がいいかわかりません。 このスタイルのゲームである種の昼/夜サイクルを実行する他のメカニズムはありますか?

2
ロビーサーバーの記述には何が関係していますか?
ゲームルーム、一般的なチャットなどのロビービューに基づいてチェスのマッチメイキングシステムを書いています。これまでのところ、プロトタイプは機能していますが、サーバーで行ったいくつかのことには大きな疑問があります。ゲームロビーサーバーを書くことは私にとって新しいプログラミングエクスペリエンスであり、そのための明確で正確なプログラミングモデルはありません。また、それがどのように機能するかを説明した論文も見つかりませんでした。アマゾンから「Javaネットワークプログラミング3版」を注文しましたが、まだ出荷を待っていましたが、この本で役立つ例や情報が見つかると思います。 その間、私はあなたの意見を集めて、サーバーを正しく書く方法を学ぶことができるようにいくつかのことをどのように処理するかを見たいと思います。ここに私の頭の上のいくつかの質問があります:(もっと来るかもしれません) 最初に、サーバーの動作を定義しましょう。主な機能は、クライアントとのTCP接続を保持し、クライアントが生成したイベントをリッスンして、他のプレーヤーにディスパッチすることです。しかし、それだけではありませんか? クライアントごとに1つのスレッドを使用する必要がありますか?その場合、300クライアント= 300スレッド。それは多すぎませんか?それをサポートするにはどのようなハードウェアが必要ですか?そして、ロビーはおよそどのくらいの帯域幅を消費しますか? クライアントのソケットを保持するためにどのようなデータ構造を使用する必要がありますか?スループットを損なうことなくイベントをディスパッチするために繰り返し処理するときに、同時変更(たとえば、プレーヤーがロビーに入る、またはロビーに存在する)からそれをどのように保護しますか?ここでConcurrentHashMapが正しい答えですか、それとも私が知っておくべきいくつかのテクニックがありますか? ユーザーがロビーに入るとき、ロビーの状態をユーザーに転送するためにどのようなメカニズムを使用しますか?そして、これが起こっている間、他のイベントはどこで泡立ちますか?
8 java  server 

1
スクロール2Dゲームでは、オブジェクトを移動する必要がありますか、それともカメラを移動する必要がありますか?
私はゲームデザインが初めてなので、どのように行われるのか本当にわかりません。私は、船が途中で(可変速度で)可能な限り高く飛行し、パワーアップなどを収集するiOSゲームを構築することを考えています。 ここに行く方法は何ですか?背景とアイテムは上から下にスクロールする必要がありますか、それとも船はそれとともにビューを移動しながら実際に飛ぶ必要がありますか?
8 ios  camera 

2
Linux用GLSLシェーダーエディター
GLSLシェーダーを編集してその効果を視覚化できるLinux用の優れたIDEはありますか? 注:Typhoon LabsのShader Designerは良い選択肢ですが、このソフトウェアにはUbuntu 11.10でいくつかの問題があるため、代替案を探しています。
8 shaders  glsl  linux 


5
モンスターがプラットフォームを歩き回らないようにするにはどうすればよいですか?
それについてのチュートリアルを見つけるのはかなり簡単なはずだと思うので、私を夢中にさせている質問があります。現在、XNAとFarseerを使用して、シンプルなプラットフォーマーゲームを作成しています。もうすぐ完成ですが、モンスターをもっとスマートにしてほしいです。この場合、私は自分のモンスターが崖から落ちてほしくないことを意味します。 簡単に言うと、モンスターが方向を変えるタイミングを決定するために、「モンスター」の前の領域をチェックするものが欲しいのです。皆さんは私を正しい方向に向けることができますか? 私は何を使うことになっていますか?これをチェックするための簡単な解決策または簡単なアルゴリズムが存在するはずです、いいえ?

1
多くの種類のプリミティブを描画できるレンダラーを実装するにはどうすればよいですか?
これは、インデックス付きプリミティブの描画に関して以前に私が尋ねた質問にいくぶん関連しています。 私の問題は、たくさんを描きたかったのに、1つの立方体しか描いていなかったことです。問題は、それぞれの新しいインスタンス化で頂点バッファーとインデックスバッファーを上書きするCubeことであり、代わりに原点に1つ作成してから多数を描画し、変換マトリックスを介してシェーダーに渡し、異なるように見えるようにする必要があるということです。場所。これは美しく機能しました。 しかし、今は新しい問題があります。どのようにして多くの異なるタイプのプリミティブを描画するのでしょうか。 これが前の質問からの私のコードです: Cube::Cube(D3DXCOLOR colour, D3DXVECTOR3 min, D3DXVECTOR3 max) { // create eight vertices to represent the corners of the cube VERTEX OurVertices[] = { {D3DXVECTOR3(min.x, max.y, max.z), colour}, {D3DXVECTOR3(min.x, max.y, min.z), colour}, {D3DXVECTOR3(min.x, min.y, max.z), colour}, {min, colour}, {max, colour}, {D3DXVECTOR3(max.x, max.y, min.z), colour}, {D3DXVECTOR3(max.x, min.y, max.z), colour}, …


6
GPUを必要としないゲームを作成することは可能ですか?
今日の多くのコンピューターに、DirectXとOpenGLをサポートするGPUが搭載されていることはすでに知っています。しかし、そうでないコンピュータはどうでしょうか?古いマシンでも動作するように、GPUに依存しないシンプルな2Dゲームを作成できますか? これを可能にするクロスプラットフォームのCまたはC ++ゲームライブラリはありますか?理想的には、このようなライブラリを使用すると、ほんの数行のコードでハードウェアアクセラレーションを切り替えることができます。

3
ワールドマトリックスを使用する必要がありますか?
質問の画像参照: (CGチュートリアルからの画像) D3D9 APIは、世界の行列に慣れました。 ただし、ワールドマトリックスを使用する場合は、シェーダーで追加のマトリックス乗算を行う必要があります(これは、多くの頂点で同じになります)。 したがって、モデリングとビューのマトリックスを1つのマトリックスに連結するOpenGLの規則(GL_MODELVIEWMATRIX = View * World)。 何が良いのか、そしてその理由は?
8 matrix 

1
シングルプレイヤーゲームで大きなレベルをチャンク/キャッシングする
大きな非線形レベルをファイルベースのチャンクにオフロードし、それらをオンデマンドでロードすることは意味がありますか?レンダリングのパフォーマンスを向上させるためにレベルチャンキングを実装しましたが、すべてのレベルオブジェクトは引き続きRAMに保持されます。 もしそうなら、どのように私たちは生きている/変化する世界の幻想を維持するのでしょうか?レベルは線形ではなく、むしろそれ自体が世界のようであるので、通過したものが永遠に過ぎ去ったと偽ることはできません。 レベルを十分に複雑にするだけでなく、常にメモリに永続化するのに十分最適化し、完全に離れたポイント(つまり、まったく新しいレベル)にジャンプできるようにするマイクロ/マクロジャンプポイントを実装することをお勧めします。世界の一貫性、そして変化する世界の幻想について。また、これにより、一見非線形の世界でわずかに線形のストーリーをたどることができます。プレイヤーを元の状態に戻す場合は、「遠い」レベルの既存の状態に新しい状態を適用するだけで十分です。

3
マルチスレッドシミュレーションを可能にするには、クラスをどのように構成すればよいですか?
私のゲームでは、建物(家、リソースセンター)のある土地の区画があります。家のような建物には、テナント、部屋、アドオンなどがあり、これらすべての変数に基づいてシミュレーションする必要があるいくつかの値があります。 次に、AndEngineをフロントエンドのものに使用し、シミュレーション計算を実行する別のスレッドを作成します(後でこのスレッドにAIを含めることもできます)。これは、1つのスレッド全体がすべての作業を実行してブロックなどの問題を引き起こすことを防ぐためです。これにより、同時実行性と依存性の問題が発生します。 通貨の問題は、私のメインUIスレッドと計算スレッドすべてのシミュレーションオブジェクトにアクセスする場合との両方が必要です。そのため、スレッドセーフにする必要がありますが、それを可能にするためにシミュレーションオブジェクトを格納および構造化する方法がわかりません。 依存関係の問題は、計算値にするために、私の計算は、他のオブジェクトの値に依存していることです。 建物内のテナントオブジェクトを計算にリンクする最良の方法は何ですか?テナントクラスにハードコードしますか?アルゴリズムを簡単に調整できるように「ストア」アルゴリズムを実行するための良い方法は何ですか? 単純な怠惰な方法は、土地の区画(建物などを保持する)など、すべてのオブジェクトを保持するクラスにすべてをまとめることです。このクラスは、ユーザーが利用できるテクノロジーや、スプライトなどのオブジェクトプールなどのゲームの状態も保持します。しかし、これは怠惰で危険な方法ですよね? 編集: 私は依存性注入を見ていたが、それは他のオブジェクトを保持するクラスのようにどれだけうまく対処できますか?つまり、借地人と他の多くの価値を持つ建物のある土地の私の区画。AndEngineの場合も、DIは苦痛のように見えます。

9
使用料無料のsci-fiサウンディングソングを探しています。
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 私は1:00+で、それよりも安い、または5米ドルのロイヤリティフリーのSFサウンドソングを探しています。エンジンデモ用の素敵なBGMが欲しいので、商用化する予定のゲームにリリースします。あまりお金をかけたくないので、限度額は5米ドルです。少なくとも1時間の長さにしてください。 どこを見ればいいですか?それとも、基準を満たす曲へのリンクはありますか?
8 audio  sound  music 

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