ゲーム開発

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

4
ゲームにJavaアプレットを使用してはならない正当な理由はありますか?
マルチプレイヤーのブラウザベースのゲームを作りたいです。アプレットを使用することの良い点は、クライアントとサーバーを同じ言語(java / closure / scala / etc)で作成できることです。私はhtml5とjavascriptがあることを知っていますが、サーバー側のjavascriptは、jvmプラットフォームとブラウザサポートほど成熟していないので、まだ不安定です。 アプレットは広く使用されていないようですが(Runescapeを除く)、それらが不適切である理由はありますか、それとも、幼少期に開発した評判が悪いためですか?
9 java  web 

4
非整列衝突回避(ステアリング)を使用しているときにオブジェクトの衝突が移動する
まれなケースだと思うのに、未調整の衝突回避に問題があります。2つのオブジェクトを互いに近づけるように設定しましたが、オフセットはわずかです。そのため、1つのオブジェクトがわずかに上方向に移動し、1つのオブジェクトがわずかに下方向に移動しています。 私の位置合わせされていない衝突回避ステアリングアルゴリズムでは、オブジェクトの前線と、これら2つの線が最も近い他のオブジェクトの前線上の点を見つけています。これらの最も近い点が衝突回避距離内にあり、それらの間の距離が2つのオブジェクトの境界球の2つの半径よりも小さい場合、オブジェクトは適切な方向に離れるはずです。 問題は、私の場合、線上の最も近い点が実際の衝突点から本当に遠くにあると計算されることです。これは、オブジェクトが通過するときに、各オブジェクトの2本の前進線が互いに離れるからです。問題は、これが原因でステアリングが行われず、2つのオブジェクトが部分的に衝突することです。 衝突点を正しく計算する方法について何か提案はありますか?おそらく、2つのオブジェクトのサイズを考慮に入れているのでしょうか。

4
ビデオゲームの照明に関する良い本はありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 照明はビデオゲームで基本的な役割を果たします。良い照明のないビデオゲームはフラットであり、人生はありません。シーンをどのように照らす必要があるか、そして説得力のある世界の作成にどのような要因が関係しているかを説明した本を探しています。
9 books  lighting 

3
パーティクルシステムで独立した透明度を注文する
私はパーティクルシステムを作成していて、次の理由により、パーティクルを並べ替えることなく適切なアルファブレンディングを実現するためのトリックを見つけたいと思います。 各パーティクルは単一のメッシュ内のポイントスプライトであり、シーングラフ機能を使用して透明なノードを並べ替えることはできません。ただし、システムノードは適切にソートする必要があります。 パーティクルの位置は、初期速度、加速度、時間からシェーダーで計算されます。システムをソートするには、CPUでこのすべての計算を実行する必要がありますが、これは避けたいものです。 カメラの位置に対して何百ものパーティクルを並べ替え、フレームごとにGPUにアップロードすることで、静かで重い操作が可能になります。 アルファテストはGLES 2.0では十分高速であるように見え、非透過ではあるが「マスクされた」テクスチャに対しては問題なく機能します。それでも、半透明の粒子には十分ではありません。 これをどのように扱いますか?

2
水に浮かぶオブジェクトのシミュレーション
トップダウンの釣りゲームに取り組んでいます。湖を動き回るボートに関して、いくつかの物理演算と衝突検出を実装したいと思います。メインモーターまたはトローリングモーターのいずれかからの推力、オブジェクトへの風の影響、およびオブジェクトへの水の抗力を実装できるようになりたいと思います。 私は遠い物理エンジンを見てきましたが、物理エンジンを使用した経験がなく、遠いものがこのタイプのものに適しているかどうかはよくわかりません(ほとんどのデモは垂直方向への重力の適用であるようですトップ/ダウンタイプモデル)。 farseerエンジンは適切でしょうか?または別のエンジンの方が適していますか?

2
OS XでOpenGLとフルスクリーンを処理する方法
私はほとんどの開発をOS Xで行っており、現在のゲームプロジェクトではこれがターゲット環境です。ただし、ゲームをするときはWindowsでプレイします。私はWindowsゲーマーとして、Alt + Tabをゲーム内から最後に開いたアプリケーションに切り替えることに慣れています。 OS XIでは、現在、それをサポートするゲームも、それを可能にする方法も見つけることができません。私の現在のプロジェクトはSDL 1.3に基づいており、cmd + tabはアプリケーションに直接送信され、オペレーティングシステムによってインターセプトされないシーケンスであることがわかります。 今、私の最初の試みは、確かに機能するcmd + tabでレンダリングウィンドウを非表示にすることでしたが、ユーザーがタブでアプリケーションに戻ったときに、SDLの非表示のOpenGLウィンドウを復元できないという欠点があります。まず、そのために発生するイベントがないか、イベントを見つけることができません。次に、アプリケーションウィンドウが非表示になっていると、ゲームがアクティブなアプリケーションのままで、ウィンドウが消えただけであるというコアの問題があります。 それは信じられないほど迷惑です。 alt + tabのWindows / Linuxの動作を概算する方法はありますか?
9 opengl  sdl  macos 


8
Javaの背景からゲーム開発を学ぶのに最適なリソースは?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 私はエンタープライズJavaプログラマーですが、私が興味を持っていたのは、ゲーム全体を作成できるようにするというアイデアでした。 誰かがアドバイスや本の推奨事項を提供できるかどうか疑問に思っています。 私が最も興味を持っているのは、ゲームエンジンの設計と実装です。人々は「ああ、でも自分で書く理由はたくさんある」と言うかもしれません-それは純粋に学習目的、物事がどのように機能するかを見るなどのためです。 これまでLWJGLを調べましたが、それほど深刻なことは何も達成していません。 ありがとう。
9 java 

4
バッチ処理のパフォーマンスを向上させる方法
私はモバイルプラットフォーム用のスプライトベースの2Dゲームを開発しており、OpenGL(まあ、実際にはIrrlicht)を使用してグラフィックスをレンダリングしています。まず、シンプルな方法でスプライトレンダリングを実装しました。すべてのゲームオブジェクトは、独自のGPU描画呼び出しを持つクワッドとして描画されます。つまり、200のゲームオブジェクトがある場合、フレームごとに200描画呼び出しを行いました。もちろん、これは悪い選択であり、すべてのGPU描画呼び出しに関連付けられたCPUオーバーヘッドが少しあるため、私のゲームは完全にCPUバウンドでした。ほとんどの場合、GPUはアイドル状態のままでした。 今、私はオブジェクトを大きなバッチに収集し、これらのバッチを少数の描画呼び出しのみでレンダリングすることで、パフォーマンスを改善できると思いました。バッチ処理を実装し(同じテクスチャを共有するすべてのゲームオブジェクトが同じバッチでレンダリングされるように)、問題がなくなったと考えました...フレームレートが以前よりもさらに低いことを確認するだけです。 どうして?ええと、私には200(またはそれ以上)のゲームオブジェクトがあり、それらは1秒あたり60回更新されます。CPU内の頂点の新しい位置(変換と回転)を再計算する必要があるすべてのフレーム(モバイルプラットフォームのGPUはインスタンス化をサポートしていないため、そこで実行することはできません)。この計算は1秒あたり48000(200 * 60 * 4以降)すべてのスプライトには4つの頂点があります)、単に遅すぎるようです。 パフォーマンスを改善するために私ができることは何ですか?すべてのゲームオブジェクトが(ほぼ)すべてのフレームで移動/回転しているため、頂点の位置を再計算する必要があります。私が考えることができる最適化は、ローテーションのルックアップテーブルだけなので、計算する必要はありません。ポイントスプライトは役に立ちますか?厄介なハックはありますか?他に何か? ありがとう。

3
Android / iOSターンベースのボードゲーム用のゲームサーバー
現在iPhoneゲームをプログラミングしていますが、オンラインマルチプレイヤーモードを作成したいと考えています。将来的には、このアプリはAndroidデバイスに移植される予定なので、ゲームサーバーを作成する方法を考えていましたか? まず最初に、どの言語を選択すればよいですか?サーバーがobjective-cとJavaで書かれたプログラムの両方と通信できるようにする方法は? 次に、それを効果的に行う方法は?クライアントでソケットを開くとよいですか(2つあります)?どのような情報をサーバーに送信する必要がありますか?クライアントに?


6
画像をテクスチャ、Linux、C、OpenGlにロードするためのライブラリ
ファイルからOpenGLテクスチャに画像をロードするためのLinux用のシンプルな自己完結型Cライブラリを探しています。ライセンスは完全に自由であるべきです:zlib、bsd、mitまたは何か。SOILを見つけましたが、長い間更新されていません。他に何かありますか、それとも自分で書く必要がありますか? PS私はglfwを使用します。画像をロードするための非推奨の関数のみがあります。
9 opengl  textures  c  loading  linux 

2
2Dオブジェクト整列境界ボックス交差テスト
2つのオブジェクト配置の境界ボックスがあります(つまり、軸配置ではなく、オブジェクトとともに回転します)。オブジェクトに配置された2つのボックスが重なっているかどうかを知りたい。(編集:注-私は軸に沿った境界ボックステストを使用して遠くのオブジェクトをすばやく破棄しているので、クワッドルーチンが少し遅いかどうかは関係ありません。) 私の箱は4つのX、Yポイントとして保存されます。答えを探して回りましたが、例の中の変数名とアルゴリズムを理解して、特定のケースに適用することはできません。 誰かがこれがどのように行われるかを明確かつ簡単な方法で教えてくれますか?ありがとう。(特定の言語は重要ではなく、Cスタイルの疑似コードで問題ありません。)

6
MMOゲームでGTAのような物理学を備えた車両を使用することは可能ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 8か月前に閉鎖。 現実的な物理学を備えた車両を使ったMMOゲームを見たことがなく、高速を実現できるのはなぜですか?ネットワーク帯域幅の制限が原因ですか? Second Lifeには乗り物がありますが、物理は貧弱で、最高速度は悲惨です。
9 physics  mmo 

1
バッファオブジェクトとシェーダーを含むスプライトシート
シェーダーとバッファーを使用してスプライトシートを処理する「最良の」方法は何ですか?即時モードでは、描画時にスプライトのtexcoordsを変更するのは簡単ですが、最新のopenglでこれを行う方法はわかりません。すべてのtexcoordをバッファに格納し、すべてのスプライトのポインタを変更する必要がありますか、それとももっと良い方法がありますか?

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