タグ付けされた質問 「software-engineering」

ソフトウェアエンジニアリングは、ゲーム開発分野に適用されるソフトウェアの設計と開発です。このタグを使用する質問は、ソフトウェアの作成または設計のタスクに関連する理論的な概念と実践に関するものでなければなりません。このタグは、質問にプログラミングが含まれている場合やコードが含まれている場合にのみ使用しないでください。

3
C ++でのエラー処理のためのtry-catchまたはifs
例外はゲームエンジンの設計で広く使用されていますか、それとも純粋なifステートメントを使用する方が望ましいですか?例外の例: try { m_fpsTextId = m_statistics->createText( "FPS: 0", 16, 20, 20, 1.0f, 1.0f, 1.0f ); m_cpuTextId = m_statistics->createText( "CPU: 0%", 16, 20, 40, 1.0f, 1.0f, 1.0f ); m_frameTimeTextId = m_statistics->createText( "Frame time: 0", 20, 20, 60, 1.0f, 1.0f, 1.0f ); m_mouseCoordTextId = m_statistics->createText( "Mouse: (0, 0)", 20, 20, 80, 1.0f, …

7
小売ゲームは「制御の反転」と「依存性注入」を使用していますか?
私が知っているより勤勉なソフトウェア開発者の多くは、オブジェクトへの参照を処理するために、制御の反転と依存性注入に移行しています。Flashゲームの観点から言えば、私はAAAスタジオのすべてのインとアウトを知らないので、これらは小売ゲームの世界で使用されていますか?

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 

9
すべてのゲームオブジェクトを単一のリストに保存することは、許容できる設計ですか?
作成したすべてのゲームについて、すべてのゲームオブジェクト(行頭文字、車、プレーヤー)を単一の配列リストに配置し、ループして描画と更新を行います。各エンティティの更新コードは、そのクラス内に保存されます。 私は疑問に思っていましたが、これは物事を進める正しい方法ですか、それともより速く、より効率的な方法ですか?


7
開発キットにアクセスせずにPS3 / Xbox 360を体験するにはどうすればよいですか?
私は、PS3、Xbox 360の業界プログラミングを始めようとしている新進気鋭のゲームプログラマです。主な問題は、潜在的な雇用者に自分のスキルを実証する必要があることですが、PS3またはXbox 360の開発キットにアクセスせずに、これは直接不可能です。 私の質問は、コンソール開発者に私のスキルを示す最良の代替方法は何ですか? DirectX for WindowsのC ++プログラミングはXbox 360のプログラミングスキルに近いように見え、OpenGLのC ++プログラミングはPS3プログラミングスキルに比較的近いようです。残念なことに、Xbox 360とPS3の両方が独自の独自のライブラリを実際に持っているかのようにWeb調査から、したがって、これは100%の実りある努力ではないようです。このアプローチは最も近いように見えますが、最も時間がかかります。さらに、実際にコンソール上で何かを実行しているわけではありません。 一方、XNAでのプログラミングには、ゲームが実際にコンソール上にあるという利点がありますが、これはDirectXの単なるラッパーであり、C# C ++。 潜在的な雇用主にどのようなゲームデモが最も役立つかを知るために、業界内から知識や経験を持っている人はいますか?DirectX、OpenGL、XNA、Unreal Engine、Unity3d、FlashなどのC ++など?1日は非常に多くの時間しかないので、自分の努力をどのように導くかを知りたいです。 私の直感では、Xbox 360で使用されているものに近いように思えるので、DirectXが最良の選択であると思いますが、別の言語/エンジンで優れたデモを行うことが同様に優れている場合、明らかに時間がかかりません別のルート。 あなたの助けとアドバイスを事前に感謝します!

10
最も一般的に使用されるプログラミング言語は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 1年前にJavaコースを受講したとき、Javaは主に海外のゲーム会社で使用され、C ++は米国で使用されていると言われました。詳細な学習に焦点を当てるべき言語は何ですか?

3
ゲームエンジンでユニットテストを行う方法
残念なことに、適切な単体テストを作成したことはありません。テストが成功した後に破棄する小さな未編成のテストプログラムのみを作成しました。ゲームプロジェクトで単体テストをどのように実行すべきかについて、明確な考えはありません。(私の言語はC ++です。) エンジンのサブシステムごとに個別のプロジェクトとそれに関連するテストを用意し、実際のエンジンを構築するより大きなプロジェクト/ソリューションを用意する必要がありますか?たとえばevent、エンジンにモジュールがあるとします。どのように処理すればよいですか?

6
テスト駆動開発はゲーム開発で実行可能ですか?
スクラム認定を受けているため、システムの開発中にアジャイル手法を採用する傾向があり、スクラムフレームワークのキャンバスを使用して日々の作業を管理することもあります。 それに、TDDが実行可能な場合、ゲーム開発のオプションであるかどうか疑問に思っていますか? このGDの質問を信じるなら、TDDはゲーム開発であまり使用されません。 ゲームアーキテクチャでMVCとTDDが採用されないのはなぜですか? コードを徹底的にテストしないと壊滅的なシナリオが発生する可能性があるため、大きな予算の大きなプロジェクトが完璧に機能する必要がある産業用プログラミングから来ています。 さらに、スクラムのルールに従うことにより、スクラムのすべてのアクションがタイムボックス化されている間、作業の期日を満たすことが奨励されます!ですから、上記の質問で彼らがシステムを構築しようとするのをやめて、ゲームを書き始めると言ったとき、私は同意します。完璧なシステムを構築しないように、最初に:スプリントの終わりまでに機能させるように、スクラムが言っていることはまったく同じです。次に、必要に応じて2番目のスプリントで作業しながらコードをリファクタリングします! ゲーム開発を担当するすべての部門がスクラムを使用しないと、スクラムが役に立たなくなることを理解しています。しかし、少しの間、すべての部門がスクラムを使用していることを考えてみましょう...「完璧な」システム/ゲームを作成したくない場合でも、TDDはバグのないコードを作成するのに適していると思います。 私の質問は次のとおりです。 とにかくゲーム開発でTDDは実行可能ですか?

5
「初心者」ゲームプロジェクトを超えて
私はゲーム開発者が知っておくべき数学の種類に関するこの答えを読んでいて、この部分は本当に目立っていました: How do I move my game object? The novice might say: "I know! I'll just do:" object.position.x++. それは私がそれをやろうと思う方法ですので、それは私のスキルレベルを示していると思います。少なくとも私が過去に作成した2Dの横スクロール型のアーケードスタイルのゲームについては、それだけで十分です。それと少しの三角法。 実際、私はその投稿を読む前に、線形代数をあまり使用しておらず、四元数も聞いていません。これは、これらの数学が3Dで作業するまで表示されないからか、それとも私の2Dゲームが単純であるために、単純な実装で逃げたからです。 フォローアップの質問:そのタイプの数学に精通したい場合、どのタイプのプロジェクトに着手すべきですか?IE:ゲームエンジンの作成、3Dゲームの作成など。

4
ゲームエンジンは何をすべきですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 スキルを向上させたい/何か新しいものを試したいのですが、3Dから始めたいと思います。C ++を使用した3Dでのプログラミングの開始を読みましたが、エンジンに関する質問があります。 エンジンは何をすべきですか?私はそれが3D API(すなわちOpenGLまたはDirectX)の上にある抽象化層であることを知っていますが、正確に何をすべきでしょうか?

9
ゲームを完成させる方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私の問題は、ゲームのクローン(練習用)、自分のゲーム、またはその他の問題のプログラミングを開始するたびに、興味を失ったために開発の途中で停止することです。 ゲームの開発、または一般的な開発にどのように関心を持ち続けていますか?

2
ゲームの仕事でC ++の実務経験を積む最良の方法(C#から提供)[終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私はソフトウェア開発者であり、他のいくつかの言語とともにC#(5年の経験)を経験しています。 私の「夢の仕事」は、開発者としてビデオゲームで働いています。 ほとんどの仕事にはC ++の知識が必要ですが、私は現在持っていません(一部の基本を除きます)。 私は見て回ったが、ほとんどの大手ゲーム会社は、C ++の3〜5年の過去の経験に沿って何かを必要としています。 私の質問は、C#から来て、この必要な経験レベルに到達するための良いルートは何でしょうか? 私はそれを行ういくつかの可能な方法を考えました: C ++についての知識を書籍から入手してください。C ++で記述されたオープンソースプロジェクトに参加します。特にゲーム業界で、C ++を学習し、実用レベルの経験を積むための最良の方法は何でしょうか?

1
どの機能がエンジンに属し、どの機能がゲームに属しますか?
現在、2Dゲームエンジンの新しい機能を直接エンジンにコーディングして実装し、テストしています。同時に、スクリプト機能を備えたショーケースゲームがあり、エンジン機能を呼び出す必要があります。たとえば、ゲーム専用にスクリプトを作成するのではなく、固定タイルの動きをエンジンのEntityクラスに添付します。これは、複数のゲームに使用される一般的なエンジンのアイデアを間違いなく壊しています。 適切な部分(エンジンとゲーム)の正しい実装に焦点を当て続けるベストプラクティスはありますか?

7
C ++コードで例外の安全性をどの程度重要と考えていますか?
コードを非常に例外安全にすることを検討するたびに、非常に時間がかかるため、それを行わないことを正当化します。この比較的単純なスニペットを考えてみましょう。 Level::Entity* entity = new Level::Entity(); entity->id = GetNextId(); entity->AddComponent(new Component::Position(x, y)); entity->AddComponent(new Component::Movement()); entity->AddComponent(new Component::Render()); allEntities.push_back(entity); // std::vector entityById[entity->id] = entity; // std::map return entity; 基本的な例外保証を実装するには、new呼び出しでスコープポインターを使用できます。これにより、呼び出しのいずれかが例外をスローする場合のメモリリークを防ぐことができます。 ただし、強力な例外保証を実装したいとします。少なくとも、コンテナの共有ポインタ(Boostを使用していない)、Entity::Swapコンポーネントをアトミックに追加するためのnothrow 、およびの両方にアトミックに追加するための何らかのイディオムを実装する必要がVectorありMapます。これらは実装に時間がかかるだけでなく、例外の安全でないソリューションよりも多くのコピーを必要とするため、高価になります。 最終的には、単純なCreateEntity関数が非常に例外安全であるように、そのすべてを行うために費やした時間が正当化されないように思えます。とにかく、ゲームにエラーを表示して、その時点で終了させたいだけでしょう。 あなたは自分のゲームプロジェクトでこれをどのくらい受け止めていますか?例外が発生したときにクラッシュする可能性のあるプログラムに対して、例外の安全でないコードを記述することは一般に許容されますか?

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