タグ付けされた質問 「first-person-shooter」

3Dまたは疑似3Dアクションゲームのジャンルは、一人称視点と遠距離発射体戦闘へのバイアスによって最も有名に分類されています。


1
FPSでのマウスの照準
一人称シューティングゲームを作成し、カメラをマウスで動かしたいと思います。問題は、カーソルが画面の制限に達すると、カメラが回転しなくなることです。とにかくマウスを中央に保ち、その動きを検出するにはどうすればよいですか?

14
マルチプレイヤーゲームで「弾丸時間」を実装する方法
私は以前にそのような機能を見たことはありませんが、興味深いゲームプレイの機会を提供するはずです。 はい、そうです、マルチプレイヤー/リアルタイム環境(FPSを想像してください)で、スローモーション/ブレットタイムエフェクトをどのように実装できますか? 現在スローモーションになっているプレイヤーの幻想のようなもの。だから誰もが彼を「リアルタイム」に見ているが、彼はすべてが遅くなっているのを見ている。 更新 補足:FPSゲームを楽しくするためには、バランスをとる必要があることに注意してください。そのため、この弾丸時間機能は堅固でなければならず、他のプレイヤーから奪うことなく「プレイヤー」に小さな利点を与えます。 さらに、2人のプレイヤーが同時に弾丸時間を有効にできる可能性があります。 さらに: 私はこれが何をとっても将来的に実装するつもりです。そして、アイデアはこれすべてのために全く新しいゲームエンジンを構築することです。それが新しい選択肢を提供するなら、私はアイデアを聞くことに興味があります。 一方、ここで私のチームと一緒にこれについても考えています。理論が作成されたら、ここで共有します。 これも可能ですか?それで、「これも可能ですか」という質問に答えられました。今こそ最良の解決策を見つけるときです。 私は、疑似コードに近い何かを持つプロトタイプ理論のように、非常に優れたものが登場するまで「答え」を保持しています。 物理学者と哲学者の言うこと: トピックは閉じられているため、リンクは興味のある人向けです。 https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame https://philosophy.stackexchange.com/questions/1704/seeing-everything-in-slow-motion-but-being-real-time 物理サイトで質問を書くときに考えた条件(コピー済み): スローモーションの影響下にあるプレーヤーは、すべてをはるかに遅いペースで見るため、より正確なアクション(射撃、動きなど)を行う利点があります。 彼の行動はリアルタイムで他のプレイヤーに影響を与えるはずです。 影響を受けたプレイヤーを見ているプレイヤーは、自分が行ったアクションを体験できることを除いて、違いは見られません(プレイヤーが撃たれる/影響を受けると、ロケットをかわします)。 プレイヤーがこの効果から出たとき、彼は単に通常と同じペースで続行します。(これが不可能な場合、時間が同期されるまで彼は苦しむ必要があると思います) バレットタイムの参照(スローモーション): 悲しいことに、ほとんどの実装はシングルプレイヤーのみです http://www.gamesradar.com/a-videogame-history-of-bullet-time/

2
リアルタイムFPSゲームでサーバーに送信するもの
ローカルプレイヤーの位置をサーバーに伝える正しい方法は何ですか?一部のドキュメントでは、入力が生成されるたびに送信する方が良いと述べています。また、いくつかの文書は、クライアントが一定の間隔で位置を送信すると述べています。 入力を送信するアプローチでは、プレーヤーが方向キーを押している場合はどうすればよいですか?つまり、すべてのフレームでサーバーにパッケージを送信する必要があります。多すぎませんか?また、マウス入力からのプレーヤーの回転もあります。以下に例を示します。 http://www.gabrielgambetta.com/fpm_live.html 固定間隔アプローチで位置を送信するのはどうですか。サーバーに送信するメッセージが少なすぎます。ただし、応答性も低下します。 それで、どちらの方が良いですか?


5
最高のヘッドボブ式は何ですか?
空間内のポイント、移動方向、および開始からの時間を考えると、頭のボブをシミュレートする説得力のある、不調の式は何ですか?以前のゲームで成功したことは何ですか?どのボブが病気を引き起こすのかについての研究はありますか? 上軸に適用されるナイーブヘッドボブ式の例: http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29

2
カメラの代わりに銃から銃弾を撃ちながら、レチクルに対して正確に保つ
私は一人称ゲームに取り組んでいますが、問題に遭遇しました。私のゲームでは、プレイヤーの銃がレンダリングされ、画面の中央にレチクルがあります-このように: まず、レンダリングされる銃のモデルがなかったと想像しましょう。その後、弾丸を発射するのは簡単です-プレイヤーの「目」が正確にある場所に弾丸をスポーンし、次にトリガーを使用して、プレイヤーが見ている方向に基づいて速度を計算します。 しかし、今、銃のモデルを追加するとき...プレイヤーの目があるところに弾丸をスポーンするだけではなく、銃の先端にスポーンする必要があります(右?)。だからあなたはそれをしますが、その後...レチクルが指していた場所にヒットするように弾丸をどのように移動しますか? 私のゲームの弾丸(この場合は実際にはロケットです)はその動きが見えるほどゆっくりと移動するので、弾丸が観測するには速すぎる場合に通常機能するいくつかの回避策が機能しないことに注意してください。たとえば、スポーンしなかったため、銃の先端から出てきているように見える場合、プレイヤーは間違いなくそれに気づくでしょう。

4
プレイヤーがオンラインFPSでウォールハッキングするのを防ぎますか?
なぜマルチプレイヤーの一人称シューティングゲームのウォールハッカーに文句を言うのですか? サーバー側のすべてのプレイヤーに対してオクルージョンカリングを実行することはできませんか?たとえば、プレーヤーがクライアントの錐台に表示され、オブジェクトによって遮られていない場合にのみ、プレーヤーxyz情報をクライアントに送信しますか?衝突ジオメトリが非常に単純化されていても、ほとんどの場合、不正行為者は戦術情報を受け取りません。 なぜこれをしないのですか?

1
ネットワークスムージングの実装
多重一人称シューティングゲームを作成しています。クライアントは、その位置を固定レート(現在は10Hz)でサーバーに送信します。サーバーは、すべてのプレーヤーの位置を含む単一のメッセージをすべてのプレーヤーに同じレート(10Hz)で送信します。 予想どおり、60fpsゲームは1秒間に10回しか更新を受信しないため、動きはかなり不安定です。この動きをスムーズにする最良の方法は何ですか?最も明らかな方法は、最後の2つのパケット間を補間することです。これにより、新しいパケットを受信すると補間が終了します。ただし、これにより、すべてのプレーヤーに100ミリ秒の遅延が瞬時に追加されます。 他の方法は、最後のいくつかのパケットから推測された速度と加速度を使用して、次のパケットが到着する前にプレーヤーがどこにいるかを予測することですが、予測が間違っている場合、プレーヤーは新しいパケットが受信されるとすぐにジャンプする傾向があります。 AAAタイトルがこの問題をどのように解決するか知っていますか?

2
Haloは発射体をどのように描画しますか?
発射物を描いてビルボードをしようとしています。発射体は、ビルボードの「パーティクル」と「トレーサー」で構成されています。発射物を広告するとき、プレイヤーの視線方向が発射物の軸に平行であるとき、それは見えません。 Haloまたは他のゲームはこの問題をどのように解決し、発射物が背後から見えるようにしますか。

2
マルチプレイヤーFPSサーバー側のパフォーマンス
これはMMOのパフォーマンスに関連していますが、質問は帯域幅に関するものです。これはCPUの負荷に関するものです。 node.jsとwebGLを使用して簡単なFPSを作成しました。これは非常にシンプルで、MIDI MazeのBuddyMazeクローンによく似ています。ほとんど何も起きていません。全員が2次元(高さなし)で動き、単純な発射体を発射し、壁にぶつかります。 今、サーバーに複数の接続を行い、すべてのプレイヤーが円を描くように高速で射撃する場合、サーバーがコアを使い果たして速度が低下する前に、ゲームで約15〜20人のプレイヤーを獲得できます。これは、サーバーで30 fpsで実行している場合です。10 fpsでは、約25-30の接続が得られます。これはかなり悪いことです。ゲームにはすぐにもっと多くのことが必要になるからです。これを実現するためには、より多くのプレイヤーにフィットさせる必要があります。 私の兄弟は、同僚のTF2サーバーに関する統計情報をいくつか指摘しました。彼のサーバーは私たちのサーバーよりもスペックが低いですが、TF2を実行します。明らかに毎秒500ティック、コアあたり36ユーザーという非常に複雑なゲームです。また、現在、使用する帯域幅よりもはるかに多くの帯域幅を消費していますが、それ以上下げることはまだ試みていません。 これはどのように可能ですか?サーバーのパフォーマンスをこの程度まで向上させるには、どのようなトリックがありますか?私が知っているいくつかのことは次のとおりです。 サーバーのフレームレートを下げ、クライアントの位置を補間します。いくつかの利点が得られましたが、明らかにTF2サーバーはこれを気にしません。 クライアントでの衝突検出などの高価なことを行い、サーバーで頻繁にそれを検証します。私はまだこれを引っ越していません、今夜にしましょう。それでも、私はそのような大きな利益を期待していません。 計算を最小限に抑えるために、競技場を地域(四分木)に分けます。この機会はまだありません。 node.jsはTF2が使用しているものよりもかなり遅く、この種の高強度タスクには適さない可能性があるという残念な可能性を検討しました。 それはすべてサーバー構成の魔法ですか? それでは、サーバー上で最低限必要なことだけを行いながら、完璧なゲーム体験を維持するための業界の他のトリックは何ですか?「CPU時間を節約するためにクライアントを延期する」と「クライアントを信頼しない」との間に大きな矛盾があります。 更新 プロファイリングは、私がこれまでに発見した唯一のマントラです。コードにいくつかのタイミング関数をすばやくラップし(ありがとう、FP!)、予期しないことを発見しました。データをクライアントにブロードキャストする行為は、実行時間のほぼすべてを占めています。具体的には、その約90%です。さらにテストを行ったところ、この時間はクライアントの数とデータのサイズの両方に依存していることが判明しましたが、データのサイズに大きく依存しています。ユーザー数が20人の場合、全データの代わりに「{}」のみを送信することで、ブロードキャスト時間を90%に24ミリ秒から2ミリ秒以上に短縮しました。ただし、ユーザーが5人のみの場合、ブロードキャストには約0.5ミリ秒かかります。したがって、ここでいくつかの最適化を行う必要があることは明らかです。 最初の最も明らかな改善点は、見通しの確認です。これにより、データを気にする人の数と、関係者に送信されるデータの量の両方が減少します。私が試すことができるこの分野には、ブロードキャスト操作のコストを最小限に抑えることに焦点を当てた他のトリックがありますか?

3
一人称ゲームの重力の強さ
このゲームでは、重力による加速度を適切な値9.8 m / s ^ 2に設定します。物理的には正しいのですが、月面を移動しているように感じます。16m / s ^ 2の値でほぼ正しいと感じます。他の誰かがこれを経験しましたか?それは、モーションブラーや、スピード感を与える音がないからでしょうか。気持ちが良ければ16m / s ^ 2に設定してもいいですか?

2
FPSゲームのTINベースのテレインフォーマットの例
標高表現にグリッドの代わりに三角不規則ネットワーク(TIN)を使用するFPSゲームのテレインフォーマットを知っていますか?または少なくとも、開発ツールが地形標高の入力としてTINを受け入れるゲームですか? 私が持っている唯一の例は、Unrealエンジン(UnrealEd)のテレインエディターで入力として使用できるASCIIシーンエクスポート(ASE)形式です。私は主にテレインホールをサポートし(視覚的にも衝突検出においても)、地下モデルを許可するフォーマットを探しています。地下モデルを配置するために、グリッド化された地形の標高グリッドを彫ってカバーする必要を避けたいです。


5
コンソールのファーストパーソンシューティングゲームで狙いを定めるのは何がいいですか
アナログスティックをキャラクターの回転速度にマッピングするだけでは、コンソールの一人称シューティングゲームを気持ちよくするのに十分ではないことは、ほぼ一般的に認められていると思います。 では、コンソールの最新のFPSを適切に機能させるための入力パラダイムは何でしょうか。

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