Javaでテキストベースのアドベンチャーを作成していますが、現在、次の3つのいずれかを実行できるかなり限られた戦闘システムを使用しています。
- あなたの剣で攻撃する
- 魔法による攻撃(ロックされていない場合)
- 健康ポーションを飲む
このシステムは機能しますが、かなり退屈で刺激を受けていません。テキストベースのゲームの制限を考慮して、戦闘を楽しくしたいのですが、これを達成する方法がわかりません。このシステムをより魅力的で楽しいものにする方法を知っている人がいれば大歓迎です。
Javaでテキストベースのアドベンチャーを作成していますが、現在、次の3つのいずれかを実行できるかなり限られた戦闘システムを使用しています。
このシステムは機能しますが、かなり退屈で刺激を受けていません。テキストベースのゲームの制限を考慮して、戦闘を楽しくしたいのですが、これを達成する方法がわかりません。このシステムをより魅力的で楽しいものにする方法を知っている人がいれば大歓迎です。
回答:
基本的に、プレイヤーの選択を改善する方法を探しています。それを行う方法は、選択をより面白くおよび/または意味のあるものにすることです。意味のあることで、私は選択が全体的な経験に与える影響に言及しています。ゲームの他のシステム、物語などについて詳しくは知らずに、この答えの範囲外として意味のある部分を脇に置きます。代わりに、戦闘システムをより興味深いものにするために、測定された不確実性と複雑さを戦闘システムに追加するいくつかの方法に焦点を当てています。
提示された情報に基づいて、戦闘には多かれ少なかれ明確な戦略があると思われます。
これらの種類のパターンは発見するのに時間がかからず、ゲームプレイはモーションを通過することで構成されます。あなたはすでにいくつかの解決策を試しました:
意思決定をより興味深いものにするために、システムに複雑さを追加できるいくつかの方法を以下に示します。
複雑さ、不確実性を追加し、プレイヤーがリスクを取ることを奨励することが可能です。すなわち、ポーションに0-9の乱数を与えます。ポーションは、その#がプレイヤーに最後に与えられたダメージの最後の桁とどれだけ密接に一致するかに基づいて、より回復します。
GDSEは意見よりも質疑応答に関するものであるため、例はそれだけであることを強調したいと思います。中核的な答えは、問題のシステムを面白くする方法を見つけることであり、複雑すぎたり、arbitrary意的であったり、わかりにくいものにすることはありません。それを実現する方法について追加の意見が必要な場合は、GDSEチャットまたはTIG Sourceなどのgdevフォーラムにアクセスする必要があります。
かつてプレイした中で最高のテキストベースの2キャラクター戦闘システムの1つを使用したゲームをプレイしました(ゲームは他のあらゆる点でひどかったので、その名前を忘れました)。
なぜこのシステムは多くの深さを提供したのですか?
まず、現在どの攻撃が最も大きなダメージを与えているかは必ずしも明らかではありません。これは、攻撃の現在の攻撃ステータスと対戦相手の防御ステータスに影響を与えるステータス効果を調べる必要があるためです。プレイヤーがゲームの仕組みを完全に理解したとき、これは単なる計算にすぎませんが、アルゴリズムを深く分析し、経験に基づいた推測を行うプレイヤーはほとんどいません。
第二に、最も有害な攻撃を見つけたとしても、そのステータス効果がどのような影響を与えるのかを見なければなりません。たとえば、敵STRをブーストする攻撃を使用するのは悪いかもしれませんが、一方で敵はSTRベースの攻撃を1つしか受けず、その攻撃はDEXをターゲットにしています。また、攻撃はINTをブーストしますが、これは良さそうですが、まだ3ラウンドのINTブーストが残っているため、この機会を利用して別のステータスのブーストを取得することもできます。
このシステムをコピーする必要があると言っているのではありません。私が言いたいのは、ディープターンベースの戦闘システムを設計したい場合は、
MUD gemstone 3には、優れたテキストベースの戦闘がありました。
MUDであるため、リアルタイムの戦闘が可能で、マルチプレイヤーでした。
より印象的なことの1つは、スタンスがあったことです。防御的、中立的、または攻撃的である可能性があり、戦闘中にスタンスを変更します。
攻撃にはラウンドタイムという概念もありました。より重い武器と防具(および強度の低下、または速攻の欠如)は、より長いラウンド時間を意味しました。
したがって、X秒のラウンドタイムがあり、戦っていたもののラウンドタイムはYになります。(単一の対戦相手を想定)
あなたとあなたの対戦相手はあなたのラウンドタイムタイマーが動いていないときにしか行動できないので、良い戦闘機は「スタンスダンス」をするでしょう。
目標は、攻撃するたびに攻撃的なスタンスになり、攻撃を受けるたびに防御的なスタックになることです。
あなたはあなたのラウンドタイムと彼らの時間に基づいて物事の時間を計る必要があります。
それはかなり楽しかったし、スキルの良い挑戦でした。テキストゲームimoに最適です。
選択肢が有意義な場合、ゲームは最も楽しいとよく言われます。メカニックが単純すぎると、選択が明らかになり(例:体力低下->体力ポーションを飲む)、ゲームが思いがけないものになります。選択を意味のあるものにする1つの方法は、それらに観察、予測または計画のようなスキルを必要とさせることです。
この動作の優れた例は、次の機能と必要なスキルを備えたJRPGであるChrono Triggerです。
このすべてのビルドに、ゲームはあなたに別与え機器を、異なるスロー敵や敵の組成物をあなたに、時にはあなた変更でき強制的にパーティメンバーを異なる戦略の相対的な効率に影響を与えるすべては、あなたがゲームをプレイする方法。
しかし、これはほんの一例であり、彼らが使用するメカニズムは重要な部分ではなく、プレーヤーが学ぶために必要なスキルです。スキルの他の例には、タイミング/反射(アクションゲームの典型)、演duction(パズルゲーム)、長期計画(戦略ゲーム)、または読解(格闘ゲーム)が含まれます。退屈なゲームをより魅力的なゲームにするためのスキルに集中してください。
時間に敏感にすることができます。だから、「トロールはあなたの頭で彼のクラブを振っています...」と言うことができ、...を増分的に表示させることができます(それぞれ0.5秒と言います)。時間までに最後の場合。ユーザーがダッキングしていないように見える場合、クラブはそれらをヒットし、「クラブはあなたの頭を打った、あなたはダッキングする必要があります!」と言います
あなたの防御的な動きは
攻撃ごとに異なる防御が必要であることを確認してください。そのため、プレイヤーは毎回「ブロック」と入力することはできず、代わりに刺激(上記の攻撃)に反応する必要があります。
戦いが始まると、ユーザーは頭にパンチを入れることができますが、2回目の攻撃は頭にもう1回パンチがあればブロックされます。だから、あなたは頭をパンチし、足を蹴ります。これにより、ユーザーは攻撃について少し考えるようになります。ある種のパターン認識を行い、キャラクターに次の動きを推測させることも、繰り返しを禁止するのではなく、良いことです。その学習ツリーを保持することは、非常に興味深いプレイにもなります:)
スーパーファミコンのタイトルを覚えているなら、私は戦闘エンジンを備えたテキストベースのゲームに取り組んでおり、OGRE BATTLEに触発されたシステムで最高の結果を得ました。私の場合、あなたは3人のパーティーをコントロールし、一度に5人までの敵に立ち向かうことができました。
基本的には、チームに戦術を設定し、設定された反復回数で戦闘シーケンスが自動的になります。体力が最も低い敵をターゲットにしたいですか、それとも最高にしたいですか?最もダメージを受ける敵をターゲットにしたいですか?それとも、彼らのリーダーをターゲットにしたいですか?ポーションをすべてのコストで節約するか、%のしきい値で使用しますか?
シーケンスは複数の攻撃のやり取りで進行し、その後プロンプトが表示されて、戦術を再評価して変更できます。あなたがチームを指揮するのと同じように、自分では参加しません。
最終的には、ピカレックが言っていることに帰着します-選択肢に何らかの思考が必要な場合にのみ興味深いものです。
注:これは長いかもしれませんが、価値があると約束します
革新的で、従来のマルチオプションの戦闘システムから外れることのできる何かをするつもりなら。ゲーム作るための素晴らしい方法です、私はのMUD(自分の名前を入力して、呪文や攻撃をキャストなど)のそばにあり、多くの出ていないテキストベースの戦闘システム、お勧めしたい方法がより魅力的に。
タイピングは、テキストベースのゲームに、ジャンルのゲームに非常にユニークな何かを与えます。これはアクション要素です。特に、時間制限と組み合わせると、ボスを殺し、ボスのように感じながら、キーボードを介して炎上するよりもゲーマーにとって良い感じは何ですか?
プレイヤーは、ボタンを何気なくクリックするのではなく、攻撃とスペル名を実際に覚えるようにします。優れたストーリー/意味(テキストベースのゲームには不可欠だと思います)または何らかの疑似言語と組み合わせると、プレイヤーはゲームにもっと没頭できるようになります。さらに、ゲームファンのコミュニティ(プロジェクトに参加できることを願っています😉)は、ゲームについてさらに議論するための共通の要素を持っているため、より安定しています。ファンベース拡張係数(FEF)と呼ぶものがあります、それは基本的にゲームの機能であり、ファンがゲームに固有の側面を持つ共通の連想ポイントを持つようにします。それはゲームに受動的に多くのボリュームを追加しますので、どちらが本当に素晴らしいです、ここではFEFの可能な結果の優れた視覚化である: 始点ユーザーがゲーム=>ユーザーがFEF =>ユーザーが他のユーザーとFEFを議論学ぶ遊ぶIRL / online =>インターネット上のゲーム関連コンテンツのボリュームをさらに拡大=>より多くのサードパーティがゲームにさらされる=>より多くのユーザーがゲームをプレイする可能性が高い=> 開始点が高くなります。そのゲームで成功したFEFの良い例は、Skyrimのdovah言語、またはヤギシミュレーターのユニークなバグ/ユーモアのセンスです。
最後の2つのポイントは、このようなシステムの価値を証明するのに十分すぎると思います(少なくとも短所の前に)。ただし、難易度である3番目のポイントを追加します。このシステムを統合することにより、プレイヤーは十分なチャレンジを受け、ゲームでの彼の成功は、符号なし整数値ではなくスキルに基づいていることを保証します。難易度が効果的/非効果的な追加であるかどうかは、実装のみに基づいています。たとえば、ゲームOSUは、非常にやりがいのあるゲームであり、相対性でも人気がありますが、最初にゲームを好む多くの潜在的なプレーヤー/初心者を怖がらせます。
大変な仕事です。もちろん、キーワードの大きなデータベースを備えたこのようなシステムを構築することは、GUIにいくつかのボタンを付けるほど簡単ではありません(組み合わせ、タイプミス、キーボード操作、等...)
タイプミス。不器用なキーボードやユーザーのために殺されるよりも刺激的で激怒する主な要因は、もちろん、これはいくつかのアルゴリズムによって修正される/ユニークなゲーム要素として統合される可能性があります(たとえば、タイプミスに対するダメージが少ない)ゲームを開発する際の重要な要素である実装には、はるかに多くの時間と労力が必要です。
それは皆のためではありません。ゲームのスキル/スペルは、誰もの種類の高速特定の言語で実装し、英語のネイティブ可能性が高く、より良いスペルとスペルを入力することですしている場合は特にDUMのTSSによって、他の人よりも速いか(同じあなたの意思がない限り、すべての言語のために行きますエスペラントのスキル)。これには、開発者が代替言語(またはナンセンス)を提供する必要があり、ターゲットオーディエンスが縮小する可能性があります+それは、本当に小さな子供(このゲームはテキストベースのゲームのターゲットオーディエンスではないと仮定します) )*
。*「でも、ポケモンはどう?」と言うかもしれません。休憩してください、最初の対話を読んだ人は誰もいません。
**それが何であるか知りたい場合は、投稿全体を読んでください。
プレイヤーと対戦相手の両方が同時に選択し、両方の決定が同時に明らかにされ、それに基づいて行動します。
フェイントハイ。
フェイントロー。
高いスイング。
低いスイング。
ブロック高。
ブロックロー。
スイングし、相手がブロックしない場合、ダメージを与えます。
高いスイングは、低いスイングよりも大きなダメージを与えます。
スイングして相手が正しい高さをブロックすると、50%の確率で次のアクションが無駄になります(次のアクションが明らかになった後にコインフリップが実行されます)。
あなたがフェイントし、相手がその高さをブロックした場合、彼らはあなたの巧妙な策略のために落ちました、ブロックした人は次のアクションを失う可能性が50%です
もちろん、グループの戦い、魔法、ポーションにはより多くの相互作用が必要になります。オプション(パワースイングの高/低)をいつでも追加できます。これにより、接続するとより多くのダメージを与えますが、次の1+ターンの間は無防備になります。
AIの選択は、好きなだけ簡単または複雑にすることができますが、そこにはランダムな要素が必要です。基本的に、人々が脅迫されている(囲まれ、健康状態が悪い)と感じた場合、ブロックする可能性を高めます。相手のバランスが崩れ、体力が低下し、周囲が囲まれている場合、相手は振り回されやすくなります。また、プレイヤーに提供された情報に応答させます-プレイヤーが常に高く振る場合は、おそらくブロックを高くします。
あなたが説明することは、オールドスクールのJRPG戦闘システムのテキストのみのバージョンのように聞こえます。
@Pikalekは、これらのシステムが退屈な理由と、深さを追加することでシステムが魅力的になる方法を説明する非常に良い仕事をしています。それでも、この戦闘タイプには2つの問題があります。
ここで、いくつかのラテラル思考が役立つ場合があります。そのような例の1つは、Final Fantasy XIIIが従来のFF戦闘システムを根本的に変えた方法です。
FF XIIIでは、戦闘はリアルタイムで発生し、プレイヤーキャラクターはAIによって制御されます^。プレーヤーの入力は、特定のアクションではなく、キャラクターに役割を割り当てる「パラダイムシフト」です。役割は、各キャラクターが使用するスキルを決定し、戦士、魔道士、戦車、メディックなどの非常に一般的な行動です。
このシステムには長所と短所がありますが、非常に効果的で魅力的であることがわかりました。
マイナス面では、キャラクターの行動をきめ細かく制御できなくなり、効果を発揮するのに十分なスキルとロールのプールが必要になり、おそらく実装が難しくなります。
有利な点は、リアルタイムの戦闘がはるかに速く、魅力的で、簡単な戦闘が迅速に派遣できることです。また、戦闘は戦略(パーティとパラダイムの設定方法)や、マイクロマニュアリングアクションではなく、戦術的な流れに重点を置いていると感じています。攻撃が来る?すばやく、すべてのタンクに切り替えてください!など
このような戦闘システムを実装することは大きなコミットメントであり、ゲームの多くの分野に影響を与えるので、少々気をつけて実行してください。それでも私は非常に魅力的で十分に活用されていないシステムであり、もっとプレイしたいと思っており、テキストのみのゲームにぴったりのようです。
^正確には、メインキャラクターを手動で制御するか、フルオートに設定できます。
テキストベースのシステムであるため、毎回まったく同じ選択肢が存在する代わりに、攻撃と防御のオプションに可能なフレーズのプールを使用することをお勧めします。これらのフレーズは武器に依存している可能性があり、「変化する戦闘の最中」という感覚をさらに与える可能性があります。したがって、アクションのプロンプトが表示されるとき、「攻撃の選択」の正確なフレーズと「防御の選択」のフレーズは毎回異なります。
また、おそらく、危険な位置にいる場合、ポーションを飲むオプションがない「脅迫された」メカニックを導入するか、「脅迫された」間で飲むと、相手に無料攻撃を与えます。これはランダムにすることも、常に選択した状況に基づいて行うこともできます。
これは、戦闘結果の説明にも反映されるはずです-ヒット、ミス、武器の種類、およびダメージの量に関するさまざまなランダム/変化する説明。