Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

戦闘関連の半自動化(互換性維持版) #39

Closed
snext1220 opened this issue Oct 10, 2018 · 35 comments
Closed

戦闘関連の半自動化(互換性維持版) #39

snext1220 opened this issue Oct 10, 2018 · 35 comments
Labels
Compatibility 現在/将来の互換性に影響すると思われる変更 enhancement 新機能提案* Testing テスト中(現在のテスト対象項目)

Comments

@snext1220
Copy link
Owner

snext1220 commented Oct 10, 2018

#10 が長引いているため、一旦そちらをCloseにし、新たなIssueを立ててまいります。
諸々ご意見戴いて、やはり非互換更新は難しいと判断したため、最大限、互換性を維持する案としてまとめ直しています。
※但し、思想としては大きな修正となるため、[Compatibility]を付けています。

1

以下詳細です(以前のIssueからの引継ぎもあり)。

★済★モンスター一覧のアイコン追加など、デザインの修正

  • 各sceneに表示するモンスターの属性(5種類)/攻撃方法(7種類)をアイコン化
  • 項目追加にと伴う横幅の節約のため、アイコンで見た目をシンプル化
  • ステータス変更のためのボタン(後述)のデザインも見栄え要検討

@toki-sor1 さん>本IssueがConfirmedになったところで詳細相談させてくださいm(_ _)m

★済★attack属性の修正

  • これまでは「物理」「魔法」「毒」などの値を受けていましたが、「physics」「magic」「poison」...などに改める
  • 旧値の場合は、後続の自動計算機能は無効化(互換性維持)
  • つまり、「物理毒」のような独自値も引き続き許容する

★済★element属性の修正(非互換)

  • 同様に、設定値をearth、water、fire、wind、spiritに改める
  • 当初、表示するだけであれば表示値で、としたのですが、設定時の誤りの原因になったり、独自拡張が出てしまったので、今後はできるだけ英単語の設定値を決めたいと思います。
  • 今回、唯一の非互換です。

[ダメージ式]ボタンでダメージ値を反映

  • [L-STR]のようなボタンクリックでダメージ式、状態異常をステータスに自動反映する
    • 複数回クリックできるので、基本的な戦闘には対応できるはず
  • プログラム的に認識できるよう、ダメージ式の制限を強化する(下記)
  • 与えた結果はトーストで表示し、ユーザーが認識できるように
  • 【懸案】自動計算なので、ダイスの意味が曖昧に(ダイスクリックでボタンクリックが中途半端?)

ダメージ式の制限強化

以下の形式で統一する。

nL+nR+n-nSTR-nINT-nDEX-nKRM-nFREE1-nFREE2-nFREE3

ただし、以下の制約があります。

  • nは任意の数値
  • 符号(̟プラスマイナス)は差し替え可能
  • すべての項は省略可能&順番も入れ替え可能
  • カッコは利用できない

既存のシナリオで戦闘自動化に対応する場合、ダメージ式を修正戴く必要があるかもしれません(ここは非互換といえばそうですが、先の通り、自動化を見送るという選択肢もあり)

追加仕様:ダメージ式を「*」はじまりとすることで、自動計算を抑制し、互換性を維持する(表示時には「*」は除去される)。

★済★[ドロップアイテム]ボタンで星、freeXに反映

  • [火星×3]のようなボタンクリックで該当する星を自動反映する
    • 複数回クリックできるので、ある程度柔軟に対応できるはず
    • 結果はトーストにて通知
  • 現状は星、FreeXのみを許可

皆さまへの質問

議論の発散を防ぐため、以下に議題ポイントをまとめました。お手数ですが、こちらに沿ってご回答戴けますと幸いです。

  1. 既存のシナで半自動化に対応できそうか(修正は勿論必要なものの、凡そは可能と見込んでいます)
    • ドラスレは旧仕様ママと想定すると、少女英雄が一番影響が大きい?(ラミディアは敵へのダメージのみと割り切れば適用できそう)
    • 修正できなさそうな場合は、該当箇所をお教え戴けますでしょうか
  2. 将来のシナでの利用に耐えられそうか(+αで必要な機能がある場合、お教えください)
  3. その他、上記の懸案について、ご意見お願いします

STextも気付いてみたら、Monthly Updateでその他の(半)自動化が強化された結果、大きなところでは戦闘の自動化を残すのみとなってきました。是非、皆さまのご意見をお待ちしております。
# この改定+簡易ステータス表示をもう少し強化すれば、ステータスダイアログを開く機会が極端に減るのかな、と期待しています。

実装用メモ

var ex = /([\+\-]?)(\d*)(R|L|STR|INT|DEX|KRM|FREE1|FREE2|FREE3)?]?/gi;
var str = "-L+2R+2STR+5STR-350";
let result;
while ((result = ex.exec(str)) != null) {
  if (result[0] === '') { break; }
  console.log(result);
}
@snext1220 snext1220 added enhancement 新機能提案* Compatibility 現在/将来の互換性に影響すると思われる変更 Request 改定に付随する作業のお願いあり labels Oct 10, 2018
@snext1220 snext1220 assigned toki-sor1 and unassigned toki-sor1 Oct 10, 2018
@RYU-DS
Copy link

RYU-DS commented Oct 13, 2018

おおむね私の希望通りにしていただいて大変恐縮です。
いくつか確認や質問があるのですが…

>attack属性の修正
これは実際の表示はアイコン(例えば物理なら剣など)で、そのアイコンで表示される「正規の物理」を設定するためには「physics」と設定し、何らかの理由で「独自の物理」と設定する場合は従来どおり「物理」と設定してもよい、という事ですかね?
で、正規の設定でないと自動計算に反映されない、と。

>element属性の修正(非互換)
こちらは従来の地水火風霊をそれぞれearth、water、fire、wind、spiritとしアイコン化まではわかるのですが、非互換という事は従来設定を許容しない、つまり別の独自の属性設定も不可、という事かと思うのですが…魔法使用時に自動的に敵が死ぬといった自動化が無い、つまり今回のアイコン化にヒモついた要素が無いのにこうである事が不思議なので、従来設定可および別の属性を設定する余地がほしいと思います。

>[ダメージ式]ボタンでダメージ値を反映
コレに関しては以前同様、できれば計算値を一旦「表示」して、それをプレイヤーが確認・修正してから「反映ボタンで反映」とするのが柔軟性があってよい、というのが私の意見ですがそれの代用等にともなって「トースト表示に関する疑問や問題」が発生したので別でIssue立てます。

1.既存のシナで半自動化に対応できそうか
できるだけ組み込みたいですが、そのためにはいくつか案の修正が要るのですが…
・attack属性に物理魔法(HPMP両方にDMを与える)を
・やはり計算と反映の間にワンクッションを
・物理毒などに対応するにはアイコンでは物理としつつ名前などに毒と入れて、計算結果からプレイヤーが手動で毒化とする、といったアイコン化自動化の目的である「スッキリさせる」に反するものになりそうで…
この通りなのでそのスレは自動化対応は見送るべきかと思いますが、プレイヤーからするともっとも自動化してほしいシナが非対応かよ!と、なるでしょうなーとw

2.将来のシナでの利用に耐えられそうか
これは難しい話ですが、よほど自動化の設定対応範囲を広くしない限りは、その中に収めるとなるとどうしても「戦闘をテンプレート的に簡素化」もしくは「範囲外のアイデアを盛り込まない」という事になると思うので、範囲内にキッチリ収まるかどうか?でぶった切ってしまわずに、部分的に自動化を利用できる余地を残す、というのがよいと思います。それによる複雑化やバグ関連と相談ですが。

あとこれも以前からお願いしているのですが、敵撃破アイコン(チェック)付きませんかね?これだけいろいろ付くならそろそろ…

@toki-sor1
Copy link
Collaborator

#19 では、大変失礼致しました……!
こちらの仕様で改めてアイコンを作り直しました(O/Dアップ済みです)。
https://onedrive.live.com/?id=4837C202555BE782%219171&cid=4837C202555BE782

RYUさんのご意見の中に、アイコンに関係するお話がありました。
独自の属性を追加できるようであれば、その時はアイコンのデザインはどうするか等も、
お聞きできましたら助かります。

@RYU-DS
Copy link

RYU-DS commented Oct 13, 2018

「アイコンは必ず表示」でなければそのまま設定文章を表示でいいと思いますが、必ずとなると「?」アイコンを表示して詳細はトーストでの説明文を参照、ですかね。
例…設定属性:「神」の場合
表示「神様(神)」もしくは「神様(?)※アイコン」+トースト「とんでもねぇあたしゃ神様だよ 属性:神」

しかし今ちょっと見て思ったのですが、なんでもかんでもアイコン化は見た目がスッキリする代わりに見る側に理解や暗記を強要する所がありますねー…頭文字等の略称を多用する様な。
なので、元々属性アイコンは「その文字が属性を示している事が視覚的にわかりにくい」というのが問題で、それさえクリアすればやはり漢字の方がわかりやすいと思うので、「地」なら地の漢字を茶色い特殊なフォント(理想を言うなら岩で出来た字など、大きさ的に無理ですねw)で書いたものを囲う、ぐらいがいいのではないかと思います。

@snext1220
Copy link
Owner Author

snext1220 commented Oct 14, 2018

attack属性の修正

はい、ご認識の通りです。

element属性の修正(非互換)

別の独自の属性設定>はい、あくまでソーサリアンを原作としたアプリなので、この辺の設定はあまり独自拡張はしない予定です。

魔法使用時に自動的に敵が死ぬといった自動化が無い、つまり今回のアイコン化にヒモついた要素が無いのにこうである事が不思議なので、

基本、ダメージ加算とドロップ加算は別ボタンなので、特に問題はないと思っておりますが…
#上記ご意図が良く判らなかったので、回答になっていないかもしれません。

できれば計算値を一旦「表示」して

こちらは、恐らく他のシナリオでは却って手間なだけになってしまうので、避けたいと思っています。
トーストの永続表示についても、別Issueの通りです。

この通りなのでそのスレは自動化対応は見送るべきかと思いますが、~~

は、申し訳ありませんが、現時点ではドラスレの自動化対応は見送って戴いた方が良い、と考えております。
というのも、良かれ悪しかれ、ドラスレは独自路線で突出してしまっているため、こちらに合わせると、恐らく他のシナにとってはオーバースペックともなり、却って操作が煩雑になる&システム全体としても無視できないレベルでの複雑化を招くと思っているためです。

勿論、ドラスレはどうでも、という意味ではなく、半自動化は実装されるとしても実質0.1版なので、
まずは基本機能としてのリリースを優先させたい、という趣旨です(そうした意味の互換性維持なので)。その上で、勿論、徐々に機能向上を図っていく予定です。

あとこれも以前からお願いしているのですが、敵撃破アイコン(チェック)付きませんかね?

こちらはすみません。以前にも触れたように、他シナで利用する機会はあまりないと判断しており(その割にセーブデータ管理が煩雑となるため)、現時点では予定しておりません(=システムとしては消極的な立場です)。お手数ですが、別Issueを挙げて戴き、他の皆さまのご要望を待つ、ということにさせてください。

属性アイコン

個人的にはときのじさんご提案のアイコンママ、に一票ですかね。
アイコンの種類も限られており、そこまでのわかりにくさはないかな&であれば、見栄えのするイラスト系アイコンがベターという感覚です。
# いずれにせよ、他の皆さまのご意見待ちに。

なお、システム的には、いずれのアイコンもマウスポイント時にはツールヒントで「地」「攻撃」などの文字は表示できるようにする予定です。

@RYU-DS
Copy link

RYU-DS commented Oct 14, 2018

>魔法使用時に自動的に敵が死ぬといった自動化が無い、つまり今回のアイコン化にヒモついた要素が無いのにこうである事が不思議なので

これはアタック属性の正規化が「自動計算結果を反映する能力値を決定するため」と考えたためで、つまり敵属性の正規化は「魔法使用による自動敵殺結果を反映するため」であるべきでは?
という事で、これは

>はい、あくまでソーサリアンを原作としたアプリなので、この辺の設定はあまり独自拡張はしない予定です。

こちらが答えになっています。
つまり属性に関しては原作以外のものは許容しない、という事で理解はしましたが…

自分が初めてstextに触れた時に一番すごいと思ったのが「MPが無くなると死ぬ」という部分で、これはもうコッテコテの古代TRPGでないと採用してないルールで、日本ではマズ受け入れられないとゲームでは全く採用されていないものです。これを「このstextはゲームブックやTRPG寄りですよ」とハッキリ突きつけるべく採用している、と感じたのですが…
そのstextでファンタジーにはまだまだ沢山有る属性(光闇魔邪…)を原作の範囲でしか許容しないというのは、大変違和感を覚えるのです。
言い換えれば「敵の種類種族のパターンもその範囲でしか受け付けない」という事なんですが…

@snext1220
Copy link
Owner Author

snext1220 commented Oct 17, 2018

敵撃破アイコン(チェック)付きませんかね

こちら、スミマセン、もしかしたら私が勘違いしてたかもしれません。
実は、敵リストの各行にチェックボックスを追加するだけで良いでしょうか(=他シーンに移動した時には維持されず、ただ、シーン内で複数敵がある場合に倒したかどうかを管理する用途)。

言い換えれば「敵の種類種族のパターンもその範囲でしか受け付けない」という事なんですが…

こちらは、魔法など、他の要素が対応していないので、属性だけ増やしてもシステムとしてはほぼ意味がない、という事情もあります(フレーバーとしては一応ありなのだと思いますが、あえて原作要素を外してまでの意味はなかろうという判断です)。

# 現時点ではたとえば神であれば「霊」など既存属性に割り当ててください、というスタンス(魔法を無効化させたいという用途であれば、ソーサリアンでも内部的には「魔法無効」属性が存在するので、「無」属性までは意味があるかなと)。

@RYU-DS
Copy link

RYU-DS commented Oct 17, 2018

はい、それです。
ついでにと、画面のどこにでもチェックマーク付けれる機能の方がよいかと言ったのが余計でしたか…

@snext1220
Copy link
Owner Author

snext1220 commented Oct 17, 2018

即レスありがとうございます(前の投稿編集してたところで、行き違いになったので、もし見逃してたら合わせてごらんください)。

そして、了解です!
であれば、実装上も問題ありませんし、汎用性もあるかと思いますので、先程追加しました(単一敵のシーンでは邪魔になりそうなので、複数敵の場合だけ、で良いですよね)。

画面のどこにでもチェックマーク付けれる機能

は、そちらの印象が強かったので、反射的に。失礼しました;

@snext1220 snext1220 added Expired soon 開始から時間経過しているので、近日Close、またはConfirmed昇格 and removed Request 改定に付随する作業のお願いあり labels Oct 18, 2018
@snext1220
Copy link
Owner Author

snext1220 commented Oct 18, 2018

本件、ダメージ反映を除く部分がおおよそ対応できたところで、残るは以下件だけになってまいりましたので、ステータスを[Expired soon]に変更しました。

  • [ダメージ式]ボタンでダメージ値を反映
  • ダメージ式の制限強化

現在、敵リストの表示が中途半端になっているため、これらの対応を済ませ、January Updateには半自動化0.1版?リリースを一旦完了できればと。お手数ですが、冒頭の「皆さまへの質問」について未回答の方は11/3を目途にご回答をお願いいたします。

ラミディアについて

Free1~3枠で武器/防具の攻撃/防御ポイントを管理し、1ターン単位のダメージ反映と割り切れば、ラミディアでも半自動化できるかなと想定していますが、如何でしょうか? > @Salvadors-cabin さん

余談

ドラモードもありますのと&December Updateまで飛ばしてきたので、January Updateは本件+α程度で、まずは既存機能の安定化に努めたいと思います。

@snext1220 snext1220 added this to the January Update milestone Oct 18, 2018
@toki-sor1
Copy link
Collaborator

toki-sor1 commented Oct 18, 2018

1.既存のシナで半自動化に対応できそうか(修正は勿論必要なものの、凡そは可能と見込んでいます)

「少女英雄」の戦闘は、独自の戦闘ルールで遊べるように設計しています。
公式の戦闘ルールについては、敵情報の表示・欠片をドロップしたかの判定のみにしか
使用しておらず、ダメージ式は無効としておりますので、ダメージ式を引き続き
無効とするための修正以外は特に必要はなさそうかな、と思っています。

2.将来のシナでの利用に耐えられそうか(+αで必要な機能がある場合、お教えください)

ダメージ式について、今までが結構自由に設定してしまっていたので、
こうして明確に表記を統一していただいて助かりました。
将来のシナでの利用も大丈夫だと思います。

3.その他、上記の懸案について、ご意見お願いします

ダイスですが、自動計算を適用しない部分で活用することがありますし、
自動計算で存在意義が掠れるほどではないかな、と思っています。

@snext1220
Copy link
Owner Author

少女英雄についてですが、(たとえば)m4、m5、m6のattack/funcに、それぞれphysics/4、magic/3、magic/1のような値を割り当てて戴ければ、半自動計算が適用できるかな、と思っていたのですが、如何なものでしょうか(ダメージ式は固定値でも可です)。
# 現在、ドロップアイテムだけが半自動化されているので、可能であれば、ダメージ式も半自動化した方がプレイヤーの手間は軽減できるかと思いまして。

勿論、シナリオの文言を修正する手間もありますので、実際にどこまで修正するかは @toki-sor1 さんのご判断でお願いできればなのですが、今回の半自動化がどこまで適用可能か、という意味での確認です(適用はできるが、ここが不足、あるいは却ってプレイヤーに手間、などのご意見もあれば助かります)m(_ _)m

@toki-sor1
Copy link
Collaborator

ご提案ありがとうございます。

「少女英雄」の謎の回廊での戦闘

絵本の世界ということで、ドロップアイテムを出さないため(=魔法の使用防止)、Scenario.xmlにエネミー情報だけ入れている状態でしたが、ドロップアイテムが出ない設定も可能になりましたので、scene内にもエネミー情報を含めることができそうです。

ダメージ式は、ダイスの出目で決まる形式なので、こちらは現状維持となってしまうかと思います。

「少女英雄」の異次元塔ディ・メンジェスでの通常戦闘

リオさんがご提案くださった記述であれば、エネミー情報に固定ダメージを設定し、選択肢(ボタン)の文言を変えることで対応できそうです。

「少女英雄」の異次元塔ディ・メンジェスでのボス戦闘

消滅系魔法を使用させない&ボスの手強さを表現するため、エネミー情報への登録も行わず、完全に独自ルールの戦闘になっています。
一部対応できそうかなと思うところもあったのですが、場合によっては「ダイスを1回振り、2個のダイスの合計値×10÷2-(INT+KRM)の合計値がHPに受けるダメージとなる。」のようなものもあります(+魔法だけどHPダメージ)。

こちらのダメージ式反映も現状維持となってしまうかと思います。

@Salvadors-cabin
Copy link
Collaborator

Salvadors-cabin commented Oct 27, 2018

1.既存のシナで半自動化に対応できそうか(修正は勿論必要なものの、凡そは可能と見込んでいます)

「ゼロ」は通常戦闘なので対応できそうです。

◦ドラスレは旧仕様ママと想定すると、少女英雄が一番影響が大きい?(ラミディアは敵へのダメージのみと割り切れば適用できそう)

「ラミディア」についてはちょっとまだ分からないですね。
すみませんが、確認したいことがあります。
ダイス値(L,R)はページを開いたときの固定の値なのか、振り直す度に変わる値(そのとき表示されているダイス値が計算に使われる)なのかどちらでしょうか。

◦修正できなさそうな場合は、該当箇所をお教え戴けますでしょうか

「ラミディア」にはMPが0になった後のターンからHPを減算するというシーンがあります。(ディオール戦で仙人の衣を使った場合)
ユーザに対する説明文が難しくなるかな、という懸念があります。

2.将来のシナでの利用に耐えられそうか(+αで必要な機能がある場合、お教えください)

特別ルールのシナリオ以外は利用できると思います。

3.その他、上記の懸案について、ご意見お願いします

「ラミディア」のような特別ルールのものまで対応を求めていませんが、もし対応できるようになったらかなり幅が広がると思います。

@snext1220
Copy link
Owner Author

snext1220 commented Oct 27, 2018

ご回答ありがとうございます!

「少女英雄」の謎の回廊での戦闘/「少女英雄」の異次元塔ディ・メンジェスでのボス戦闘

仰る通り、こちらはダイスの出目でシーン移動そのものを分けていますし、現時点でエネミー情報も入っていませんので、ママになるのかなと思っていました(通常戦闘というよりも、ゼロのブザッティなどと同じく、イベント戦闘の扱い)。
# あくまで今回の半自動化は通常戦闘になるのかなと。

もちろん、イベント戦闘の負担も軽減できればとは思っていまして。とすると、実はやはり以前に話題に出たhp、mp属性(シーン移動時にHP、MPにダメ反映)が必要になってきたりしますかね??^^;
# イベント戦闘は今回あまり検討できていなかったので、是非お知恵を拝借いたしたく。

2個のダイスの合計値×10÷2-(INT+KRM)の合計値がHPに受けるダメージ

こちらは、attackはphysicsにしていただく必要がありますが、「5L+5R-INT-KRM」で対応できそう?(ただ、イベント戦闘の中の部分的な適用なので、実際に適用するかは要相談かとは^^;)。

ダイス値(L,R)はページを開いたときの固定の値なのか、振り直す度に変わる値(そのとき表示されているダイス値が計算に使われる)なのかどちらでしょうか。

振り直した時の値がリアルタイムに反映される予定です。
よって、何度も振り直して、ボタンを押せば、異なるダメも反映できます。

「ラミディア」にはMPが0になった後のターンからHPを減算するというシーンがあります。(ディオール戦で仙人の衣を使った場合)

ここは悩ましいですが、エネミー情報をHP、MP双方のパターンを用意していただくという形でギリ対応できるかなと。その場合は「MPがゼロの場合はHPのダメ式を利用して」という説明になるので、比較的プレイヤーへの説明はシンプル、かな~と?^^;

もし対応できるようになったらかなり幅が広がると思います。

そうですね。
あまり個別の要件になると、システムとしてのルール自体が難しくなってしまいますが、独自ルールでも汎用的に適用できそうなものから徐々に実装できればと。

独自ルールをどこまで今後も使いたいか、という塩梅にもよりそうなので、その辺、引き続き感触を伺えれば幸いです。

@Salvadors-cabin
Copy link
Collaborator

もちろん、イベント戦闘の負担も軽減できればとは思っていまして。とすると、実はやはり以前に話題に出たhp、mp属性(シーン移動時にHP、MPにダメ反映)が必要になってきたりしますかね??^^;

レス横取り失礼します。
MP自動減算は「ラミディア」でも利用できる機能ですので歓迎です。(アイテム使用時に)

振り直した時の値がリアルタイムに反映される予定です。
よって、何度も振り直して、ボタンを押せば、異なるダメも反映できます。

ありがとうございます。「ラミディア」の特別ルールでも使えそうですね。

ここは悩ましいですが、エネミー情報をHP、MP双方のパターンを用意していただくという形でギリ対応できるかなと。その場合は「MPがゼロの場合はHPのダメ式を利用して」という説明になるので、比較的プレイヤーへの説明はシンプル、かな~と?^^;

なるほどー。「工夫次第」といったところでしょうか。

独自ルールをどこまで今後も使いたいか、という塩梅にもよりそうなので、その辺、引き続き感触を伺えれば幸いです。

「ラミディア」は原作ゲームブックのルールを参考に作ったのでSText的には特別ルールですが、昔のゲームブックからみると割とオーソドックスなルールです。
敵ダメージ(敵HP減算)も同様に自動計算できれば、今後の作品も「ラミディア」方式を使いたいですね。

@snext1220
Copy link
Owner Author

MP自動減算は「ラミディア」でも利用できる機能ですので歓迎です。(アイテム使用時に)

了解です!
こちらは #49 で別Issueとして立ち上げましたので、ご確認くださいませ~
別件で #46 でもラミディアを意識した改定を挙げておりますので、合わせてご意見戴ければm(_ _)m

なるほどー。「工夫次第」といったところでしょうか。

ですね~この辺が完全に自動化せずに半自動である意味かなと思っていますので、是非、活用の幅を広げて戴けるますと…!

昔のゲームブックからみると割とオーソドックスなルールです。

はい、そう思います。
STextでは、当初手元で敵のHP管理をするのは難しいだろう(=結局メモ帳片手になるだろう)と思ったもので、あえてワンターンで終了する戦闘システムを基本としていました。

ただ、半自動化によって、この辺の負担が軽減されてきたので、もう少し高度な戦闘には耐えられるようにしていければとは。恐らく一旦今回の半自動化をリリースした後にはなるかと思いますが、ラミディア(というか旧GB的戦闘)に対応するならば、以下のような対応が第一次になってくるのかなと。

  • enemy要素にhp属性を追加(敵体力を設定)
  • hp属性が設定されている場合にはプレイ画面の敵リストに体力(テキストボックス)を表示
  • 敵体力は手動管理

最低、これだけでも体力を持つ敵との戦闘がSText画面で完結するようになるかなと。

その上で、半自動化するならば、以下ですかね。

  • 敵ダメ式を設ける(ボタンクリックで敵体力に反映)

一応、互換性は維持しながらいけるとは思うものの、思想的には大きな修正になるので^^;、 @Salvadors-cabin さんは勿論、他の皆さんのご意見も戴きながら、引き続き検討させてください(ある程度反応あるようでしたら、こちらは別Issueを立ち上げたいと思います)。

@cocotori
Copy link
Collaborator

1 既存のシナで半自動化に対応できそうか
2 修正できなさそうな場合は、該当箇所をお教え戴けますでしょうか
特に問題なさそうです。

3 将来のシナでの利用に耐えられそうか(+αで必要な機能がある場合、お教えください)
例えば特殊アイテムを使った場合、戦闘計算式がリアルタイムに変わる
(防御力2倍、とか2回攻撃、とか)と面白いなと思いました。
ただ、これは一つ前のシーンで分岐させて戦闘自体を別シーンにすることでも対応できそうなので
大丈夫な気がします。

あとは見た目だけの問題なのですが、

ラット  物理  L-STR  土星

と表示されたときにそれぞれの項目が何か分かりづらいなと思いました。
例えば、

名前   攻撃  計算式 戦利品
ラット  物理  L-STR  土星

のような注釈があるといいなと思いました。
マニュアルを読めばわかる話ではありますし、
戦闘のたびに1行増えるのも煩わしいかもしれませんので、
必ずしも必要ということはないです。

@snext1220
Copy link
Owner Author

ご確認有難うございます!
まずは問題ないとのこと、承知いたしました。

特殊アイテムを使った場合、戦闘計算式がリアルタイムに変わる

ご提案ありがとうございます~
もし実装するとしたら、おそらくenemyとしては複数用意しておいて、scene要素のenemies属性で<scene enemies="m01:f01">(フラグf01所有時のみm01を表示)のような形になるのかなと。

要件がどこまで絞れるかには依りそうですが(無制限になると、ほぼ条件分岐ボタンと同じ規模の実装になってしまいそうなので。というか、そこを共通機能化すべきなのか...)、ある程度皆さんの反応あるようであれば別Issue挙げていければと!

それぞれの項目が何か分かりづらいなと思いました。

そうなんですよね...ここは、リリース前も悩んだのですが、一行リストの場合にタイトルが五月蠅く感じてしまうことから、現状のままとしていました。ご指摘はすごく納得なので、なにかスマートな表現があれば良いのですが…(現状ノーアイデア^^;)

@RYU-DS
Copy link

RYU-DS commented Oct 28, 2018

名前   攻撃  計算式 戦利品
ラット  物理  L-STR  土星

これは自分も以前から気になっていましたが、何か都合が悪いのかなと(説明と表示がズレるなど)。
そうでないなら、枠線や(余計ズレたり問題発生しそうですが)説明はあった方がよいと思います。
1段時に邪魔とは個人的には感じませんが…

@toki-sor1
Copy link
Collaborator

toki-sor1 commented Oct 28, 2018

仰る通り、こちらはダイスの出目でシーン移動そのものを分けていますし、現時点でエネミー情報も入っていませんので、ママになるのかなと思っていました(通常戦闘というよりも、ゼロのブザッティなどと同じく、イベント戦闘の扱い)。
# あくまで今回の半自動化は通常戦闘になるのかなと。

イベント戦闘という表現、とてもシックリきました!
そうですね、イベント戦闘ではダイスの出目によって展開を変えているので、今回の半自動化は主に通常戦闘に適用するという感じかな、と私も思いました。

それでも、イベント戦闘内にも適用できそうであれば適用した方が、プレイヤーさんの手間は軽減されるので、可能な範囲で適用できればと考えています。

もちろん、イベント戦闘の負担も軽減できればとは思っていまして。とすると、実はやはり以前に話題に出たhp、mp属性(シーン移動時にHP、MPにダメ反映)が必要になってきたりしますかね??^^;

「少女英雄」でもScene移動時のボタンにダメージを反映する場面が幾つもありますので、この機能が実装されれば、手動で増減させる手間がなくなりますね。
あると便利な機能だと思います。

こちらは、attackはphysicsにしていただく必要がありますが、「5L+5R-INT-KRM」で対応できそう?(ただ、イベント戦闘の中の部分的な適用なので、実際に適用するかは要相談かとは^^;)。

現在の計算式より良い表記はないものかと考えていたので、今回の仕様に合わせた計算式をご提案いただきまして助かりました。ありがとうございます!
イベント戦闘内でも半自動化が適用できそうなところは適用したいと思っているので、ご提案いただきました計算式と差し替えるのも良いなと思っています。

名前   攻撃  計算式 戦利品
ラット  物理  L-STR  土星

文字入り版アイコンを試作していた理由の一つが「ソーサリアンのことはあまり詳しくないけど、STextに興味がある(遊んでみたい)というプレイヤーさんに向けて、アイコンの意味をもっと分かり易くしたい」だったので、上記の注釈は良いアイデアだと思いました。

原作やOriginalでも状態異常や属性に関するアイコンはなかったので、ソーサリアンをプレイされたことがある方にとっても、現状ではパッと見て分かりにくいかなと思います。
(あと、スマホ環境だと『物理』などアイコンの説明も出ないですし)

やはり、小さな文字でも良いので「名前(Name)」「攻撃(Attack)」「計算式(Damage)」「戦利品(Drop)」等の表記があると、それぞれの意味が分かり易くて良さそうですよね。

あれ、「攻撃」と打っていた時にふと思ったのですが、「罠アイコン」もあった方がいいのでしょうかね?

@snext1220
Copy link
Owner Author

イベント戦闘内にも適用できそうであれば適用した方が~

はい、システム側としても、是非活用できるところから活用戴けますと嬉しいです!
別Issueのhp/mp属性も調整中ながら、一応GitHubPagesで利用可能なので、お試しください。

エネミーリストのタイトル行

皆さんからの要望ありましたので、こちらGitHubのみ追加しております。

横幅が気になるという懸念もあり、入れるのを控えていたのですが(*)、フォントを小さくすることで比較的収まりよく入ったようです^^; ただ、こちらは現在変更が激しく、微調整を続けている状況なので、また消えたり、内容変更されたりがあるかもしれませんが、ご了承くださいませm(_ _)m

*) 消極的ながら、戦闘関連はいずれにせよヘルプを見ずには使えないだろう、という前提もあり、あまり表記のフォローを気にしていなかった、という理由もあります。

「罠アイコン」もあった方が~

ご指摘ありがとうございます。
ただ、attack欄は、ステータスへの反映の種類を識別するものなので、少なくとも当面はママで良さそうです(physicsでhp影響、magicでmp影響、それ以外は状態異常扱い)。罠についても、その対象は物理、魔法、状態異常かで示していただけますとm(_ _)m

@snext1220 snext1220 added Testing テスト中(現在のテスト対象項目) and removed Expired soon 開始から時間経過しているので、近日Close、またはConfirmed昇格 labels Oct 30, 2018
@snext1220
Copy link
Owner Author

本件、対応を完了しまして、GitHub Pagesにのみ反映、また、マニュアルの更新を済ませております。
お手数ですが、皆さま、各シナリオへの反映をお願いできますでしょうか。
非互換修正なので、皆さまの作業が完了次第、本番環境には反映いたします。

例によって、完了はReactionの[+1]でお知らせいただけますとm(_ _)m

@cocotori
Copy link
Collaborator

2点ほど気なることが。

・エネミーのタイトル行
対応ありがとうございます!最初の列、「名前/属性」になっていますが、
「属性/名前」の方がよくないでしょうか?

・計算式
長い計算式になるとはみ出てしまいますね。
式によって長さは変更可能でしょうか。
それとも、なん文字以内に抑えるべき、という制約が必要?
(画像の例は、多分半角スペースを消せば収まるとは思いますが。)
2018-10-31 22 52 44

@snext1220
Copy link
Owner Author

属性/名前

こちら並び的にはそうなのですが、名前が主なので、なんとなく「属性/名前」だと収まりが悪いかな…と現在のものにしていました。考えすぎですかね^^;

計算式

幅を固定幅にしているための問題ですね...とりあえず最小幅のみを指定するように改めました。
これで通常はボタンサイズも揃い、計算式が長い場合のみボタン幅が広がる形になるかと思います。

# なお、既に修正戴いているようですが、文字列長とは別に計算式には現在空白を加えられない仕様となっております(恐らく計算結果がおかしくなるはず)。ご了承くださいませ。

@RYU-DS
Copy link

RYU-DS commented Nov 1, 2018

jidou
計算式が長いとこのように横幅を取ってしまって、結果名前の側が割をくって狭くなって多段化してしまうのですが、計算式側も多段になるようになりませんかね?
計算式が長い事はそんなに多くはないのですが、必然的に重要なシーン(ボス戦など)となるのでそこがこうなってしまうのは避けたいのですが…

自動計算なのでプレイヤーが計算式を確認しやすい必要も無く、名前側に色々入れるのも自動計算に対応するには必要なのですが。

@snext1220
Copy link
Owner Author

ご要望の件、取り急ぎ修正し、GitHub Pagesに反映済みです。

@RYU-DS
Copy link

RYU-DS commented Nov 1, 2018

ありがとうございます。
これなら名前の後の特殊能力も無理に略称使わなくてもよさそうです。
そのスレ戦闘自動化もなんとか対応できそうです。
jidou2

@RYU-DS
Copy link

RYU-DS commented Nov 13, 2018

計算式に正規でない計算を入れた際に、一部表示がされない事があるようです。
※欠片の「欠」が消えている
またその正規でない計算式をクリックしても何かしらのダメージが発生するようです。
※今回ではMPに10のDM
※以下Githubtestで表示されたものと元のGBATです。
hobaku
hobaku2

@snext1220
Copy link
Owner Author

正規でない計算式を利用する場合は、自動計算を無効化する「*」をご利用ください。

#計算式は特にチェックしていないため、そのままボタン化されてしまい、かつ、おそらく解釈できる箇所だけを解釈してダメージ加算しているようです。

@RYU-DS
Copy link

RYU-DS commented Nov 14, 2018

部分解釈して計算ですか、なるほどそのための「*」での無効化なんですね理解が浅かったようです、すみません。

あと実際半自動化して試してみた所、表示された計算結果を1/2するまではいいのですが、それをすでに引かれたHPなどに戻す=加算するというのが、どうにも普通はやらない手順のためかやりにくく、それがプロテクトとホーリーウォーターがからんで1/4=3/4戻すとなると、もう自動の方がキツイまである感じでした…

それを少しでも解消する手段として、これは数値が大きくなっているそのスレでは以前から思っていたのですが、「+-する数字の方も数値入力が出来る」ようにならないでしょうか?
具体的にはHPの現在値ボックスの隣にもう一つボックスを作り、そこに入力した数値を+キーか-キーで加減するといった感じで。
※ついでですができれば分母の方も数値が変えられるようになるとありがたいのですが。

またそもそもプロテクトとホーリーウォーターでHPMPダメージが1/2するのは基本システムなので、使うと自動的に…は魔法効果の強制になるので現状無いとしても、やはり計算結果を1/2するキーはあってもよいのでは?
提案としては計算式の隣に「1/2」ボタンを置いて、それを押してから計算式を押すと結果が1/2される、とかどうでしょうか?各種対応見越しでもう一度押すと「1/4」に(表示も)~で1/10くらいまで
で、計算式を押すとリセットされるか、押し続けるとそのうち1/1に戻ってくるなど。

またこういう諸々の問題を解決できる「計算結果をただ表示する」パターンも欲しい所です。
※現在は計算結果を引く場所を指定していない場合でもMPから引かれるようですが…

@snext1220
Copy link
Owner Author

戴いた内容は、総論としては、どこまで他のシナリオに適用できるか、の判断になりそうですね。。使わないシナリオでは、結局、オーバースペックになってしまうため(=画面としては使いにくくなる&テスト工数だけが膨らむなどの弊害もあり)、他の皆さまから要望を見つつ判断、とさせてください。申し訳ありません。

プロテクトとホーリーウォーターでHPMPダメージが1/2

こちらは仰る通りで、私も気にしておりました。
ただ、限定された操作なので、メイン画面にどのように盛り込むかを考えあぐねて、現時点では対応保留しておりました。検討してまいります。

※現在は計算結果を引く場所を指定していない場合でもMPから引かれるようですが…

スミマセン、こちらご意図がよく理解できませんでした。
お手数ですが、どのscene、enemy?での指定で発生する問題か、お教え戴けますでしょうか。

@RYU-DS
Copy link

RYU-DS commented Nov 16, 2018

>※現在は計算結果を引く場所を指定していない場合でもMPから引かれるようですが…

上にある通り、計算結果を引く場所を「physicsならHPから」や「magicならMPから」という指定をしていない「捕縛ならどこから?」の状態で、計算式の中の「10」のみを「とりあえずMPから引く」のが現状の仕様のようですが、これが…

「正規の指定が無い時は、計算結果数値のみを表示して、どこからも引かない」

となるだけで、こちらとしてはとりあえずほとんどの問題が解決するので…

※盾防御などプレイヤーが計算結果を加工する可能性がある限りは未指定で、もしくはボス戦などその可能性が高い&複雑な場合のみ未指定、など。

そうする事に取り立てて問題が無ければそうしてほしい、という事なのですが。

@snext1220
Copy link
Owner Author

「正規の指定が無い時は、計算結果数値のみを表示して、どこからも引かない」

不具合のご指摘かと思っておりましたので、失礼しました。
こちらについては #57 で「func属性で自動計算結果を表示するだけのオプション」として提案しておりますので、こちらでご確認ください。
#現状のカッコや⇔は除去して戴く必要はありますが、凡その要件は満たしているのかと。

@RYU-DS
Copy link

RYU-DS commented Nov 16, 2018

ええ、そうなんですが、新しい要素として出すまでもなく「指定無し時はどこからも引かない」とするだけでよいのでは?と思ったので。
「引かない」は問題起きるんですかね?

@snext1220
Copy link
Owner Author

snext1220 commented Nov 16, 2018

今のところは、あまり想定していません。
ただ、いずれにせよシステム改定は必要なので、であれば、明示的に「引かない」を宣言するのが無難、という考えです。暗黙的な「引かない」は、経験上、新しい開発者にはわかりにくくなりますし、後々の改定で矛盾をもたらすことが多いので、きちんと例外として切り分けておきたいと思っています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compatibility 現在/将来の互換性に影響すると思われる変更 enhancement 新機能提案* Testing テスト中(現在のテスト対象項目)
Projects
None yet
Development

No branches or pull requests

5 participants