タグ付けされた質問 「.net」

.NETは、CLR(「共通言語ランタイム」)標準に基づくソフトウェア開発用のフレームワークです。



3
チームはソースファイルの上書きをどのように防止しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 たとえば、ゲームエンジンなどが複数の人によって同時に処理されているときに、上書きをどのように防ぐことができるのか、ということが起こりました。 開発者1が作業してAudio.cppおり、開発者2も作業をしているとしましょう。Audio.cppこれは、一般的に大規模なチームで上書きに対処するためにどのように管理されていますか?(つまり、開発者2がファイルを開くのを停止して、開発者1が終了するまで)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
物理エンジンの更新の問題の勢いと順序
この質問は、衝突の検出と解決に関する以前の質問からの「フォローアップ」質問であり、こちらで見つけることができます。 前の質問を読みたくない場合は、私の物理エンジンがどのように機能するかについて簡単に説明します。 すべての物理エンティティは、SSSPBodyと呼ばれるクラスに格納されます。 AABBのみがサポートされています。 すべてのSSSPBodyは、すべてのボディを更新し、重力を処理するSSSPWorldと呼ばれるクラスに格納されます。 すべてのフレームで、SSSPWorldはすべてのボディを更新します。 更新されたすべてのボディは、空間ハッシュで近くのボディを探し、それらとの衝突を検出する必要があるかどうかをチェックします。「はい」の場合、「衝突」イベントを呼び出し、それらとの衝突を解決する必要があるかどうかを確認します。はいの場合、侵入ベクトルと方向の重なりを計算し、侵入を解決するために位置を変更します。 ボディが他のボディと衝突すると、ボディの速度をそれ自体に設定するだけで、ボディの速度が他のボディに転送されます。 ボディの速度は、最後のフレームから位置を変更していない場合、0に設定されます。また、移動する物体(リフトや移動するプラットフォームなど)と衝突する場合、リフトの移動差を計算して、物体が最後の位置から移動していないかどうかを確認します。 また、ボディは、AABBのすべての角がフレーム内の何かと重なったときに「クラッシュ」イベントを呼び出します。 これは私のゲームの完全なソースコードです。3つのプロジェクトに分かれています。SFMLStartは、エンティティの入力、描画、更新を処理するシンプルなライブラリです。SFMLStartPhysicsは、SSSPBodyクラスとSSSPWorldクラスがある最も重要なものです。PlatformerPhysicsTestは、すべてのゲームロジックを含むゲームプロジェクトです。 そしてこれは、SSSPBodyクラスの「更新」メソッドであり、コメント化および簡略化されています。SFMLStartSimplePhysicsプロジェクト全体を見たくない場合にのみ、これを見ることができます。(そして、たとえ行ったとしても、コメントされているので、これを見てください。) .gifは2つの問題を示しています。 ボディが異なる順序で配置されている場合、異なる結果が発生します。左側のクレートは右側のクレートと同じで、逆順でのみ配置されます(エディターで)。 両方のクレートを画面の上部に向けて推進する必要があります。左側の状況では、木枠は推進されません。右側では、そのうちの1つだけです。両方の状況は意図していません。 最初の問題:更新の順序 これはかなり簡単に理解できます。左側の状況では、最上位のクレートが他のクレートの前に更新されます。下部のクレートが速度を他のクレートに「転送」しても、次のフレームが移動するのを待つ必要があります。移動しなかったため、下枠の速度は0に設定されます。 これを修正する方法がわかりません。物理エンジンの設計全体で何か間違ったことをしていると感じているため、更新リストの「ソート」に依存しないソリューションを好むでしょう。 主要な物理エンジン(Box2D、Bullet、Chipmunk)は更新順序をどのように処理しますか? 2番目の問題:1つのクレートのみが天井に向かって推進されます 私はまだこれが起こる理由を理解していません。「スプリング」エンティティが行うことは、ボディの速度を-4000に設定し、スプリング自体の上に再配置します。再配置コードを無効にしても、問題は引き続き発生します。 私の考えは、下のクレートが上のクレートと衝突すると、その速度は0に設定されるということです。これがなぜ起こるのかわかりません。 最初の問題をあきらめる誰かのように見える可能性にもかかわらず、私は上記のプロジェクトソースコード全体を投稿しました。私はそれを証明するものは何もありませんが、信じてください、私はこれを修正するために一生懸命努力しましたが、解決策を見つけることができず、物理学と衝突に関する以前の経験はありません。私はこれらの2つの問題を1週間以上解決しようとしてきましたが、今は必死です。 ゲームから多くの機能(速度転送やスプリングなど)を取り除くことなく、自分で解決策を見つけることはできないと思います。 この質問を読んでくれてありがとう。また、解決策や提案を考えてみてください。

10
C#にはゲーム開発の未来がありますか?
私は最近、MMO MinecraftがJavaを搭載していることを、CVG.co.ukの最近のインタビューで、2人の元同僚と現在競合している同僚とのコラボレーションについて学びました。インタビューでは、Minecraftの創設者はJavaコーダーであり、彼はCまたはC ++コーダーであるため、お互いに互換性がないと率直に言っています。したがって、将来のプロジェクトで協力することは困難です。 これは、Javaがそれを実現できたらと考えました。ゲームや主流のゲーム開発に関する限り、MSの非常に人気のあるC#言語と.Netプラットフォームの将来はどうなりますか?


2
リアルタイムゲームに最適なサーバーアーキテクチャは何ですか?
私は何千人ものプレイヤーをリアルタイムで保持できるリアルタイムゲームを開発しています(FPSなど。最大1秒のラグ)。これに最適なインフラストラクチャは何でしょうか? 私のアイデアは、2つのサーバークラスターを使用することでした。1つはサーバーエンド(すべてのコンピューティング側)用で、もう1つはデータベースエンド用で、各クラスターに対してロードバランサーが「責任を負います」。1つのメインサーバーがユーザーからの要求を受信し、ユーザーがこれを実行できる関連サーバーのIPアドレスを返信します。 データベースクラスターは、データベース間の整合性のためにデータベースレプリケーションを使用します。 地理的なロードバランサーも必要です。最適なレスポンスを得るために、地域のロードバランサーを各ユーザーに割り当てます。 ゲームには.NET + MSSQLを使用しています。 ありがとう!

6
Visual Studio 2012とゲーム開発[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 わかりました。簡単な質問だと思いますが、いくつかの回答を見つけるのが難しくなりました。 XNAはVisual Studio 2012にはないことを既に読みました。最近XNAの使用方法を学びましたが、ゲームで作業したいので、Visual Studio 2012でC#を使用してゲームを開発する方法があるかどうか知りたいです。 、またはC ++とDirect3Dを使用してすべてをもう一度学ぶ必要がある場合はどうなりますか? C#は私が大好きな言語なので、C#でそれを行う方法がなくても、ゲーム開発にJavaを使用するのが非常に簡単なものであれば、私も興味があります。 どうもありがとう!
10 xna  c#  3d  directx  .net 

3
Farseer 2.xが一時ではなく、メンバーとしてスタックを格納するのはなぜですか?(。ネット)
更新:この質問は、Farseer 2.xに関するものです。新しい3.xではこれができないようです。 現在、Farseer Physics Engineを非常に広範囲に使用していますが、クラスのメンバーとして多くの一時的な値の型を格納しているように見え、期待どおりにスタックに格納されていないようです。 これはBodyクラスの例です: private Vector2 _worldPositionTemp = Vector2.Zero; private Matrix _bodyMatrixTemp = Matrix.Identity; private Matrix _rotationMatrixTemp = Matrix.Identity; private Matrix _translationMatrixTemp = Matrix.Identity; public void GetBodyMatrix(out Matrix bodyMatrix) { Matrix.CreateTranslation(position.X, position.Y, 0, out _translationMatrixTemp); Matrix.CreateRotationZ(rotation, out _rotationMatrixTemp); Matrix.Multiply(ref _rotationMatrixTemp, ref _translationMatrixTemp, out bodyMatrix); } public Vector2 GetWorldPosition(Vector2 …

7
ウィキペディアA *パスファインディングアルゴリズムには時間がかかる
C#でA *パ​​スファインディングを正常に実装しましたが、速度が非常に遅く、理由がわかりません。私はopenNodesリストをソートしないように試みましたが、それでも同じです。 マップは80x80で、ノードは10〜11です。 ここからウィキペディアの疑似コードを取り出しました そして、これは私の実装です: public static List<PGNode> Pathfind(PGMap mMap, PGNode mStart, PGNode mEnd) { mMap.ClearNodes(); mMap.GetTile(mStart.X, mStart.Y).Value = 0; mMap.GetTile(mEnd.X, mEnd.Y).Value = 0; List<PGNode> openNodes = new List<PGNode>(); List<PGNode> closedNodes = new List<PGNode>(); List<PGNode> solutionNodes = new List<PGNode>(); mStart.G = 0; mStart.H = GetManhattanHeuristic(mStart, mEnd); solutionNodes.Add(mStart); solutionNodes.Add(mEnd); openNodes.Add(mStart); // …

1
XNAでウィンドウのサイズ変更中にストレッチを停止するにはどうすればよいですか?
ウィンドウモードのXNAゲームでは、ユーザーがウィンドウのサイズを変更すると、ゲームがウィンドウの更新を停止し、ユーザーがマウスを離してサイズ変更が完了するまで、最後に描画されたフレームが引き伸ばされて変形します。 サイズ変更イベント中にゲームを「通常」に実行し続け、フレームを更新し、画面を再描画する方法はありますか? ハードウェア管理リソースが継続的に作成および破棄されるため、サイズ変更中にレンダーループを維持することは不可能または推奨されない可能性があることを理解していますが、醜いストレッチを停止する方法はありますか?理想的には、左上に既存のフレームを拡大縮小せずに残すか、それが不可能な場合は黒い画面にします。
8 xna  xna-4.0  .net 

4
XNAゲームでイベントを使用する必要がありますか?
画面にボタンを描画するボタンクラスを作成しました。それをクリックすると、何かが起こっているのを見たいです。WinFormでは、ボタンのOnClickイベントを使用します。XNAはどうですか? OnClickイベントをボタンクラスに追加する必要がありますか?それは良い習慣ですか?それ以外の場合、ゲームループでイベントをどのように処理しますか?
8 xna  xna-4.0  .net  events 

2
Direct2dオフスクリーンレンダリングとハードウェアアクセラレーション
私はdirect2dを使用して、WindowsAPICodePackを使用して画像を画面外にレンダリングしようとしています。これは、WicBitmapRenderTargetを使用して簡単に実現できますが、残念ながらハードウェアアクセラレーションではありません。 だから私はこのルートを試しています: direct3dデバイスを作成する texture2dを作成する テクスチャサーフェスを使用して、CreateDxgiSurfaceRenderTargetを使用してレンダーターゲットを作成します。 いくつかの形を描く これにより画像がレンダリングされますが、CPUの使用率が高い間はGPUがまったく使用されていないように見えます。 私は何か間違ったことをしていますか?ハードウェアまたはソフトウェアのレンダリングが使用されているかどうかを確認する方法はありますか? コードサンプル: var device = D3DDevice1.CreateDevice1(null, DriverType.Hardware, null, CreateDeviceOptions.SupportBgra, FeatureLevel.Ten ); var txd = new Texture2DDescription(); txd.Width = 256; txd.Height = 256; txd.MipLevels = 1; txd.ArraySize = 1; txd.Format = Format.B8G8R8A8UNorm; //DXGI_FORMAT_R32G32B32A32_FLOAT; txd.SampleDescription = new SampleDescription(1,0); txd.Usage = Usage.Default; txd.BindingOptions = BindingOptions.RenderTarget | …
7 c#  .net  directx10 

1
F#ゲーム開発
私はF#ユーザーです。F#でクロスプラットフォームのゲーム(2Dまたは3D、あるいはその両方)を開発するには、どのライブラリを使用すればよいですか?処理とはどのようなものか。 クロスプラットフォームではないため、DirectXやWPFなど、「。NETが多すぎる」ものには答えないでください。 ライブラリの提案とコード例、および回答を始めるためのリンクを表示します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.