ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

2
ベクトルを使用してXNA / C#でスプライトを移動する
現在、C#言語を使用したXNAゲーム開発を検討しています。 メインのゲームハンドラーと「スプライト」クラスの2つのクラスがあります。以下は、いくつかの基本的な疑似コードで、問題を適切に説明していると思います。 Game.cs class game { sprite the_sprite; void update(time) { var mouse = mouse.state if(mouse.clicked) { this.the_sprite.moveTo(mouse.x, mouse.y) } this.the_sprite.update(time) base.update(time) } } Sprite.cs class sprite { vector2 location; vector2 move_to; void moveTo(x, y) { this.move_to = new vector2(x, y) } void update(time) { if(this.location.x > this.move_to.x /* (or …
9 xna  c#  vector  movement 

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); // …



3
Androidスレッドがデザインに頭を悩ませる問題
ゲームデザインに頭を悩ませています。Androidプラットフォームでは、アクティビティがあり、そのコンテンツビューにカスタムサーフェスビューを設定しています。カスタムサーフェスビューがパネルとして機能し、すべてのクラスのインスタンスを作成し、そこですべての描画と計算を行います。 質問:代わりに、アクティビティで他のクラスのインスタンスを作成する必要がありますか? 次に、ゲームループを処理するカスタムスレッドクラスを作成します。 質問:この1つのクラスをすべてのアクティビティでどのように使用しますか?または、毎回拡張スレッドクラスの個別のインスタンスを作成する必要がありますか? 前のゲームでは、スレッドクラスのインスタンスを作成する必要のある複数のレベルがあり、スレッドクラスでは、各個別のレベルにコンストラクターメソッドを設定し、ループでswitchステートメントを使用して、レンダリングする必要があるレベルを確認しましたそして更新。混乱するようでしたら申し訳ありません。 私が使用している方法が非効率的であるかどうか(おそらくそうであるかどうか)と、それを正しい方法で設計する方法を知りたいだけです。私はそこにたくさんのチュートリアルを読みました、そして私はまだこの特定のトピックで多くの問題を抱えています。多分これを説明するいくつかのチュートリアルへのリンク?ありがとう。

3
興味深い論文のトピックはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前休業。 ウッチ工科大学(ポーランド)でコンピューターサイエンスを研究しています。コンピューターゲームとシミュレーションテクノロジーを専門としています。来年は理学士論文を擁護するつもりで、どんなトピックを選ぶことができるのかと思っていましたが、本当に興味深いことは何も思い浮かびません。 多分あなたは私を助けて、グラフィックス、ゲーム、シミュレーションのプログラミングに関連するいくつかの主題を提案できますか?(または多分十分興味深いものです:))。私はどんな提案にもとても感謝します!

8
ゲーム開発会社への面接は何を着ればいいですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 多くのゲーム開発会社は、他の種類のソフトウェア開発会社に比べて、職場の装いに関してあまり正式ではありません。たとえば、私が面接する1つの場所には、ジーンズとポロシャツまたはTシャツの主流の職場文化があることを知っています。 スーツを着るべきですか?シャツとネクタイ?シャツとスポーツジャケット、ネクタイ付きまたはネクタイなし?私は仕事に真剣でありながら、文化も理解していることを示したいと思います。
9 jobs 

1
アートワークのアウトソーシング:時間単位かプロジェクト単位か?
私は以前にアートとグラフィックスを制作するために人々を雇ったことがありますが、これまではジョブごとの割合でのみであり、それはうまくいきました。 この質問は、アーティストとそれらを雇う人々の両方を対象としています。 購入者として、1時間あたりの請求が適切に機能する状況またはプロジェクトの種類はありますか? アーティストにとって、どちらを優先するか、もしそうなら、なぜですか?

4
2Dプラットフォーマーの「時間制御」
プレイヤーがボタンを押してレベルを再開できる2Dプラットフォーマーを作成しています。前のキャラクターだけが同時にレベルを実行します。 他のゲームが以前にこれを行ったことを知っています。私が考えた方法は、ゲームキャラクターに一連のアクション(アイドル、ジャンプ、左歩くなど)を持たせ、それらのアクションの変化を検出してログインすることですゲーム時間と一緒のリスト。そのため、キャラクターが自分でレベルを再度実行する必要がある場合、適切なタイミングでアクションを変更してリストを確認できます。 これはそれを行うための最良の方法ですか?誰かこれについて何か経験がありますか? ありがとう。

1
ゲームに表示される2Dボーンアニメーションを実装する方法を知っているのは誰ですか?
彼らがフラッシュゲームでどのようにボーンアニメーションを実装しているのだろうと思いますhttp://www.foddy.net/athletics.swf 2Dボーンシステムを学ぶために始めることができる学習資料を知っていますか?フレームごとに複数のビットマップを作成してアバターシステムを実装したところです(メープルストーリーと同様)。ただし、ボーンシステムを使用するとアートリソースを節約できるため、いくつかのことを学びたいと思っている人もいます。

1
ボードゲームAIの作成
私はOkeyという名前で、主にトルコで人気のあるボードゲームをコーディングしたいと思っています。http://en.wikipedia.org/wiki/Okey しかし、私はAIについていくつかの問題を抱えています。 最初にゲームについて説明させてください。 ゲームは4人のプレーヤーでプレイされます。 このゲームには106のタイルがあり、そのうちの2つは偽のジョーカーです。他の104のタイルは、一般的に緑、黒、青、赤の4色に分かれています。すべての色には2セットのタイルがあります。セットiseには、1から13まで順番に番号が付けられた13のタイルが含まれています。 各プレーヤーは14タイルを開始し(1つは開始15で最初に開始)、最も不要なタイルの1つを次のプレーヤーに投げます。次のプレーヤーは、このタイルを取得するか、テーブルの中央にあるスタックから別のタイルを取得できます。ゲームは反時計回りに再生されました。 このゲームの目的は、14タイルの有効なシーケンスをできるだけ早く見つけることです。プレーヤーは、タイルを13まで同じ色で連番で並べることができます。たとえば、緑1、緑2、緑3の場合は例外です。ここでは例外があり、1は13に続くことができます。たとえば、赤12、赤13、赤1は有効なセット。ただし、赤13、赤1、赤2は無効です。 または、プレーヤーは同じ数の色でタイルを揃えることができます。たとえば、緑1、黒1、赤1、青1などです。 各セットを有効にするには、3つ以上のタイルである必要があり、このセットのそれぞれに「Per」という名前を付けます。仕上げには3タイル未満は無効です。有効な仕上げセットは次のようになります。G:緑、B:青、R:赤、BL:黒G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13 最後に、ゲームを開始するときに、ジョーカー(オーケー)を決定するために選択されたタイル。たとえば、Blue 3を選択した場合。青4はジョーカー(オーケー)となり、プレーヤーは、セットを獲得または完了するために必要なタイルの代わりに、このタイルを使用できます。 もちろん、これらの規則は一般的な規則であり、質問を説明するために要約されています。英語が読める場合は、このリンクで詳細を確認できますhttp://tr.wikipedia.org/wiki/OkeyまたはGoogle Translateによる翻訳ページhttp://translate.google.com/translate?js=n&prev=_t&hl= en&ie = UTF-8&layout = 2&eotf = 1&sl = tr&tl = en&u = http://tr.wikipedia.org/wiki/Okey では、どのAIアルゴリズムを使用できますか?ミニマックス理論とアルファベータ剪定を探しました。しかし、これらの理論は通常、チェスや三目並べのような2人のプレーヤーによるゲームです。 元の質問は、stackoverflowにあります。https://stackoverflow.com/questions/4419628/creating-a-board-game-ai

3
キャラクター主導のゲームエンジンを、スクリプトやプログラミングを学ぶ必要がないところまで単純化することは良い考えですか?
私は覚えていますし、私はプロトタイプの3Dゲームを作成して、Unityのような巨大なツールを使用したり、広範なC ++プログラミング、デザインパターン、まともなまたは基本的な3Dエンジンなどを知らなければ、単純な動作をテストすることさえできないと思います。 今、私はプログラミングを知っているので、何かを作る方法を知る前にプログラミングを学ぶ必要がある人よりも幸運であるかどうか疑問に思っています。Unityなどのスクリプトエンジンも子供向けではなく、私の感覚では、彼らは物事のやり方を指示する傾向があります。これはOgreやIrrlichtのようなエンジンには当てはまりません。 今、キャラクター主導のゲームがゲーム市場の大きな部分を占めていると思っています。AIの構築のみを可能にし、他を除外するキャラクターコントロール指向のゲームエンジンを作成することは良い考えだと思いますか? プロトタイプとは、シーンマネージャー、プレーヤーのカメラのPOV、コントロール、いくつかの非常に基本的な衝突/物理、統合などの一連のゲームプレイパラメーターからすばやく選択できるという意味で「ジェネリック」も意味します基本的なステアリング(OpenSteerなど)。主なアイデアは、AIサンドボックスを3Dで作成することです。そのため、2Dの制約なしで実証できます(また、2Dではなく3Dプロジェクトの3Dのプロトタイプにより適合させることができます)。

2
カバーと距離を考慮して損傷を引き起こす2D爆発を実装する方法は?
箱や他のカバーの後ろに隠れているキャラクターへのダメージを少なくする方法で2D爆発を実装するにはどうすればよいですか?理想的には、損傷はカバーの強度に依存します(たとえば、金属製の壁は木製の箱よりも保護されます)。理想的には、距離とともにダメージも減少します。 Box2D物理エンジンのポート-Farseerを使用します。 ありがとうございました。

3
戦闘後に獲得した経験値の計算
単純なテキストバトルゲームを開発していて、バトル後に獲得する必要のあるXPの計算にいくつか問題があります。考慮したいいくつかの要因があります。 1)同じレベルの誰かを倒した場合、プレイヤーはもちろん良いXPを獲得する必要があります 2)より高いレベルの誰かを倒した場合、プレイヤーは素晴らしいXPを獲得する必要があります 3)より低いレベルの誰かを倒した場合、プレイヤーは貧弱なXPを獲得する必要があります 4)上記は適切にスケーリングする必要があります。つまり、プレーヤーAがレベル10で、レベル9または11のプレーヤーBと戦う場合、その差は大きくありません(もちろん、レベル11のキャラクターを倒すとXPが増えますが、これは巨大であると期待します)、しかし、彼がレベル5または15で戦う場合、この違いは巨大なはずです。 すべてのシナリオでうまく機能する何かを計算するのに問題があるだけで、現在の私のXPテーブルは以下のようになります。 Current Level XP Needed Increase from Last Level 1 30 0 2 65 35 3 106 41 4 154 48 5 210 56 ... 10 672 123 PHPでは、必要なXPを計算するためのコードは次のようになります。 $offset = 30; $multiplier = 1.17; $base = $prevXp * $multiplier; $xp = $base + $offset; …

4
更新にターンベース(RPG)ゲームでアイドル時間を使用する
ターンベースのRPGゲームを実行すると、ゲームが「wait_for_player_input」をループしているため、何も起こらない時間が長くなります。当然、この時間を使用して更新するのが賢明なようです。 ただし、これはすぐにスレッド化する必要があることを示唆しているようです。この種の設計は単一のスレッドで可能ですか? loop: if not check_something_pressed: update_a_very_small_amount else keep going しかし、「a_very_small_amount」がループごとに1つのオブジェクトのみを更新していると言うと、更新が非常に遅くなります。 あなたはこれについて、できればシングルスレッドでどうしますか? 編集:私はこの言語にとらわれないタグを付けました。;-) 2番目の編集:このゲームでは、アニメーションコンポーネントを使用する予定はありません。つまり、私は現在、プレイヤー入力待ちとして実行しており、すべてを更新して描画しています。したがって、X FPSではなく、ユーザーの速度に依存します。

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