タグ付けされた質問 「turn-based」

ユニットまたはユニットのグループはアクションを実行しますが、他のすべてはその実行されたアクションにしか反応できません。次に、次のユニットまたはユニットのグループが機能します。

8
ターン制ゲームでの近接報復の背後にある設計原理は何ですか?
他のユニットへの近接攻撃により、攻撃されたユニットも攻撃ユニットにダメージを与えるターンベースのゲームをかなり見てきましたが、遠隔攻撃はこの「報復」メカニズムの影響を受けません。 例としては、ヒーローズオブマイトアンドマジックシリーズ、文明シリーズ、新しいキングバウンティシリーズなどがあります。 これには特定の設計上の理由がありますか?攻撃を受けたユニットに追加の攻撃を与えた理由は何ですか?そして、なぜ遠隔攻撃は報復から除外されるのですか?

18
アクションがリアルタイムで発生するターンベースの戦略ゲーム?[閉まっている]
さて、このアイデアは会話で3回目になり、長年私を悩ませてきました。このアイデアは、ゲームが一時停止状態にある間にすべてのプレイヤーがユニットに決定/命令を出し、すべてのアクションがリアルタイムで一度に実行されるゲームです。これは、TRPG(Final Fantasy Tactics)から小規模の小競り合い(Worms)、基地と多数のユニットを含むゲーム(Advance Wars)、リスクタイプのゲーム(Riskタイプのゲーム) )。 これの主な欠点は、プレイヤーがアクションの結果をすぐに見ることができないことです。従来のターンベースまたはリアルタイムの戦略ゲームでは、ユーザーは「バカな攻撃」をクリックするとすぐに爆発が起こります。奇妙な状況もあるかもしれません(たとえば、反対方向に走っているユニットと混戦するようにユニットを送ります)が、それは低レベルの詳細です。優れたゲームデザイナーはこれらの問題を回避できるはずです。最後に、ターンベースのゲームには一般的に不足がありますが、リアルタイム戦略ゲームでは不可能なレベルの戦術的深さを提供し、常に市場があります(毎年多数の新しいTBSが表示されます)。 このパラダイムを使用するゲームはありますか? なぜもっとないのですか? この作業を行うには何が必要ですか? どのような潜在的な問題を予見できますか? 明確にするために、私は純粋な戦略を意味します。コマンドは事前に入力され、解像度はリアルタイムですが、プレーヤーによるリアルタイムの「単収縮」入力は必要ありません。 編集: Iainの答えは、基本的に2番目と4番目の質問に答えたLaser Squad Nemesisを指し示しました;-P-これがうまくいかない理由を知りたい場合は、デモ(9MB)をダウンロードし、最初のチュートリアルをクリックしてください。痛い!もちろん、Laser Squad NemesisのUIは役に立たない(ボタンを再生して一時停止するのか、それとも私がやろうとしているのであれば、毎ターン「注文を発行」をクリックする必要があるのか​​?) よりシンプルなもの(2、3の回答で言及されたボードゲーム、またはIainが作成したZwok)の場合、このパラダイムは非常に有効です!コマンドの入力とコマンドの実行との間の遅れが明らかであるため、より伝統的な戦術/戦略ゲームでは問題が発生するようです。実際にZwok -とボードゲームのいくつかは言及-仕事を理由は、この遅れオフではなく、それにもかかわらず。対戦相手が次に何をするかを推測し、「先に考える」ことをお勧めします。しかし、より伝統的な小規模な戦術戦略ゲームでは、フラストレーション要因は価値がありません。 上で、このようなゲームを見ても面白いかもしれません、本当に大規模な。たとえば、リーとナポレオンはリアルタイムで軍隊を注文しませんでしたが、むしろ何時間も前の情報に基づいて決定を下しました。今日でも、将軍はリアルタイムのトップダウンマップを持っていません。しかし、その「フラストレーション要因」を取り除くには、真剣に巧妙なゲームデザインが必要になります。

4
ターンベースのゲームまたはローグライクゲームでヒットを計算するための属性
プレイヤーがローグライクゲームで敵を攻撃したときのヒットを決定するための良い公式を見つけようとしています。単純化したものを思いつきますが、D&Dや、AngBandやNetHackのような人気のあるRoguelikesで行われている方法には変わりありません。 これまでのところ、プレーヤーと敵の属性の違いをランダムな整数とともに追加しています。 if ((player.dex - enemy.dex) + (player.speed - enemy.speed) + (player.luck - enemy.luck) + random_integer_below_6()) >= 10) { hit(enemy); } これにより、不自然なゲームプレイが可能になります。プレイヤーは弱い敵を見逃すことはありません。ターンベースのゲームなどで使用される属性ベースの戦闘のガイドを知っている人はいますか?D&Dルールを逐語的にコピーする必要がありますか?

3
アクションに副作用があるターンベースのゲームの設計
私はゲームDominionのコンピューター版を書いています。アクションカード、​​トレジャーカード、および勝利ポイントカードがプレイヤーの個人デッキに蓄積される、ターンベースのカードゲームです。クラス構造はかなりよく発達していて、ゲームロジックの設計を始めています。私はpythonを使用していますが、pygameで簡単なGUIを後で追加するかもしれません。 プレイヤーのターンシーケンスは、非常に単純なステートマシンによって管理されます。時計回りに回すと、プレイヤーはゲームが終了するまでゲームを終了できません。シングルターンのプレイもステートマシンです。一般的に、プレイヤーは「アクションフェーズ」、「購入フェーズ」、「クリーンアップフェーズ」をこの順番で通過します。ターンベースのゲームエンジンを実装する方法の質問への回答に基づいて?、状態マシンはこの状況の標準的な手法です。 私の問題は、プレイヤーのアクションフェーズ中に、自分自身または他のプレイヤーの1人以上に副作用のあるアクションカードを使用できることです。たとえば、1枚のアクションカードを使用すると、プレーヤーは現在のターンの終了後すぐに2ターン目を取ることができます。別のアクションカードを使用すると、他のすべてのプレーヤーは手札から2枚のカードを捨てます。さらに別のアクションカードは、現在のターンでは何も行いませんが、プレーヤーは次のターンに追加のカードを引くことができます。物事をさらに複雑にするために、新しいカードを追加するゲームへの新しい拡張が頻繁にあります。すべてのアクションカードの結果をゲームのステートマシンにハードコーディングすると、見苦しくなり、適応できなくなります。ターンベースの戦略ループへの答え この問題を解決するための設計に取り組む詳細レベルには入りません。 ターン内で行われるアクションによってターンを取るための一般的なパターンを変更できるという事実を包含するために、どのようなプログラミングモデルを使用すべきですか?ゲームオブジェクトは、すべてのアクションカードの効果を追跡する必要がありますか?または、カードに独自の効果を実装する必要がある場合(たとえば、インターフェイスを実装することによって)、十分なパワーを与えるにはどのようなセットアップが必要ですか?この問題に対するいくつかの解決策を考えましたが、それを解決する標準的な方法があるかどうか疑問に思っています。具体的には、アクションカードがプレイされた結果としてすべてのプレイヤーがしなければならないアクションを追跡する責任を負うオブジェクト/クラス/その他、および通常のシーケンスの一時的な変更との関係を知りたいターンステートマシン。

2
ターンベースのゲームエンジンを実装する方法
Heroes of Might and Magic、Master of Orion、またはターンベースの選択ゲームのようなゲームを想像してみましょう。次のターンの背後にあるゲームロジックは何ですか?トピックについて読むための資料や本はありますか?具体的には、ゲームループを想像してみましょう。 void eventsHandler(); //something that responds to input void gameLogic(); //something that decides whats going to be output on the screen void render(); //this function outputs stuff on screen それらはすべて、1秒間に60回呼び出されます。しかし、ターンベースはどのようにここに入りますか?gameLogic()には、プレイヤーがそのボタンをクリックしたときに発生するendTurn()のような関数があると想像するかもしれませんが、どうすればそれをすべて処理できますか?洞察が必要です。
17 turn-based 

6
プレイヤーを同じマスに同時に移動しますか?
2 x 2の正方形のグリッドを考えます。次の場合、プレイヤーは広場に移動できます。 次のターンに他のプレイヤーは広場に移動したくない 他のプレイヤーは誰も待っておらず、このターンはまだ広場を占領しています 私の問題を説明するために上の画像を含めました。 プレイヤーは同時に動きます。 2人(またはそれ以上)のプレイヤーが同じマスに移動しようとした場合、どちらも移動しません。
15 turn-based 

1
デスクトップ用のターンベースのゲームサービス(iOSのGKTurnBasedMatchなど)はありますか?
Game CenterのGKTurnBasedMatchは、ターンベースのゲームを処理するための非常に堅牢なサービスを提供しているようであり、OpenFeintも同様の機能を備えているようです。問題は、デスクトップ用にこのようなものが欲しいのです。私は自分のRESTベースのサービスをRailsで展開することを考えていましたが、GameKitのドキュメントを見た後、それを安定させるのに時間がかかることに気付きました。私の検索で見逃したこのようなものがすでに存在するとは思わない?

3
ソケットを介してn個のクライアントと通信するターンベースのサーバーを記述するパターンはありますか?
私は、ゲームをプレイするTCPソケットネットワーククライアントの任意の数のゲームを管理する汎用ゲームサーバーで作業しています。ダクトテープでハッキングされた「デザイン」が動作していますが、壊れやすく柔軟性に欠けています。堅牢で柔軟性のあるクライアント/サーバー通信を作成するための確立されたパターンはありますか?(そうでない場合、私が下にあるものをどのように改善しますか?) 大体これがあります: ゲームのセットアップ中、サーバーには、クライアントからの同期リクエストとサーバーからの応答を処理するプレーヤーソケットごとに1つのスレッドがあります。 ただし、ゲームが開始されると、1つのスリープを除くすべてのスレッドと、そのスレッドが(逆の要求と応答で)移動について通信しながらすべてのプレイヤーを1つずつ循環します。 ここに私が現在持っているものの図があります。クリックして拡大/読み取り可能なバージョン、または66kB PDFをクリックします。 問題点: プレイヤーは、正確に正しいメッセージで順番に応答する必要があります。(私は各プレイヤーにランダムながらくたに応答させ、彼らが有効な動きを与えてから先に進むことができると思います。) 順番が来ない限り、プレイヤーがサーバーと会話することはできません。(サーバーに他のプレーヤーに関する更新を送信するように指示することはできますが、非同期要求は処理しません。) 最終要件: パフォーマンスは最優先事項ではありません。これは、主に非リアルタイムゲームに使用され、主にAIを相互にピッチングするために使用され、けいれん的な人間には使用されません。 ゲームプレイは常に(非常に高い解像度であっても)ターンベースになります。他のすべてのプレイヤーがターンを取得する前に、各プレイヤーは常に1つの動きを処理します。 サーバーの実装はたまたまRubyで行われます(違いがある場合)。

7
チェスのようなAIは、ターンベースの戦略ゲームでは本当に適用できませんか?
明らかに、移動の完全なツリーにmin-maxアルゴリズムを適用しようとすると、小さなゲームにしか機能しません(すべてのチェス愛好家に謝罪します。ボードが多くの場合100タイルより広く、サイドのすべてのピースが同時に移動できる典型的なターンベースの戦略ゲームでは、min-maxアルゴリズムは適用できません。 各深さでNボード構成に制限する部分的な最小-最大アルゴリズムでは十分ではないのではないかと思っていましたか?遺伝的アルゴリズムを使用すると、評価機能に適した多くのボード構成を見つけることができる場合があります。願わくば、これらの構成が長期的な目標に適していることを願っています。 これが以前に考えられていなかったなら、私は驚いたでしょう、そして、試みました。ありますか?どのように機能しますか?
13 ai  turn-based 

3
ターンベースのゲームでエンティティコンポーネントのゲーム状態を進行させる方法は?
これまでのところ、私が使用したエンティティコンポーネントシステムは、ほとんどがJavaのアルテミスのように機能しています。 コンポーネント内のすべてのデータ ステートレスな独立したシステム(少なくとも初期化時に入力を必要としない程度)は、特定のシステムが関心のあるコンポーネントのみを含む各エンティティを反復します。 すべてのシステムはエンティティを1ティック処理し、その後すべてをやり直します。 今、私はこれをターンベースのゲームに初めて適用しようとしています。ゲームを進める前に、相互に設定された順序で発生しなければならない大量のイベントと応答があります。例: プレイヤーAは剣からダメージを受けます。これに応じて、Aの鎧はキックインし、受けるダメージを減らします。Aが弱まる結果、Aの移動速度も低下します。 受けたダメージは相互作用全体を開始するものです ダメージがプレイヤーに適用される前に、鎧を計算して、受けたダメージに適用する必要があります 移動速度低下は、最終的なダメージ量に依存するため、実際にダメージが与えられるまでは適用できません。 イベントは他のイベントをトリガーすることもできます。鎧を使用して刀のダメージを軽減すると、刀が粉砕され(これはダメージの軽減が完了する前に行う必要があります)、次に、それに応じて追加のイベントが発生し、本質的にはイベントの再帰的な評価が発生します。 全体として、これはいくつかの問題につながるようです: 多くの無駄な処理サイクル:ほとんどのシステム(レンダリングのように常に実行されるもののために保存)は、「自分の番」が機能しない場合に実行する価値のあることは何もなく、ほとんどの時間はゲームの開始を待機しています。有効な作業状態。これにより、そのようなすべてのシステムに、ゲームに追加される状態が増えるにつれてサイズが大きくなり続けるチェックが散らばっています。 システムがゲームに存在するエンティティを処理できるかどうかを確認するには、他の無関係なエンティティ/システムの状態を監視する何らかの方法が必要です(ダメージの処理を担当するシステムは、鎧が適用されているかどうかを知る必要があります)。これは、複数の責任でシステムを混乱させるか、または各処理サイクルの後にエンティティコレクションをスキャンし、何かをする準備ができていることを通知することによって一連のリスナーと通信する以外に目的のない追加のシステムの必要性を生み出します。 上記の2つのポイントは、システムが同じエンティティセットで動作し、コンポーネントのフラグを使用して状態が変化することを前提としています。 それを解決する別の方法は、単一のシステムがゲームの状態を進行させるために動作する結果として、コンポーネントを追加/削除する(または完全に新しいエンティティを作成する)ことです。これは、システムが実際に一致するエンティティを持っている場合はいつでも、処理が許可されていることを認識していることを意味します。 ただし、これにより、システムは後続のシステムのトリガーを担当し、単一のシステムの相互作用の結果としてバグが表示されないため、プログラムの動作を推論することが難しくなります。新しいシステムを追加することは、他のシステムにどのように影響するかを正確に把握しないと実装できないため(そして以前のシステムを変更して、新しいシステムが関心のある状態をトリガーする必要がある場合があるため)、さらに難しくなります。単一のタスクで。 これは私と一緒に暮らす必要があるでしょうか?私が見たすべてのECSの例はすべてリアルタイムであり、そのような場合にこのゲームごとの1回の繰り返しがどのように機能するかを確認するのは非常に簡単です。そして、私はまだレンダリングにそれを必要とします、何かが起こるたびにそれ自身のほとんどの側面を一時停止するシステムには本当に不適当に思えます。 これに適したゲームの状態を進めるためのデザインパターンはありますか?それとも、すべてのロジックをループの外に移動し、代わりに必要なときにのみトリガーする必要がありますか?

1
ターン制ゲームでの世界の状態とアニメーションの分離
ターン制ゲームでアニメーションと世界の状態の分離をどのように扱いますか?現在、2Dグリッドベースのゲームに取り組んでいます。以下のコードは、わかりやすくするために簡略化されています。 アクターが移動するとき、クリーチャーがアニメートして新しい位置に移動する間、ターンのフローを一時停止したいと思います。そうしないと、画面が世界の状態より大幅に遅れて、奇妙な外観になります。また、ゲームの流れを妨げないアニメーションが必要です。パーティクルエフェクトは、ゲームプレイに影響を与えずに複数のターンにわたって展開できます。 私がやったことは、ブロッキングアニメーションとノンブロッキングアニメーションと呼ばれる2種類のアニメーションを紹介することです。プレイヤーが移動したい場合、実行されるコードは class Actor { void move(PositionInfo oldPosition, PositionInfo newPosition) { if(isValidMove(oldPosition, newPosition) { getGame().pushBlockingAnimation(new MoveAnimation(this, oldPosition, newPosition, ....)); player.setPosition(newPosition); } } } 次に、メインの更新ループが行います。 class Game { void update(float dt) { updateNonBlockingAnimations(dt); //Effects like particle explosions, damage numbers, etc. Things that don't block the flow of turns. if(!mBlockingAnimations.empty()) { …

3
Android / iOSターンベースのボードゲーム用のゲームサーバー
現在iPhoneゲームをプログラミングしていますが、オンラインマルチプレイヤーモードを作成したいと考えています。将来的には、このアプリはAndroidデバイスに移植される予定なので、ゲームサーバーを作成する方法を考えていましたか? まず最初に、どの言語を選択すればよいですか?サーバーがobjective-cとJavaで書かれたプログラムの両方と通信できるようにする方法は? 次に、それを効果的に行う方法は?クライアントでソケットを開くとよいですか(2つあります)?どのような情報をサーバーに送信する必要がありますか?クライアントに?

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ではなく、ユーザーの速度に依存します。

5
大規模グループ向けのターンベースのRPGバトルインスタンスレイアウト
なんというタイトルでしょう? 私は現在ビデオゲームを設計しています。ファイナルファンタジーのようなターンベースのRPG(誰もがファイナルファンタジーを知っているからです)。2Dスプライトゲームです。 これらは私の戦闘のアイデアです: プレイヤーには15人のメンバーのグループがあります(メインキャラクターが含まれています) 戦闘中、グループの5つがアクティブとして指定され、戦闘に登場します。 これらの5つは、暇なときに、または5つのうちの1つが死亡したときに切り替えることができます。 待機中のメンバーはいつでもバフをキャストしたり、アクティブなメンバーにヒールされたり、特別な攻撃を実行したりできます。 戦闘には少なくとも10以上のモンスターが含まれている必要があります。私は20を目指していますが、それがまだ可能かどうかはわかりません。 待機メンバー、アクティブメンバーの相互作用、および1戦あたりのモンスター数の増加により、戦闘は通常よりも大きく感じられるはずです。 プレーヤーには、アクティブメンバーを配置する2つの行があります。 実装によっては、プレイヤーの攻撃とスキルの組み合わせを許可する場合があります。 これらは単なるデザインのアイデアなので、注意してください。私はまだこれをテストすることができませんでした-これらのアイデアのいずれかがまとまって説得力のあるゲームになるかどうかはまだわかりません。紙の上で良さそうに聞こえるものは、必ずしも実際に優れている必要はありません。 私が今求めているのは、このためのレイアウトを作成する方法です。私の出発点はファイナルファンタジーVIの戦いです。ピンサー攻撃の場合、左側に最大5〜6匹のモンスター、右側に右側のモンスターのキャラクターが登場します。 ただし、このビューは、20匹のモンスターと5人のキャラクターという私の目標では実現可能ではありません。左側のすべてのモンスターは、遠くにスケールしない限り、乱雑に表示されます。はさみのようなマップを作成すると、実際のはさみ攻撃は不可能になります。私がモンスターを離すと、プレイヤーに画面をスクロールするように強制します。これは、私が遭遇して楽しんでいないゲームメカニックです。 ターンベースのRPGでバトルマップを設計するためのレイアウトやガイドはありますか?特に多数の敵が考慮されていますか?それはどのように見えるべきですか? 私は特定の戦闘力学を求めているのではなく、今のところレイアウトを求めています。

4
.NETターンベースのゲームで使用するネットワークエンジン/ライブラリ/システムはどれですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 C#で抽象的な戦略ターンベースゲームを開発しています。 そのため、高いネットワーク負荷は予想されません。プレイヤーは常に接続している必要はありません。ホストは、現在のプレーヤーが接続して移動するのを待つことができます。それを実行するWebサイトを作成できることはわかっていますが、自分のゲームをホストできるようにしてほしいです。 信頼できるものが必要で、それによって生産性を高めることができます。 私はすでにWCFを進めています。それは良い選択でしたか?他にどのネットワークフレームワークを検討する必要がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.