タグ付けされた質問 「game-development」

開発はゲーム開発者によって行われ、ゲーム開発者は一人から大企業まで多岐にわたります。メインストリームゲームは通常、発行元から資金提供を受けており、開発には数年かかります。インディーゲームは時間がかからず、個人や小規模な開発者が安価に作成できます。インディーゲーム業界は、新しいオンライン配信システムとモバイルゲーム市場の成長に伴い、近年増加しています。

10
チェスエンジンを書くための最良のアプローチは?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 私はチェス好きでプログラマーです。私は最近、チェスとプログラミングの知識を使用してチェスエンジンの作成を開始することにしました。だからここに私の質問があります: チェスエンジンを作成するときに、どの言語(Java、C ++、Pythonに精通しています)と方法論を適応させる必要がありますか? 少しのガイダンスをいただければ幸いです。 編集: そこで、JavaScriptで作成することにしました。この Chess UIをgithubからダウンロードすると、準備は完了です!私の最初のステップは、そのための法的動きを書くことです。だから、誰かが私を正しい方向に向けることができますか?(私はjQueryを初めて使用しますが、多くのプログラミング経験があります)。 PS:私は非常に効率的なエンジンを作ろうとはしていません(私はその方法が難しすぎることを知っています)、ただプロセスに精通し、途中でいくつかの新しいテクニックを学びたいです。

9
あなたが働いた時間に報酬を得られませんか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 アプリ開発とゲーム開発に関する以前のスレッドから読みました。 ゲーム開発とアプリケーション開発を選択するのがあなたのためなら、どちらを選びますか? EA:The Human Story:EA:The Human Story その多くは、開発者が週85時間のように働いており、残業代などが支払われていないことについて語っています。ちょうど40時間の支払いを受けます。これはほとんどのソフトウェア会社にとって正常ですか?私はどこで働いているのかというと、私は入門レベルの男に過ぎませんが、残業があり、40時間を超えるものはこれと見なされます。しかし、それは私に「聖なるがらくた」を考えさせました。私の自由な時間は私にとって重要です。しかし、これはほとんどのソフトウェア会社で一般的ですか?または、特定のタイプ(ゲーム開発など)にとってより珍しいものですか? 怖かったから! 私はプロジェクトに余分な時間を費やす必要があることを理解しているように...しかし、80のように!それはばかげている。

7
ゲームプログラミング:C#またはC ++?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私が本当にやりたいのは、ゲームプログラミングを行うことです。だから、自問自答のプログラミングを学びたい18歳のとき、C#とC ++の間で最も適したプログラミング言語は何ですか?(私は、Windowsが依然として最も使用されるOSであると信じているため、Unixを気にしないと述べるべきです) 私はC ++の基本を知っていますが、C#については知りません。C ++にはチュートリアルガイド、dllなどがありますが、C#にはないことを知っていますが、一人でプログラムを開発するのは習得して使用する方がはるかに簡単ですが、プログラムが難読化されていても読んでいますソースを入手するのは簡単です。 まあ、まず基本に集中したいのですが、C ++の方が自分に適していると感じているからといって、C ++を好みますが、私は一人で働くことを考えなければなりません。だから、たとえそれが好きだったとしても、それが最善のことではないかもしれません。 どっちがいいかわからない、いろいろなウェブサイトでたくさんのスレッドを読んだことがあるし、C#がC ++よりも人気が出てきているようだ。しかし、そうは言っても、私はゲームプログラミングをしたいとも指定しました。ですから、「C ++はそうではないのに.NETメモリを処理するのでC#の方が簡単です」よりも良い点をいくつか知る必要があります。

6
現在、ゲーム開発に使用されているテクノロジーは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 オンラインフォーラムでゲーム開発に関する質問をするたびに、線画アルゴリズムの学習、ビットレベルの画像操作、ビデオ圧縮解除などの提案が常に寄せられます。 しかし、God of War 3のようなゲームを見ると、このような低レベルのテクニックを使用してこれらのゲームを開発できるとは信じられません。 このようなゲームの素晴らしさは、(私にとって)わかりやすいプログラミング方法論に反しています。 ゲーム用ハードウェアに加えて、最近では本当に怪物です。したがって、開発者がより高いレベルの抽象化で作業することは理にかなっています。 ゲーム業界の最新の開発方法は何ですか?30〜35人の開発者(そのほとんどは管理とマーケティングの綿毛)のチームが、このような気が遠くなるようなゲームを作ることができるのはどうしてですか 質問が一般的すぎると思われる場合は、God of War 3のアーキテクチャを説明できますか?または、クローンをどのように作成しますか?客観的に答えられるべきだと思う。

3
クリス・ソーヤーがアセンブラーでジェットコースターの大部分を書くのにどのくらいの時間とどのような複雑さが関与していたでしょうか?
この質問から、別の質問があります... クリス・ソーヤーがアセンブラーでジェットコースターの大部分を書くのにどのくらいの時間とどのような複雑さが関係していたでしょうか? この質問を特定して分類するために、私は興味があります。 クリスが自分でゲームを書くのにかかったと推定されるおおよその工数(推測)または、アセンブラーのコーディング時間の比率のおよその割合を指定して、C / C ++ですべてを記述します。 アセンブラーをよく知っているプログラマーは、これをこのような低レベルの言語抽象化のための過度に複雑なタスクと考えていますか?パフォーマンス上のメリットは別として、これはChrisが持っている異常な自然の能力なのでしょうか、それともその程度の学習に値するスキルセットなのでしょうか?複雑さ/パフォーマンスのことはアセンブラーを習得する価値があると(書くために)考えているのか、それともアセンブラーで自然に発達したスキルをたくさん持っている場合(おそらくハードウェアの操作から) / hardware drivers / electronics / etc)。

5
Javaはクロスプラットフォームゲームに適していますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 Javaでゲームを作成したいのですが、Windows、Linux、Macで動作するようにしたいと思います。これにはC#が悪い選択であり、CまたはC ++の十分な経験がないと確信しています。Flashから離れたい。したがって、Javaは私にとって良い選択ですか?ほとんどの場合、私はC#を使用しており、Javaも似ていると思うので、学習するのはそれほど難しくないと思います。しかし、それは十分速いですか?Javaよりも私のニーズに適した言語はありますか?

2
ゲーム開発を扱う場合、ソフトウェアテストは異なりますか?
一般にソフトウェア開発とゲーム開発の違いについてこの論文を読んでいて、著者はソフトウェアテストに関していくつかの良い点を指摘しました。たとえば、 ...ゲーム開発者は、ゲームデザイナーの創造的な欲求の変化に直面して、これらのテストが急速に陳腐化するため、自動テストの使用をためらいます。 それで、この読書は、ゲームを扱っている/テストしているときに、ソフトウェアテストの他のどの側面を異なるまたは特定と見なすべきかを考えさせましたか?誰かがこれを経験したことがありますか、それについて何か他のことを聞いたことがありますか?

2
拡張スクリプトはサンドボックスで実行する必要がありますか?
特に、これはlua(luajit-2.0)で記述されたゲーム拡張機能に関するものです。これらのスクリプトで実行できることを制限する必要があるかどうかを検討していましたが、おそらくすべきではないという結論に達しました。 正しくするのは難しいです。馬鹿げているように聞こえますが、私のサンドボックスがとにかく漏れやすくなる可能性があります。 私が考えることができる唯一の利点は、サードパーティのスクリプトを実行するときにユーザーにある程度の安心感を与えることです。 欠点は、拡張機能の作成者にとって非常に迷惑なことです。つまり、今のところ、私自身です(ゲームコンテンツはほとんどスクリプト化されます)。 実際にプレゼンテーションを行う前にこれを尋ねる理由は、サンドボックスを早期に追加するのは簡単ですが、自分自身にも前述の迷惑な制限を課すからです。ただし、最初にそれを続行し、後でサンドボックスが必要になったと判断した場合、問題が発生します(既に存在するスクリプトを書き直すか、何らかの信頼管理システムを導入する必要がありますそれは価値があるよりも多くのトラブルのようです)。

3
ScalaとLWJGLを使用した簡易ゲームの関数型プログラミングアプローチ
Javaの命令型プログラマであるIは、関数型プログラミングの設計原則(特に参照の透明性)に基づいて、スペースインベーダーの単純なバージョンを生成する方法を理解したいと考えています。しかし、デザインを考えようとするたびに、極端な可変性の泥沼で迷子になります。これは、関数型プログラミングの純粋主義者によって回避される同じ可変性です。 関数型プログラミングを学習する試みとして、LWJGLを使用してScalaで非常にシンプルな2DインタラクティブゲームであるSpace Invader(複数形の欠如に注意)を作成することにしました。基本的なゲームの要件は次のとおりです。 「A」キーと「D」キーでそれぞれ画面の下部にあるユーザーシップを左右に移動しました 発射間隔が0.5秒になるようにスペースバーで起動したユーザー船の弾丸を真っ直ぐ発射 射撃の間に0.5秒から1.5秒のランダムな時間で起動するエイリアン船の弾丸が真下に発射されました 元のゲームから意図的に除外されたものは、画面の上部にあるWxHエイリアン、分解可能な防御バリアx3、高速ソーサー船です。 さて、実際の問題領域に移りましょう。私にとって、決定論的な部分はすべて明らかです。アプローチ方法を検討する私の能力を妨げているのは、非決定的な部分です。決定論的な部分は、弾丸が存在する場合の弾道、エイリアンの連続的な動き、およびプレイヤーの船またはエイリアンのいずれか(または両方)の衝突による爆発です。(私にとって)非決定的な部分は、ユーザー入力のストリームを処理し、エイリアンの弾丸の発射を決定するためのランダムな値のフェッチを処理し、出力(グラフィックとサウンドの両方)を処理します。 私はこの種のゲーム開発を長年にわたって行うことができます(そして、これまでしてきました)。しかし、それはすべて命令型パラダイムからでした。さらに、LWJGLは、スペース侵略者の非常にシンプルなJavaバージョンを提供します(これは、セミコロンなしのJavaとしてScalaを使用してScalaに移行し始めました)。 Java / Imperativeプログラミングから来た人が理解する方法でアイデアを直接扱ったものはいないように思われる、この領域に関するいくつかのリンクを以下に示します。 純粋に機能的なレトロゲーム、パート1ジェームズハーグ 同様のスタックオーバーフローポスト Clojure / Lispゲーム スタックオーバーフローに関するHaskellゲーム Yampaの(Haskellでの)関数型リアクティブプログラミング Clojure / LispとHaskellのゲーム(ソース付き)にはいくつかのアイデアがあるようです。残念ながら、私は単純なJava命令型脳にとって意味のあるメンタルモデルにコードを読み取ったり解釈したりすることはできません。 FPが提供する可能性に非常に興奮しており、マルチスレッドのスケーラビリティ機能を味わうことができます。Space Invaderの時間+イベント+ランダム性モデルのような単純なものをどのように実装し、高度な数学的理論のように感じることなく、適切に設計されたシステムで決定論的部分と非決定論的部分を分離する方法を理解できたと思います; すなわちヤンパ、私は設定されるでしょう。単純なゲームの生成にYampaの理論レベルの学習が必要と思われる場合、必要なすべてのトレーニングと概念フレームワークを取得するためのオーバーヘッドが、FPの利点の理解を大きく上回ります(少なくともこの単純化された学習実験の場合) )。 フィードバック、提案されたモデル、問題領域へのアプローチ方法(ジェームズハーグがカバーしている一般性よりも具体的)をお勧めします。

4
ゲーム用の動作/コンポーネントベースのシステムを作成する
バックグラウンド 私はゲーム開発を趣味として行っており、それらを設計するより良い方法を探しています。現在、私は標準のOOPアプローチを使用しています(8年間エンタープライズ開発を行ってきたので、最終的には実現しています)。たとえば、「バディ」 public class Baddie:AnimatedSprite //(or StaticSprite if needed, which inherit Sprite) { //sprite base will have things like what texture to use, //what the current position is, the base Update/Draw/GetInput methods, etc.. //an AnimatedSprite contains helpers to animated the player while //a StaticSprite is just one that will draw …

9
数学の学位を取得すると、ゲーム開発に役立ちますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 システムエンジニアリングの学位を取得するのに2か月かかります。つまり、マネージ言語を使用してコードを作成し、適切にコーディングする方法を学びました。 私がこのキャリアに入った唯一の理由は、ビデオゲームを作りたかったからです。現在のスキルセットでは、頭の中にあるもののいくつかを作成できないことを知っています。 純粋な数学の2度を取得することで、この目標を達成できますか?

2
通常、ビデオゲームプログラミングは物理学に関連していますか?
これは、一部のゲーム、掃海艇、カードゲームなどでは明らかに当てはまらないことを知っています。しかし、実世界の環境をシミュレートするゲームはどうでしょうか。明らかに、これらのゲームには、グラフィックスを動かす物理エンジニアの何らかの形があります。 個人的に物理学は好きではないがビデオゲームが好きな私のような人にとって、物理学を嫌いながらこのようなビデオゲームの開発サイクルに関与する機会はありますか?

1
OOP ECSとPure ECS
まず、この質問はゲーム開発のトピックに関連していることを認識していますが、実際にはより一般的なソフトウェア生成問題に帰着するので、ここで質問することにしました。 過去1か月間に、Entity-Component-Systemsについてたくさん読んだので、今はその概念にとても慣れています。ただし、明確な「定義」が欠落しているように見える側面が1つあり、記事によって根本的に異なる解決策が提案されています。 これは、ECSがカプセル化を解除する必要があるかどうかの問題です。つまり、そのOOPスタイルのECS(コンポーネントは、それらに固有のデータをカプセル化する状態と動作の両方を持つオブジェクト)と純粋なECS(コンポーネントは、パブリックデータのみを持ち、システムが機能を提供するcスタイルの構造体)です。 フレームワーク/ API /エンジンを開発していることに注意してください。したがって、目標は、それを使用している人なら誰でも簡単に拡張できることです。これには、新しいタイプのレンダリングまたは衝突コンポーネントの追加などが含まれます。 OOPアプローチの問題 コンポーネントは他のコンポーネントのデータにアクセスする必要があります。たとえば、renderコンポーネントのdrawメソッドは、transformコンポーネントの位置にアクセスする必要があります。これにより、コードに依存関係が作成されます。 コンポーネントはポリモーフィックになる可能性があり、さらに複雑さをもたらします。たとえば、レンダーコンポーネントの仮想描画メソッドをオーバーライドするスプライトレンダーコンポーネントがある場合があります。 純粋なアプローチの問題 ポリモーフィックな動作(レンダリングなど)はどこかに実装する必要があるため、システムに外部委託するだけです。(たとえば、スプライトレンダーシステムは、レンダーノードを継承するスプライトレンダーノードを作成し、それをレンダーエンジンに追加します) システム間の通信は避けるのが難しい場合があります。たとえば、衝突システムには、そこにある具体的なレンダリングコンポーネントから計算される境界ボックスが必要な場合があります。これは、データを介して通信させることで解決できます。ただし、レンダリングシステムがバウンディングボックスコンポーネントを更新し、衝突システムがそれを使用するため、これによりインスタント更新が削除されます。システムの更新関数を呼び出す順序が定義されていないと、問題が発生する可能性があります。他のシステムがハンドラーをサブスクライブできるイベントをシステムが発生できるようにするイベントシステムがあります。ただし、これはシステムに何をすべきか、つまりvoid関数を伝える場合にのみ機能します。 追加のフラグが必要です。たとえば、タイルマップコンポーネントを見てみましょう。サイズ、タイルサイズ、インデックスリストフィールドがあります。タイルマップシステムは、それぞれの頂点配列を処理し、コンポーネントのデータに基づいてテクスチャ座標を割り当てます。ただし、フレームごとにタイルマップ全体を再計算するにはコストがかかります。したがって、システムでそれらを更新するために行われたすべての変更を追跡するために、リストが必要になります。OOPの方法では、これはタイルマップコンポーネントによってカプセル化できます。たとえば、SetTile()メソッドは、呼び出されるたびに頂点配列を更新します。 純粋なアプローチの美しさはわかりますが、従来のOOPよりも具体的にどのようなメリットがあるのか​​はよくわかりません。コンポーネント間の依存関係は、システムに隠されていますが、依然として存在しています。また、同じ目標を達成するには、さらに多くのクラスが必要になります。これは私には、決して良いことではない、やややりすぎたソリューションのように思えます。 さらに、私はパフォーマンスにそれほど関心がないので、データ指向の設計とキャッシュミスのこの全体的な考えは、私にはそれほど重要ではありません。素敵な建築物が欲しいだけです^^ それでも、私が読んだ記事や議論のほとんどは、2番目のアプローチを提案しています。どうして? アニメーション 最後に、純粋なECSでアニメーションをどのように処理するかについて質問したいと思います。現在、私はアニメーションを、0と1の間の進行状況に基づいてエンティティを操作するファンクタとして定義しています。アニメーションコンポーネントには、アニメーションのリストを持つアニメーターのリストがあります。次に、更新機能で、現在アクティブなアニメーションをエンティティに適用します。 注意: 私はこの投稿を読んだばかりですが、エンティティコンポーネントシステムアーキテクチャオブジェクトは定義によって指向されていますか?これは私よりも少し問題を説明します。基本的に同じトピックを扱っていますが、純粋なデータアプローチの方が優れている理由についてはまだ答えがありません。

1
ゲーム業界では、ゲーム/レンダリングの視覚的な部分に自動テストを使用していますか?どうやって?
ゲームの一部は、自動化された方法(ロジック、数学、入力処理)で簡単にテストできます。しかし、純粋に視覚的で簡単にテストできないものもたくさんあります。 ゲーム業界がこれをすべて手動テストに任せたとしたら、私は驚きます。十分なお金があるので、少なくともゲームの視覚的な側面のいくつかを回帰テストできるように努力が払われたと思います。 これは本当ですか?もしそうなら、ゲームのレンダリングをテストすることができる可能な方法は何ですか?出力のキャプチャと画像の比較(これは信頼できますか?)?低レベルでグラフィックカードからのデータをインターセプトしますか?その途中で頂点情報(など)をキャプチャするグラフィックスカード?可能性はたくさんあるようです。しかし、これに関する情報は見つかりません:( 注:この質問はこの質問の重複であるとマークされていましたが、これを行う方法について特定のtech / frameworks / toolsについては質問していませんが、このプラクティスに関するアイデア、および実際のゲーム業界が行っていること(ある場合)彼らはまったくそうします)。

7
スケーラビリティについて考え始めるのはいつですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 面白いけどひどい問題があります。新しい(iPhone)アプリを起動しようとしています。これは、自分のカスタムバックエンドで実行されるターンベースのマルチプレイヤーゲームです。しかし、私は立ち上げることを恐れています。 どういうわけか、私はそれが何か大きなものになるかもしれないと思います、そしてその人気は私の貧しい孤独な単一サーバー+ MySQLデータベースを殺すと思います。 一方では、それが成長している場合は、準備を整えて、スケーラブルなインフラストラクチャーをすでに準備しているほうがよいと考えています。 一方、私はそれを世界に送り出し、何が起こるかを見たいと思っています。 私は「時期尚早な最適化がすべての悪の根源である」などの記事をよく読んだり、ツールを手元に置いて今すぐキラーゲームを構築し、後でスケーラビリティなどの他のことについて心配するべきだと言っています。 私はこれについて専門家やこれを経験した人からこれについていくつかの意見を聞きたいです。ありがとう!

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