ゲーム開発

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

4
AIエージェントを曲線に沿って移動させるにはどうすればよいですか?
現在、私の非常に基本的なAIフレームワークには、一連のポイントで構成されるギザギザのパスに沿って移動するエージェントがあります。 これは、ある地点から次の地点に位置を移動するだけです。次のポイントに到達すると、次のポイントに向かって移動します。曲線バージョンのパスに沿ってスムーズに移動するようにこれを変更するにはどうすればよいですか?また、曲線を生成するにはどうすればよいですか?

8
HTML5モバイルゲーム開発とネイティブゲームアプリ[非公開]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 HTML5テクノロジーセットに関連するゲームエンジン、フレームワーク、ライブラリ、および変換(RaphaelJS、Impact、gameQueryなどのCSS3およびJavaScriptライブラリを含む)の現在の状態。そして、その最高の点はネイティブアプリの開発(特にiOSとAndroid)と比較してどうですか? 特に、パフォーマンス、ビジュアル、およびその「ネイティブ感」の取得という点で。 AppceleratorやCorona SDKなどのソリューションに関するご意見も歓迎します。Unity3Dに関して、依存関係なしで、またはユーザーに何もインストールさせずに(統一Webプレーヤーなしで)ブラウザでゲームをプレイできるようにすることは可能ですか(少なくとも現在のリリースのChromeまたはFirefoxなど)。 。 私が探しているのは、iOSおよびAndroid向けに新たにゲームを実装することなく、モバイルのネイティブエクスペリエンスを維持しながら、最大数のプラットフォーム(外部モバイルを含む)に到達するようにWeb標準で開発する方法です。

4
お互いを見ることができるユニットをグループ化する最速の方法は?
私が使用している2Dゲームでは、ゲームエンジンは、ユニットごとに、そのビュー範囲にある他のユニットのリストを提供できます。 グループ内のユニットをソートするための確立されたアルゴリズムがあるかどうかを知りたいのですが、各グループは互いに「接続」されているすべてのユニットによって定義されます(他のユニットを介しても)。 例は、質問をよりよく理解するのに役立つかもしれません(E =敵、O =自分のユニット)。まず、ゲームエンジンから取得するデータ: E1 can see E2, E3, O5 E2 can see E1 E3 can see E1 E4 can see O5 E5 can see O2 E6 can see E7, O9, O1 E7 can see E6 O1 can see E6 O2 can see O5, E5 O5 can see E1, …
12 algorithm 

1
品質とウイルスのレポートに関する難問:ゲームはリリース可能ですか?
完成間近のプロジェクトの1つについて、独立系ゲームスタジオのCEOに話をしたところです。いくつかの理由から、プロジェクト全体の缶詰を検討しています。 部分的に、いくつかの品質の問題があります。戦闘は楽しくて深みのあるものになりますが、ほとんどの場合、マッシュボタンを使用して取得できます。高度な戦闘は、何かを追加するためだけに本当にタグ付けされたという感覚を残します。現実には、多くの作業がそれに費やされました。 ゲームは想定したようにはなりませんでした。もともとストーリーが重要であると計画されていたとき、それは本当に心のない戦闘ゲームになりました。今、物語はかなり存在しません。 そしておそらく最大の問題。むしろ最近、私たちはゲームがウイルスとして報告されているという報告をテスターから受けています(いくつかのケースでは)。これを調べてみると、それがエンジンの製造方法であることがわかりました。私たちはサードパーティのエンジンを使用しており、もともとメーカーは非常に親しみやすかったのですが、彼は私たちの問題にかなり近づきにくく、無関心になりました。 私と彼はこれについて長い間話し合っており、私たちはそれがリリースできないことに傾いています。しかしこれは、これにかなりの時間、ほぼ1年を費やしているリードプログラマーにとって非常に大きなヒットになるでしょう。 これがリリースされた場合、どのような影響がありますか?私はそれが蒸気になるかもしれないと言われています、そして私はそれが引っ張られて、そして本当に我々のイメージを傷つけることができると思っています。また、パブリッシャーがウイルスの問題を欺くと考えている場合、バックリストに載ることもあると述べました。訴えられますか?リリース可能だと思いますか? これは、すべてのゲームスタジオがいつかやらなければならないかもしれない非常に重要な決定だと思うので、できるだけ多くのインプットが欲しいです。 ありがとうございました [編集]また、独自のカスタムエンジンを使用して社内で開発されているhtml5用に作成された別のバージョンのゲームがあることも重要かもしれません。私たちは、これに焦点を合わせ、間違いから学ぶことを考えています。

3
一人称カメラをどのように実装すればよいですか?
私は初心者プログラマーであり、一人称カメラで部屋を歩き回ることができるプロジェクトを作成しています。これまでのところ、建物が描かれていますが、今は立ち往生しており、歩き回るために一人称カメラを作成する方法がわかりません。 誰かが私が使用できるカメラクラス、またはいくつかの有用なコードに私を向けることができますか?
12 c++  directx  camera 

4
キャラクターはどこで止まりますか?
何年も前、私は予算の擬似3Dゲーム用にAIをいくつかコーディングしました。計算方法が1つありましたが、これが最善の方法を実際に理解したことはありませんでした。例えば: 敵は現在X = 540.0にいます。 敵はフレームあたり10ピクセルで右に移動しています。 敵が停止したい場合、速度はゼロに達するまでフレームごとに1ピクセルずつ低下します。 敵が完全に停止したときに敵が終わる位置を取得する簡単な公式はありますか?最終的にはオフセットを事前計算してハードコーディングしましたが、これは私のニーズには合っていましたが、速度の異なる敵に対して個別に計算する必要がありました。

7
タイルマップデータを保存する良い方法は何ですか?
私はいくつかの大学の友人と2Dプラットフォーマーを開発しています。.txtファイルを使用してタイルマップを保存するXNA Platformer Starter Kitに基づいています。これは単純ですが、レベル設計で十分な制御と柔軟性を提供するものではありません。いくつかの例:コンテンツの複数のレイヤーに複数のファイルが必要な場合、各オブジェクトはグリッドに固定され、オブジェクトの回転、文字数の制限などが許可されません。したがって、レベルデータの格納方法について調査しています。およびマップファイル。 これは、タイルマップのファイルシステムストレージのみに関係し、ゲームの実行中にゲームで使用されるデータ構造には関係しません。タイルマップは2D配列に読み込まれるため、この質問はどのソースから配列を埋めるかに関するものです。 DBの理由:私の観点からは、データベースを使用してタイルデータを保存するデータの冗長性が少ないと思います。同じ特性を持つ同じx、y位置のタイルは、レベルごとに再利用できます。特定のレベルで使用されているすべてのタイルをデータベースから取得するメソッドを作成するのは十分簡単だと思われます。 JSON / XMLの推論:視覚的に編集可能なファイル。変更はSVNを介してはるかに簡単に追跡できます。しかし、繰り返しコンテンツがあります。 どちらかが他に比べて欠点(ロード時間、アクセス時間、メモリなど)がありますか?そして、業界で一般的に使用されているものは何ですか? 現在、ファイルは次のようになっています。 .................... .................... .................... .................... .................... .................... .................... .........GGG........ .........###........ .................... ....GGG.......GGG... ....###.......###... .................... .1................X. #################### 1-プレーヤーの開始点、X-レベル出口、。-空のスペース、#-プラットフォーム、G-宝石
12 xna  c#  xml 

2
GLSLで効率的なブルームシェーダーを作成するにはどうすればよいですか?
GLSLを使用してブルームエフェクトのレンダリングに関連するリソースをネットで検索しましたが、何も見つかりませんでした。Philip RideoutのWebサイトのチュートリアルは優れていますが、私のNvidia GPUでのパフォーマンスは非常に劣っています。 誰もこの問題にどのようにアプローチし、ブルーム効果のかなり効率的な実装を構築するべきかについて私を導くことができますか?
12 shaders  glsl  bloom 

3
地形ジェネレーターの進化
私は最近この質問をしましたが、結論は、手続き型ゲームコンテンツの作成に遺伝的プログラミング(GP)を使用することは実際には行われていないということです。それを変えたいです。 新しい地形ジェネレーターを見つけるのに役立つGPを展開できると確信しています。私が得ようとしている質問は、これをどのように達成できるかということです。 すべてのGPには、すべてのGPに一般化できるいくつかの基本的な部分があります(親選択、組換え、突然変異、生存)。私はそれらを自分で理解することができます。問題は、問題固有の部分で発生します。これらは、コードで問題を表現する方法(これは通常ツリーを使用します)、およびジェネレーターがどれほど優れているかを評価する方法です(これは1つ以上の値です)。 簡単に言うと質問: ツリーに解析できる方法で地形ジェネレータをどのように表現しますか? これはどのような地形を生成する必要がありますか?(高さマップ、頂点グラフ、...) これは、hightmapに基づいているものが少ないほど良いです。 ソリューションの適合性を評価するために何が使用されますか? 例:興味深い地形が必要なため、値の1つを、地形上の各頂点の法線の平均変化とすることができます。

5
3Dゲームのテクスチャの作成を開始するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問がトピックに合うように更新します Game Development Stack Exchangeでます。 6年前に閉鎖されました。 3Dゲームのテクスチャを作成するための優れたチュートリアルはどこにあるのでしょうか? また、写真を撮ってゲームのテクスチャに変換するのは一般的な習慣ですか、それともデザイナーが自分でテクスチャを描画しますか? 更新: 状況をより具体的にするために、ゲームキャラクターが小さな建物にいるシンプルなゲームを作成しようとしています。そのため、コンピューター、テーブル、椅子、ドア、窓、壁などのテクスチャを作成します。建物はほとんど無関係です。Blenderの使用を考えていますが、3Dモデリングの経験はありません。
12 3d  textures  art 

3
JavaScriptでマルチプレイヤーを処理する方法は?
私は、モバイルマルチプレイヤーゲームに使用する技術について少し研究しています。 これは現在のところ実験であるため、現時点では、プレーヤーが注意する必要があるのは他のプレーヤーだけです。 これがゲームではなく典型的なWebアプリケーションである場合、常にHTTPリクエストが発生するだけです。しかし、これはゲームであるため、パフォーマンスと精度が問題になります。 ゲームは複数の電話プラットフォームを対象としているため、クライアントはJavaScriptまたはJavaScriptベースのフレームワークで記述されるとしましょう。サーバー技術は完全にオープンです。 各プレーヤーは、HTTPポストと同等のものを作成し、より高速なプロトコルのみを使用する必要があります。マルチプレイヤーがWebベースである理由は、Bluetoothまたは他のローカルネットワークを介したマルチプレイヤーがプラットフォーム間で多様すぎて問題を引き起こす可能性があるためです。 それでは、質問は、JavaScriptマルチプレイヤーに使用するのに適したプロトコル/テクノロジーとは何でしょうか?サーバー側のものに関するアドバイスやそれは重要ですか?この2層アーキテクチャを削除して、電話と電話を直接接続する必要がある理由は何ですか?

2
XBoxコントローラーを抽象化する正しい方法
アプリケーションの入力として使用したいXBox360コントローラーがあります。 私が解決できないのは、インターフェースを介してこれを公開するベストプラクティスの方法です。 舞台裏では、コントローラーを処理するクラスはポーリングボタンの状態に依存しています。 最初に何かリンクを試しました: Event ButtonPressed() as ButtonEnum どこにButtonEnumあったButtonRed、ButtonStartなど これは、ボタンの押下のみをサポートし、ホールド/パターン(2回押すなど)をサポートしないという点で少し制限されています 次のアイデアは、単にボタンの状態をアプリに公開することです Property RedPressed as Boolean Property StartPressed as Boolean Property Thumb1XAxis as Double これは非常に柔軟ですが、実際にはアプリに多くの作業を強制し、アプリにポーリングを要求します-可能であればイベント駆動型を好むでしょう。 たとえば、複数のイベントを追加することを検討しました。 Event ButtonPressed(Button as ButtonEnum) Event ButtonPressedTwice(Button as ButtonEnum) Event ButtonHeldStart(Button as ButtonEnum) Event ButtonHeldEnd(Button as ButtonEnum) しかし、これは少し不格好なようで、「バインドボタン」画面に大きな痛みがありました。 誰かが、コントローラーからの入力を処理する「正しい」方法を教えてください。 注:インターフェイスを実装するクラス内でSlimDXを使用しています。これにより、状態を非常に簡単に読み取ることができます。私の問題を解決する代替品も歓迎します

3
Minecraftのアニメーションはゲームにハードコーディングされていますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 5年前に閉鎖されました。 Minecraftでアニメーションシステムがどのように機能するかを知りたいです。すべてのMobがゲームにハードコーディングされているように感じます。ノッチは本当にそこに座って、すべてのアニメーションボーンのマトリックスを手で作成しましたか? 私は楽しみのためにゲームを作り直すのが好きなので、彼がこれをどのようにしたか知りたいです。また、彼が本当にそれらをハードコーディングした場合...より良い方法はありますか?

2
XNAを使用したゲームアーキテクチャに関する質問
だから私はついにXNAで遊んで、2Dゲームを作ることをいじっていました(iOSで開発した友人からたくさんのアート資産があります) 多くのことは簡単に実行できるように見えますが、ほとんどの文学(たとえば、私が買った本)は2Dにあまり注意を払っていないので、私はたくさんのものに困惑しています。 私は、以下の質問についての明確化またはより多くの情報を指摘されていることを本当に感謝します: ゲームサービスのポイントは何ですか?他のGameComponentがオブジェクトを取得できるようにオブジェクトをサービスとして登録するイディオム全体を理解していますが、これを単純に公開または静的にするだけではどうでしょうか?たとえば、私の本では、Game.csクラスにSpriteBatchオブジェクトを登録することを推奨しています。とにかくGameのインスタンスは1つだけ(シングルトン)でなければならないので、これを単純にパブリック/静的にするのがどのように好ましいのかわかりません。 GameComponentまたはRenderableGameComponentから継承する必要がある場合、私は混乱しています。私はすべてのエンティティが単一のマネージャーによって作成/所有され、他の事柄についても同じになるように、マネージャー/コントローラーの設計に従うことを試みています。現在、各Manager / ControllerにGameComponentを継承させていますが、GameオブジェクトがすべてのManagerを所有し、それらの更新を手動で呼び出して描画することで、これをどのように解決できますか? ContentLoad()の前に Initializeが呼び出されることに気付きました。Initializeでエンティティ(スプライト、プレーヤーなど)の一部を作成したいので、この迷惑を見つけましたが、それらをロードすることはできません。読み込むための呼び出しがまだ行われていないため、SpriteSheetsまたはTextures。私はおそらく間違って初期化していますか、または人々はContentLoadのさらに下のテクスチャを割り当てるだけですか? それらは本当に理解していないという私の最大の「WTF」のようです

4
リアルタイムマルチプレイヤーゲームに使用するデータベース(RDBMS対NoSQL対BOTH)
データベースを必要とするリアルタイムのマルチプレイヤーゲームに取り組んでいます(プレイヤープロファイル、フレンド、ロック解除、ニュースなどの機能用)。これは標準のPCゲーム(ブラウザベースではない)であり、クライアントサーバーを使用します。建築。私はデータベースを使用するのが初めてであり、過去数日間、白熱した議論につまずいたとき、RDBMS対NoSQLのいくつかの研究を行ってきました。現在、私はNoSQLに傾いていますが、それぞれの使用法(RDBMSとNoSQL)を読んだ後、両方を使用したいと思っています。それは奇妙に思えるかもしれませんが、私の状況を説明させてください。 私のチームは、無制限のmySQLストレージと帯域幅を提供する共有Webホスティングパッケージを持っていますが、唯一の注意点は、一度に25の接続しか開けないことです(共有ホスティングルール)。ニュースの更新を投稿したり、コミュニティ機能(コメント、ファンアートのアップロードなど)をサポートしたりするために、これを自分のWebサイト(間違いなく通常の使用方法)で使用するつもりです。それはすべて大丈夫です-しかし!これは物事が面白くなるところです...私はゲーム内で私のウェブサイトに投稿されたこの同じ情報を表示したいです。これは、Webサイトとゲームの両方でmySQLを使用することを意味します。ニュースの投稿などに加えて、ゲーム内でチャットやサーバーリストなどに使用する予定です。私はその25接続ルールについてほとんど心配しています。 質問#1を尋ねるに至ります:これは機能しますか? これに加えて、NoSQLのパフォーマンスとリアルタイムゲームに適していることについて読みました(間違っている可能性があります。私はここに到達するために巨大なRDBMSとNoSQLのフレーム戦争を経験し、おそらく火傷します)。基本的に、すべてのゲームオブジェクトデータにMongoDBを使用します。 繰り返しになりますが、何らかのコンテキストを提供すると役立ちます。240MBのMongoDBパッケージを無料で提供するホスト(MongoLab)を見つけました。アップグレードが必要になるまで使用します。240MBを考えると、約60,000人のプレーヤーを保存できると計算しました(各プレーヤーが約4KBで、保存される可能性のある他のものを無視する場合)。記憶域、および将来的にもっとお金を払わなければならない場合(ゲームが成功する場合)は問題ではありません。私が現在すべてのゲームオブジェクトデータにMongoDBを使用する唯一の理由は、このゲームオブジェクトデータにアクセスする頻度(プレーヤーが殺されたとき、アイテムを拾ったとき、銃を撃ったときなど)のためです。また、単純なスキーマフリードキュメント(ゲームオブジェクトデータのマッピングを容易にする)も好きです。かつて、 私は自分のWebサイトで同じMongoDBを使用して、プレーヤーのプロファイル情報を表示するつもりです(完全な一貫性は気にしません。ゲーム内の更新からの遅延は問題ありません)。2番目の質問、質問2に進みます。これは良いアイデアですか、それとももっと良い方法がありますか? このゲームは、次のような起動エクスペリエンスを備えています。 クライアントのログイン(MongoDB) クライアントは、チャットルーム(MySQL)のあるゲーム内のホームページにあります。 クライアントはサーバーリストに移動します(MySQL) クライアントはサーバーに接続して再生します サーバーはすべてのプレーヤーの更新を通信します(MongoDB) これは私がそれが機能すると想像した方法です。これはあなたによく見えますか、またはこの計画をどのように改善できるかについての提案がありますか?

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