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

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

3
p2pマルチプレーヤーゲームとクライアントサーバーの制限[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 マルチプレイヤーゲームのアーキテクチャについて読んでいます。 これまでのところ、私が見つけたほとんどの記事はクライアントサーバーモデルを扱っています。 p2pアーキテクチャを使用する場合の制限について教えてください。それを使用して実装できるゲームの「クラス」は何ですか(または、より一般的ですか)。どっち?そして、一般的に、クライアントサーバーモデルに対する主な違いと制限は何ですか。

2
シンプルなアドベンチャーゲームでの動作の実装
私は最近、単純なテキストベースのアドベンチャーゲームをプログラミングして楽しませており、非常に単純なデザインの問題のように見えます。 概要を説明すると、ゲームはRoomオブジェクトに分解されます。それぞれにRoomは、Entityその部屋にあるオブジェクトのリストがあります。それぞれEntityに、単純な文字列->ブールマップであるイベント状態と、文字列->関数マップであるアクションリストがあります。 ユーザー入力は次の形式を取ります[action] [entity]。Room適切戻るには、エンティティ名を使用Entityして、正しい機能を見つけるために、アクション名を使用するオブジェクトを、それを実行します。 部屋の説明を生成するために、各Roomオブジェクトは独自の説明文字列を表示し、すべての説明文字列を追加しますEntity。Entity説明は(ETC、「ドアが開いている」、「ドアが閉じている」、「ドアがロックされている」)、その状態に基づいて変更することができます。 ここに問題があります。この方法を使用すると、実装する必要のある記述およびアクション関数の数がすぐに手に負えなくなります。私のスターティングルームだけでも、5つのエンティティの間に約20の機能があります。 すべてのアクションを1つの関数に結合し、それらをif-else / switchで結合できますが、それでもエンティティあたり2つの関数です。またEntity、ドアやキーなどの一般的なオブジェクトや一般的なオブジェクトの特定のサブクラスを作成することもできますが、それだけではこれまでのところはできません。 編集1:要求どおり、これらのアクション関数の疑似コード例。 string outsideDungeonBushesSearch(currentRoom, thisEntity, player) if thisEntity["is_searched"] then return "There was nothing more in the bushes." else thisEntity["is_searched"] := true currentRoom.setEntity("dungeonDoorKey") return "You found a key in the bushes." end if string dungeonDoorKeyUse(currentRoom, thisEntity, player) if getEntity("outsideDungeonDoor")["is_locked"] then getEntity("outsideDungeonDoor")["is_locked"] := false …

1
XNAデモのインストーラーを作成するにはどうすればよいですか?
VS2008を使用してXNA3.1でコーディングされたデモがあります。私はこれをPCで誰にでも送信でき、VSや.Netフレームワークなどをインストールすることなく、インストールして実行できるようになりたいです。 公開のオプションになると思いましたが、少し混乱しています。誰かがその問題についていくつかの光を当てることができますか? 前もって感謝します。

7
低カップリングと緊密な凝集
もちろん状況にもよります。しかし、より低いレベルのオブジェクトまたはシステムがより高いレベルのシステムと通信する場合、より高いレベルのオブジェクトへのポインターを保持するよりも、コールバックまたはイベントを優先する必要がありますか? たとえばworld、メンバー変数を持つクラスがありますvector<monster> monsters。monsterクラスがと通信するとき、worldコールバック関数を使用する方がいいですかworld、monsterそれともクラス内のクラスへのポインターが必要ですか?

2
オーディオプログラマは何を知っておくべきですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私は作曲の学生でもありますが、コンピューターサイエンスのマイナープラスも取得しています。私は音楽を書くことと効果音を作ることが大好きで、ゲーム用の音楽を書きたいです。しかし、みんなとその母親がそうしたいと思っていることにも気づきました。それを念頭に置いて、そして私はすでにプログラミングと同じくらい好きなので、ゲームのオーディオ実装に向けた私の教育のコンピューターサイエンス部分のいくつかの側面に焦点を当てることに興味があります。 私がやったこと/やっていること: 音楽のタイミングとゲームイベントに基づく少量の自動ミキシングを認識する「MusicManager」クラスを記述しました 読み込みフーリエ変換は誰ですか?フーリエ解析の理解とFFTの実装に向けて努力しているとき FMODデザイナを学び、ゲームでデザイナAPIを使用する(もちろん、これについて特にクラスを受講していないので、自分でAPIを学習するのに適しています) その背景で、私は2つの部分からなる質問をします。 それでは、上記でリストしたもの、およびコンピュータサイエンスの優れた唯一の基本(データ構造とアルゴリズム、離散数学、OO /構造化設計)を除いて、スタジオはオーディオプログラマに何を求めていますか? また、GANGとオーディオエンジニアリングソサエティの講師は、オーディオプログラマーがゲームの次のホットなものであるかのように話しますが、多くのスタジオでは、専用のオーディオプログラマーを雇うことも考えていますか?

12
グローバル/シングルレットがゲーム開発に役立つケースはありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 グローバル変数またはシングルトンクラスがあると、テスト/管理が困難なケースが作成されることはわかっています。コードでこれらのパターンを使用することで逮捕されましたが、しばしば出荷されました。 では、グローバル変数やシングルトンが実際にゲーム開発に役立つケースはありますか?

5
クロスプラットフォームの低レベルグラフィックAPI
システムの抽象化を作成する場合、プラットフォームのさまざまなAPIを、意味のある最低レベルの共通インターフェースによって非表示にすることをお勧めします。 さまざまな最新(固定関数パイプラインなし)のネイティブグラフィックAPIを考慮に入れる:OpenGLES 2.0 +、OpengGL 3.0 +、DirectX 10.0 +、Xbox DirectX 9、LibGCM ステートレスな低レベルグラフィックAPI を作成してそれらすべての上に配置する場合、それを可能な限り薄く、高速にするために最適な方法は何でしょうか。

2
3人称カメラをターゲットに向けて回転させる
私はプレーヤーを直接見ない3人称カメラを持っていますが、彼の前のどこかにあります。 ユーザーが撮影モードに入ると、カメラがプレイヤーを振り向いてターゲットに向かいます。 上の画像。「O」はプレーヤー(原点)、「L」はルックアット、「C」はカメラの位置、「T」はターゲットです。ルックアットラインC-> Lを回転させて、原点( "O")を中心にT(C '-> L'-> T ')を通過するようにします。 基本的には、画像に赤で表示した角度アルファを見つける必要があります。 私はカメラの位置をそのような構造に保存します: struct CameraTarget { Quaternion absoluteRotation; Vec3 absolutePosition; Vec3 cameraOffset; Vec3 lookatOffset; float FOV; } だから私が探している角度を見つけることができれば私は次のようなことをすることができます: cam->absoluteRotation = cam->absoluteRotation * alpha; プレイヤーに常にターゲットを見させる。 LookatがOriginを通り過ぎていた場合、私は簡単にできます Vec3 origDir = cam->lookAtOffset - cam->absolutePosition; origDir.normalize(); Vec3 newDir = cam->target - cam->absolutePosition; newDir.normalize(); Quaternion q(origDir, newDir); …

4
OOPなしでゲームを作るには?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、1つの問題のみに焦点を当てますこの投稿を編集するます。 6年前休業。 現在、ゲーム開発の勉強とゲーム制作の練習をしています。 私はゲームで多くのOOPを使用しています。たとえば、発射される各ミサイルはMissileオブジェクトのインスタンスであり、オブジェクトのリストに追加されMissileます。ゲームの各戦車はTankオブジェクトです。等。 プログラム全体の設計はこれに基づいています。たとえば、Missileオブジェクトのあると、すべてのフレームでミサイルを移動したり、それらを描画したりできます。またTank、すべての戦車にオブジェクトのインスタンスがあると、何かと衝突したかどうかなど、各戦車をチェックできます。 ゲーム(パックマンよりも複雑)が非OO言語でプログラムされる方法を想像するのは難しいです。(もちろん、非OOプログラマを軽視しません)。所要時間だけでなく、ほとんどの場合、この方法でゲームを設計する方法についてもです。 オブジェクト指向プログラミングを使用せずにゲームを設計することは想像できません。ゲームプログラムの設計方法に関する私の完全な理解はOOPに基づいているためです。 質問したいのですが、今日、OOPを使用してプログラミングされていないゲームはありますか?開発プロセスの主要な要素としてOOPを使用しない「プロフェッショナル」ゲームはありますか? もしそうなら、たとえば、OOPなしで、タンクとN個のミサイルの間の衝突検出をどのように実装できるかについて教えてください。

6
ゲームを作成するためのライブラリ、エンジン、フレームワークを評価するとき、何を考慮すべきですか?
ゲームを作ります。利用可能なゲームエンジン、ライブラリ、フレームワークがたくさんあり、どれを使用するかを決めるのに少し問題があります。 私はすでにいくつかのプログラミング言語でかなり上手ですが、まったく知らないものもあります。それが役に立てば、私は新しいプログラミング言語を学ぶことに反対しているわけではありませんが、私の真の目標はゲームを作ることです。 エンジン、ライブラリー、フレームワークを相互に比較するためにどの基準を使用すれば、ゲームを完成させるのに最も生産的になることができるかを決定できますか?

3
六角形グリッドに範囲を表示
これが状況です。 六角形のボードとその上にユニットがあり、速度または移動値があります。4。異なる地形には異なるコストがあります。ユニットをクリックすると、ゲームに移動範囲が表示されます。 私の解決策は、4の範囲内の各ヘクスをA *パスファインディングでチェックすることでした。パスコストが4未満の場合、このヘックスは範囲内にありました。最後に、ゲームでそのユニットの範囲をうまく表示しました。 私の質問は、私が自分のソリューションでやったことを本当に誇りに思っているので、六角グリッドまたは正方形グリッドで範囲を検索する他のソリューションはありますか?私は思う、それは少し誇張されていますか?:)) ユニットスピードが4または6または8の場合、コンピューターのコンピューティング範囲までの時間は本当に良いことに気づきましたが、スピードが10以上の場合、計算に数秒待つ必要があることに気付きました実際のゲームでは、私はこのようなものを見ることはなく、私のA *パスファインディングはかなり最適化されているので、私の解決策は間違っていると思います。 返信ありがとうございます。

12
プログラミングが好きではない場合、どうすればビデオゲームを作成できますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 私は私の学校でC ++コードを勉強しています(私の専攻はコンピューター・プログラミングです)。正直なところ、私の成績はあまり良くなく、課題は本当に難しいです。将来、自分の仕事のために1日あたり8〜10時間のコーディング(ストレスが多い)をするのが悲しいときがあります。 しかし、私はまだビデオゲームを作りたいです。たぶん、これが私がこれらのストレスの多いコースすべてを取っている唯一の理由です。プロット、ストーリー、キャラクター、架空のゲームの世界を常に書き留めています。一度、C ++やC#などのコンピューターテクノロジーではなく、ゲームデザインなどの芸術的テクノロジーを学ぶべきだと思っていました。 しかし、児島や宮本など人気のゲームデザイナー(またはディレクター)のほとんどは、以前は優れたプログラマーでした。企業は、ゲームの作り方を理解しているため、プログラマーをディレクターに実際に割り当てます。 ゲームデザインプログラムを教えている他の大学を探すようにしています。ただし、調査会社が学生の参加者からのみ採点しているため、北米のランク10のゲームデザイン学校をリストする1つの記事は信頼できないようです。 かつて、その記事によるとランク7のバンクーバー美術館に出席しようとしました。ところが、そこで講師をしていたプログラマーが、卒業生の就職率が低いということを教えてくれました。 プログラミングが好きではない場合、どうすれば将来ゲームを作成できますか?


8
「レベル文字列」の最善の解決策は?
レベルの開始時にランダムなレベルマップを生成するゲームがあります。レベルを保存およびロードする方法を実装したいと思います。 XMLがすべての変数を保存するのに適したオプションであるとしたら、XMLを解析してまったく同じレベルを生成できるものを簡単に作成できると思いました。 しかし、XMLはおそらく私のニーズに対しては行き過ぎです。昔、ゲームを保存する機能がなかった古いSegaコンソール(ワームズゲームでもそうだったと思います)を覚えていて、書き留めることができるたくさんのキャラクターを提供していたことを覚えています。後でそのストリングをパンチインすると、正確なレベルがロードされます。 「レベル文字列」は良いオプションでしょうか?それはある種の「base60」変換でしょうか?これをどのように実装しますか?


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