ゲーム開発

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

6
Vector3はVector2を継承する必要がありますか?
私はクラスのカップル作成していますVector2(X&Y)をし、Vector3(X、Y&Z)が、私はするかどうかわかりませんVector3から継承するVector2、またはにするかどうかのメンバ変数を再実装するm_xとm_y、再び?それぞれの長所と短所は何ですか(継承と再定義)。 編集: C ++(VS2010)を使用しています。
18 c++  architecture 

2
無料のTOSまたはプライバシーポリシーテンプレートはどこで入手できますか?
私は、開発中に「お尻を覆う」ことのいくつかに注意を払うべきだと思うようになりました。特に、「サービスの利用規約」と「プライバシーポリシー」に関する文の無料サンプルまたはテンプレートを探しています。 私は実際に法律の学位を取得しており、IP、契約などについて何かを知っています。しかし、この種の業界全体の定型文書で車輪を再発明しない方が常に良いです。 このサイトまたは他のStackExchangeサイトのどこにもこの回答が見つかりませんでした。正当なサイトの中でも、有料のテンプレートしか見つかりませんでした。 これらのテンプレートを無料で提供する優れたWebサイトを知っている人はいますか?必要に応じて一般的なものを編集することもできますが、オンラインゲームを対象としたものをいくつか用意しておくのが最善です。 更新 私がそこに見つけたいくつかの有望なリソース: TRUSTeプライバシーポリシージェネレーター: http://www.truste.com/technology/#labs TRUSTeシールなどを使用するためにお金を払うことになっていると思いますが、それが出発点としてこれを使用することを止めるわけではありません。最初に彼らのTOS(LoL)を読むのが助けになると思います。 Legal River TOS /プライバシーポリシージェネレーター: http://terms-of-service-generator.legalriver.com/ http://privacy-policy-generator.legalriver.com/ 今のところ、これらから始めて、私のニーズに合わせて作り直します。誰かがオンラインゲーム向けのより良いゲームを知っているかどうか、まだ聞きたいです。

2
これらのボクセルデータファイル形式の長所と短所は何ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 7か月前に閉鎖されました。 .VXL .VOX .KVX .KV6 .V3A .V3B 上記のいずれかを使用する価値があるかどうか、または自分でロールバックする必要があるかどうかを判断しようとしています。重要度の決定要因は次のとおりです。 ボクセルデルタまたは数値変換記述を使用した、アニメーションサポート(ボクセルに関してはこれが難しい側面であることは承知しています)。 シンプル(または少なくとも簡潔な形式) 圧縮 私の知る限り、Tiberian Sun VXL形式はアニメーション用に設計された唯一の形式ですが、Voxelstein3Dの名声のKen Silvermanは、VXLはアニメーションをサポートしていないと主張しました(彼の言葉では)。したがって、ボクセルデータのファイル拡張子の明らかな選択のように思えるので、2つの異なる.VXL形式がないのではないかと思います...医療画像のコンテキストからかもしれません。 ボクセル形式の確かな経験を持つ人が来て、彼らの経験で実際の長所と短所についてコメントする必要があります。この質問は、JPGとPNGとGIFを比較するのと同じ方法で検討してください。


2
2Dプラットフォームゲームで、プレーヤーが傾斜した地面をスムーズに動くようにする方法は?
2Dプラットフォームゲーム用の物理エンジンを開発しています。衝突検出に分離軸定理を使用しています。地面は、プレーヤーを軸に合わせた境界ボックスとして、方向付けられた境界ボックスから構築されます。(具体的には、SATを使用してOBBのスイープ衝突検出を実行する「Realtime Collision Detection」という本のアルゴリズムを使用しています)。動的オブジェクトが環境に侵入しないように、衝突応答でかなり小さな(ゼロに近い)復元係数を使用しています。 エンジンはほとんど正常に動作しますが、発生する可能性のあるいくつかのエッジケースについて心配しているだけです。たとえば、図では、A、B、Cが地面です。プレーヤーはBに沿ってAに向かって左に向かっています。不正確なため、プレーヤーボックスはボックスBのわずかに下にある可能性があります。したがって、Aに到達すると、プレーヤーの左下隅がAの右側と衝突する可能性がありますが、これは望ましくありません(プレーヤーがAの上部をスムーズに移動するためです)。プレイヤーがボックスCの上にいて、Bに向かって左に移動すると、同様の問題が発生するようです-プレイヤーの左下隅が上下にスライドする代わりに、Bの最も極端なポイントがプレイヤーの左側と衝突する可能性がありますBの上 Box2Dは、エッジ形状の接続情報を保存することでこの問題を処理しているように見えますが、この情報を使用して問題を解決する方法がよくわかりません。 どんな提案も大歓迎です。
18 2d  physics  platform 

4
滑らかな2D照明効果を実現するにはどうすればよいですか?
XNAで2Dタイルベースのゲームを作成しています。 現在、私の雷はこのように見えます。 このように見えるようにするにはどうすればよいですか? 各ブロックに独自の色合いがある代わりに、滑らかなオーバーレイがあります。 ある種のシェーダーを想定しており、周囲のタイルの照明値をシェーダーに渡すことを想定していますが、私はシェーダーの初心者なので、よくわかりません。 私の現在の照明は光を計算し、次にそれをaに渡しSpriteBatch、色合いパラメーターで描画します。各タイルにはColor、色合いに使用される照明アルゴリズムで描画する前に計算されるがあります。 これが現在どのようにライティングを計算するかの例です(左、右、下からもこれを行いますが、このフレームごとに行うのは本当にうんざりしました...) したがって、実際にこれまでに光を取得して描画することは問題ありません! 霧の霧とグラデーション円形オーバーレイを使用して滑らかな稲妻を作成する無数のチュートリアルを見てきましたが、すでに各タイルに稲妻値を割り当てる素晴らしい方法があります。 レビューする 照明の計算(完了) タイルの描画(完了、シェーダー用に変更する必要があることはわかっています) シェードタイル(値を渡し、「グラデーション」を適用する方法)

1
2D水シミュレーションのアイデア
私は、2Dで水をシミュレートするために、かなり大きい(それを呼び出す)ブロックされた/ブロックされていないアレイ(側面から見た)に対する入力を探しています。次のアイデアを思いつきました。 セルオートマトン セルオートマトンを使用して、CPUで大規模な並列シミュレーションを実行します。次のような簡単なルールで 下部に開いているセルがある場合は、そこに移動します。 左右のセルを確認し、2つからランダムに1つを選択して移動します。 長所 実装が簡単。 マルチプレイヤーシステムでの意味のある/決定論的。 短所 おそらく本当に遅いです。 納得できません。 GPUの流体力学 次のようなテクスチャに対してGPUで流体力学の大まかな近似を実行します。 +------+-----+-----+-------+ |R |G |B |A | +------+-----+-----+-------+ |vX |vY |NULL |Density| +------+-----+-----+-------+ 長所 おそらく本当に速いです。 かなり説得力があります。 さらにピクセルシェーダーを使用すると、直接レンダリングできます。 短所 実装が難しい。 微調整が難しい。 レベルのサイズのテクスチャを1つ割り当てることはできません。 グリッド領域を重ねることもできますが、これによりさらに複雑になります。 粒子 粒子を使用して水をシミュレートします。加算ブレンディングを使用したレンダリング中に、アルファチャネルに乗算関数を適用して、水の鮮明なエッジを与えます。 長所 おそらく素敵になります。 実装が簡単。 レンダリングが簡単。 マルチプレイヤーシステムでは意味がありますが、転送にはかなりの帯域幅が必要になります。 短所 粒子間効果はおそらく遅いでしょう(近傍検索)。 固体空間から水が「漏れる」可能性があります(固体空間が小さいため、たとえば1px)。 粒子のサイズによっては、水に奇妙な穴が開く可能性があります。 上記の両方は、粒子を実際のサイズよりも近くにドリフトさせることで緩和できますが、粒子間および粒子/ランドスケープのパフォーマンスに問題が発生します。 さらにアイデアはありますか? 注:これは概算であり、ここでは物理的に正しい水を探しているわけではありません-「十分」なもの(迅速で汚れた場合のボーナスポイント)だけです。ゲームはマルチプレイヤーなので、残念ながらレベル全体を継続的にシミュレートする必要があります。

4
XNA for C ++のようなものはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 XNAの機能は気に入っていますが、C ++ゲーム開発に興味があります。問題は、PNGファイルの読み込みからウィンドウを開くまでのすべてを心配する必要があることです。これは少し面倒です。 これらの問題を解決するために、XNAのc ++バージョンが本当に欲しいです。
18 xna  c++ 

4
マルチスレッドエンジンのスレッド間でメッセージの受け渡しを煩雑にしないようにするにはどうすればよいですか?
現在取り組んでいるC ++エンジンは、いくつかの大きなスレッドに分割されています。生成(手順コンテンツの作成用)、ゲームプレイ(AI、スクリプト、シミュレーション用)、物理学、レンダリングです。 スレッドは、スレッドからスレッドに渡される小さなメッセージオブジェクトを介して相互に通信します。ステップ実行前に、スレッドはすべての受信メッセージを処理します-変換の更新、オブジェクトの追加と削除など。時々、あるスレッド(世代)が何か(アート)を作成し、それを別のスレッド(レンダリング)に渡して永久所有権を取得します。 プロセスの初期段階で、いくつかのことに気付きました。 メッセージングシステムは面倒です。新しいメッセージタイプの作成とは、ベースMessageクラスのサブクラス化、そのタイプの新しい列挙の作成、およびスレッドが新しいタイプのメッセージを解釈する方法のロジックを記述することを意味します。それは開発のためのスピードバンプであり、タイプミスのエラーを起こしやすいです。(Sidenote-これに取り組んでいると、動的言語がどれほど優れているかを理解できます!) これを行うためのより良い方法はありますか?boost :: bindのようなものを使用してこれを自動化する必要がありますか?そうすると、発言したり、タイプなどに基づいてメッセージを並べ替えたりすることができなくなります。そのような管理が必要になるかどうかはわかりません。 これらのスレッドは非常に多くの通信を行うため、最初のポイントは重要です。メッセージを作成して渡すことは、物事を実現するための大きな部分です。私はそのシステムを合理化したいが、同じように役立つかもしれない他のパラダイムにも開かれたい。これを簡単にするために考えるべき異なるマルチスレッド設計はありますか? たとえば、まれにしか書き込まれないが、複数のスレッドから頻繁に読み取られるリソースがあります。すべてのスレッドがアクセスできる、ミューテックスによって保護された共有データを持つというアイデアに開かれるべきですか? ゼロからマルチスレッドを念頭に置いて何かを設計するのは初めてです。この初期段階では、私は実際にそれが本当にうまくいくと考えています(考慮)が、スケーリングと、新しいものを実装する際の私自身の効率が心配です。

4
目標点についてカメラを周回させるにはどうすればよいですか?
カメラが宇宙を自由に動き回るシーンを描いています。カメラクラスは、(またはビューのトラック続けるを見てポイント、カメラの位置、およびアップベクトル)。これらのベクトル/ポイントは、gluLookAtに渡されます。 パンとズームの実装はほとんど簡単です。しかし、私はポイントの見方をめぐるローテーションをより多くの問題であると感じています。2つの角度をとる関数Camera.rotateを作成します。1つは上/下に回転し、もう1つは視点を中心とした仮想球に沿って左右に回転します。 これを行う簡単な方法はありますか? 私は(簡単に)四元数について読みましたが、自分のシーンの構成が比較的単純であるため、簡単な解決策があるかどうかを確認したかったのです。

9
照明モデルの線形減衰成分には物理的な対応物がありますか?
OpenGL(および他のシステム)では、ポイントライトの距離減衰係数はのようなものです1/(c+kd+sd^2)。ここdで、はライトからの距離c、kおよびsは定数です。 sd^2現実に予想される、よく知られている物理的に正確な「逆二乗則」減衰をモデル化するコンポーネントを理解しています。 定数c(通常は1)は、非常に小さな値d(およびおそらくゼロ除算の防御)を処理するためにあると思います。 kdモデルでの線形コンポーネントの役割(kOpenGLではデフォルトでゼロ)。いつ他の値を使用しkますか?これは「線形減衰」コンポーネントと呼ばれますが、ライティングモデルでどのような動作をシミュレートしますか?私が知っている光の物理モデルには現れないようです。 [編集] David Gouveiaは、線形係数を使用して、シーンを開発者/アーティストが意図したものに近づけたり、ライトが落ちる速度をよりよく制御したりするのに役立つ可能性があると指摘しています。どちらの場合、私の質問は「線形減衰係数に物理的な同等物がありますか、それとも単にシーンの光の品質を制御するためのファッジ係数として使用されていますか?」
18 lighting 

1
未知の特許侵害で訴えられないようにするにはどうすればよいですか?
Zyngaがいくつかの非常に明白な実装で訴えられているというニュースがあります。これは、ゲーム業界が地雷でいっぱいであり、すべてのターンで踏まれるのだと思うようにしています。誰もが被害を最小限に抑えるためにどのような入力を必要としますか? 最新:http : //www.gamasutra.com/view/news/36657/Zynga_Sued_Over_Prize_Redemption_Patents.php 別の例:https : //w2.eff.org/patent/wanted/patent.php?p=sheldon

4
ボクセル地形を表すためにどのデータ構造を使用する必要がありますか?
ボクセルに関するウィキペディアのページによると、「[...]ボクセルの位置は、他のボクセルとの相対的な位置(つまり、単一のボリュメトリックイメージを構成するデータ構造内の位置)に基づいて推測されます。」 そのようなデータ構造をどのように実装する必要がありますか?私は八分木について考えていましたが、聞いたことがない何か他のものがあるかどうか疑問に思っています。

2
RTSゲームプロトコル
私はマルチプレイヤーRTSゲームについて考えてきました。私が回避できないと思われる部分は、ユニットの動きを同期させることです。ユニットAを移動してXYをスポットする場合、他のクライアントに中継するサーバーにそれを通信する必要があります。 コミュニケーションがどのように見えるか興味があります。ユニットAをJZからXYに移動していることをサーバーに伝えますか?代わりに、運動座標を座標で伝える必要がありますか?あるクライアントから別のクライアントにユニットの動きを伝える最も効率的な方法は何ですか? 編集 これはstackoverflowからの再投稿された質問です。このサイトはおそらく質問のより良い場所であることがわかりました。 その投稿からのより良い答えの1つ: クライアントサーバーネットワーキングパラダイムを使用するつもりだと思いますか?その場合、クライアントがユニットの実際の配置を処理することを信頼できないため、そのタスクをサーバーに委任する必要があります。次に、各クライアントのティックごとにコマンドリストを取得し、各ユニットの動きを計算します。これが完了したら、次に各クライアントに関連する各ユニットの位置をリレーします(マップ全体、またはビューごとに)、プロセスを再度開始します。
18 movement  rts 

3
ゲームは中毒性があるように設計されていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 若い頃は、何時間もゲームをしていました。私は彼らに夢中になったと思います。今、私はソフトウェア開発者であり、ゲームが中毒になるように明示的に設計されているかどうか疑問に思っていましたか? ゲーム開発者は、ユーザーをできるだけ長くプレイし続けることに関心があります。Operant ConditioningとVirtual Skinner Boxについて読んだことがあります。心理学者によると、ほとんどのゲームは固定報酬システムを使用して、プレーヤーを最初に夢中にさせます。たとえば、最初はかなり速くレベルアップできます。その後、報酬の頻度は徐々に低下しますが、プレイヤーはフックされているため、プレイを続けます。最終的に、可変報酬頻度に切り替えます。つまり、報酬はランダムに発生し、めったに発生しません。この段階では、プレイヤーはゲームを楽しむことさえできませんが、それでも報酬の修正と結果として得られる良い感情を得るためにプレイします。これは、スキナーボックスでラットを調整する方法に非常に似ています。 報酬は、ゲーム世界での社会的地位の認識の形をとることができ、仮想アイテムに対して一生懸命働いて、それを獲得するときに大きな価値を与え、現実世界では満たされないコントロールとパワーを感じ、他の場所に逃げ、何らかの目標の進捗を測定し、即座にフィードバックを得ることができます。プレイヤーがゲームを放棄した場合、罰が適用されます。つまり、社会的地位やアイテムを失います。しばらくすると、報酬はゲーム自体に関連付けられるため、パブロフの犬のように、ゲームの光景でさえも渇望を呼び起こすことができます さらに、ビデオゲームの没入性、リアルなグラフィックスからの豊かな視覚刺激、プレイに必要な複雑な思考、優れた自律性、高速フィードバックループにより、脳のドーパミンレベルが増加し、流れの感覚。効果的な報酬システムと組み合わせて、ゲームは脳の心地よい中心を刺激できます。これは、数回のセッションの後、以前と同じドーパミンレベルを達成するために、プレーヤーがより長くプレイする必要があることを意味します。演奏するとき、幸福感や引きこもりからの解放を経験する人さえいます。現実の世界をゲームの世界に置き換え、ゲーム内の動機のみに焦点を合わせます。プレーヤーは長時間シャワーをやめたり、衛生状態が悪化したり、社会的に孤立したり、学校を中退したり、太りすぎたり、家族から引きこもったり、 参照: http://www.cracked.com/article_18461_5-creepy-ways-video-games-are-trying-to-get-you-addicted.html http://www.betabunny.com/behaviorism/Conditioning.htm http://www.world-science.net/exclusives/081111_gaming.htm ゲームは抵抗するのが面白すぎますか?

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