親記事を書く 掲示板を出る 記事一覧へ
ツール開発の話(マッタリ…

  ツール開発の話(マッタリ… 熊恭太郎 2004/03/26 23:26:54 
  用語「アンチエイリアス」の意味が分かりま... 熊恭太郎 2004/03/26 23:28:04 
  │└>全変数を無条件で保存してしまう仕組みな... 摘露 2004/03/30 22:02:30 
  あとは、初期パラメーターとして設定されて... 熊恭太郎 2004/03/26 23:28:30 
   └私もまったりとレスしていきます。 摘露 2004/03/30 21:56:05 
    ├普通40も能力値は要らないと思いますので... 熊恭太郎 2004/03/31 13:14:28 
    └あと、種族ですが、ブレスが吐けるとか空が... 熊恭太郎 2004/03/31 13:15:15 
     └>「ブレス」という名称の行動にどういう定... 摘露 2004/04/03 22:42:23 
      ├アンデッドモンスターの解呪とかもここに含... 熊恭太郎 2004/04/06 14:43:58 
      │└>それ以外によくあるのがスキル製(使った... 摘露 2004/04/12 21:16:36 
      │ └以上の方式で、全部カバーできないでしょう... 熊恭太郎 2004/05/20 17:17:31 
      │  └補足を・・・ 熊恭太郎 2004/05/20 17:31:34 
      │   └大分まとまってますね。 摘露 2004/05/21 22:38:05 
      │    └予定している具体的な能力値の一覧を挙げて... 熊恭太郎 2004/05/22 02:26:38 
      └例えば、キャラクターがLVレベルのときの... 熊恭太郎 2004/04/06 14:44:13 
       ├(args[1].level()args[0])*(args[1].level(... 熊恭太郎 2004/04/06 15:20:49 
       └>(args[1].level()args[0])*(args[1].leve... 摘露 2004/04/12 21:04:23 
        └括弧内は、TRUEとFALSEの場合、ど... 熊恭太郎 2004/05/20 16:43:13 
         └ご返事ありがとうございます。 摘露 2004/05/21 22:24:38 

  ツール開発の話(マッタリ… 熊恭太郎 2004/03/26 23:26:54  ツリーへ

ツール開発の話(マッタリ… レスを書く
熊恭太郎 2004/03/26 23:26:54
> あとは、保存時にフラグを入れておいた変数を保存してくれるかどうかが気になります。

これは、もちろん保存できるようにします。

実際に、どのような運用になるかは不明です。
全変数を無条件で保存してしまう仕組みなら簡単に作れるのですが、諸理由により、
そうしない方が良いと考えています。


> それよりも、クラス定義の方が気になります。

クラスというのは、簡単に言うと「情報と機能を併せ持った型」です。

例えば、実際に私がルールの実現の為にプログラミングした中に「キャラクタ型」
というクラスがありますが、この中には、一人のキャラクタが持つ「名前」「能力値」
「持ち物」などの“情報(変数)”に加えて、「お金を支払う」、「レベルアップする」
「その人の攻撃力を補正付きで算出する」などの“機能(関数)”が同時に与えられています。

クラスを定義しても、それ自体はただの型で、実体ではありませんので、
プログラム上でキャラクタ人数分の実体を生成する必要があります。
この、生成された実体が「インスタンス」とか「オブジェクト」とか呼ばれます。

実際に使う際には、例えば「お金を支払う」機能を使用する場合は以下のように書きます。

 オブジェクト変数名.PayMoney( 1000 );

これで、「オブジェクト変数名」に該当するキャラクタが1000gpを支払う処理を実行します。

このあたりのことは、オブジェクト指向言語などの専門ページで概念から
解説されていることがありますので、もし興味がありましたらそれらをあたって
みることをお勧めします。


> A(0)〜A(5)までの6つに6つの数値が入るとか。

こいつはいわゆる「配列」ですね。

やはり関数を編集するか作る必要がありますが、配列も、それらのプログラムの中で、
用意されている関数を呼び出すことで生成することができます。(いささか癖はありますが)

  用語「アンチエイリアス」の意味が分かりま... 熊恭太郎 2004/03/26 23:28:04  ツリーへ

Re: ツール開発の話(マッタリ… レスを書く
熊恭太郎 2004/03/26 23:28:04
> 用語「アンチエイリアス」の意味が分かりませんので、教えていただけないでしょうか?

以下のサイトを発見しました。

ttp://www.apec.aichi-c.ed.jp/project/joho/jissyuu/art/art.files/anti.htm

文字を綺麗に見せる処理を、ツールの方ではやっていないって事ですね。
これがあると、テキスト表示だけでも随分と高級感が出るように思えるのですが……

以下に、簡単な比較サンプルを作ってみました。これやりたいなぁ、と思いながら(笑)

http://noelnet.org/kuma/tmp/antiai.png

まー、背景に画像を割り当ててしまうって手もあるんですけどね。真似して画像を
用意できるような、あるいは用意したいと考える制作者ばかりではないですし、
画像を使わないでも制作ができる、という部分を強調する為にも、最初に用意する
サンプルデータには画像を一切使わない方針です。


> でしたら、「無限の迷宮」のようなこともできちゃうんですね。

「無限の迷宮」は未プレイですが、噂には聞いています(笑)
(個人的に食指の動くソフトで、いろいろ思うところもあるのですが、
 想像で語ると長くなりそうなのでカット…)

迷路の自動生成と永久に掘り進んでいく仕組み自体は、ずっと昔にできています。
それを、制作者側の選択肢としてどういう形で用意するかは不明です。
迷路生成関数の用意は簡単にできるのですが、それだけだとスクリプトプログラマしか
使えなくなるし、迷路の生成よりもずっと難しい問題が壁としていくつも残っているので(^^;;、
迷路の自動生成は、将来の種ということにしてあります。


> イベントの話

ん〜…そうですね、確約はできないのですが、イメージ通り作れれば、一通り実装する
頃には、仰る通りの機能が作れるようになっている気がします。

潜伏という技能を割り当てて、通常→潜伏→不意打ち といった感じの機能を
試しに作ってみようと思っていたのですが、それに近い感じがします。

いずれにしても、戦闘中のキャラクタの状態遷移を管理する機能が必要に
なってくるので、順次イベントを追加していく中で、そういうものも入ってくる
と思います。

  │└>全変数を無条件で保存してしまう仕組みな... 摘露 2004/03/30 22:02:30  ツリーへ

Re: 用語「アンチエイリアス」の意味が分かりま... レスを書く
摘露 2004/03/30 22:02:30
>全変数を無条件で保存してしまう仕組みなら簡単に作れるのですが、諸理由により、そうしない方が良いと考えています。
私にはそうしないほうが良い理由が分かりませんので、どちらでもよいかなと思います。

>クラス定義
話を聞く限り、自由に設定できそうなので、安心しました。

>アンチエイリアス
説明ありがとうございます。
自分的には余り必要ないかもとか思ってます。
あとからでも十分間に合うかと・・・

>迷路の自動生成は、将来の種ということにしてあります。
ゲームプレイヤーとしては興味ありますね。
後からでも十分だとは思いますが、楽しみにしていますよ。

>イベントの話
私的には一番ほしい機能ですので、早い段階で可能になると嬉しいなあと思います。

  あとは、初期パラメーターとして設定されて... 熊恭太郎 2004/03/26 23:28:30  ツリーへ

Re: ツール開発の話(マッタリ… レスを書く
熊恭太郎 2004/03/26 23:28:30
> あとは、初期パラメーターとして設定されているものが何か?
> 場合によっては、パラメーターの追加ができるのか?
> MPは、WIZのようなレベル毎の回数型でしょうか?

恐らくこれは、キャラクタの能力値などの話だと思うのですが……、
キャラクタにどのような情報を持たせるか、ということについては、
全く確定していません。

既に設置してあるパラメータについて、いろいろ書こうとも思ったのですが、
ちょっと情報が多すぎて整理しきれません。

パラメータの追加についてお答えしておきますと、追加は可能です。
パラメータを定義しているCSVファイルがありますので、行を追加すれば
キャラクタの情報自体は増えます。

ただ、追加すると結構配慮しなければならないことがあります。(以下もまだ暫定です)

・追加した能力値を表示するには、画面を編集する必要がある
・追加した能力値を成長させるには、成長のカスタマイズを行う必要がある
・追加した能力値に初期値を割り振る為には、キャラクタ作成の際の(種族などの)
 定義CSVファイルに列を追加する必要がある

既存の能力値のいずれかの名前を、自分の好きなパラメータの名前に変えて
運用する方が、楽かもしれませんね。能力値自体は、必要かどうかも分からない
ようなものも含めて40くらい作っておくつもりです。(作れると良いなぁ)


さてMPの話ですが、現在は値を一個割り振る形のパラメータしか与えていません。
これはさすがに不本意なので、レベルごとに値を割り振りたいとは思っているのですが、
うまい実装が思いついていません。

画面の方は、9レベル分×2系統を表示するスペースだけは確保してあるのですが、各レベル
一桁ずつしか表示できなかったり。(作り方が下手なだけなのですが、画面が狭くて;_;)

Wizのように、単に特定の呪文システムと結びつけるだけなら非常に簡単なのですが、
こちらのシステムでは一筋縄ではいきません。

例えば、どうやって(何を契機に、どういう計算式で)成長させていくのか、どういう条件で
回復するのか、系統も2種類だけとは限らない、100レベルまで回数を割り当てたい制作者も
出てくるかもしれない、などの問題を解決する方法を探っています。

   └私もまったりとレスしていきます。 摘露 2004/03/30 21:56:05  ツリーへ

Re: あとは、初期パラメーターとして設定されて... レスを書く
摘露 2004/03/30 21:56:05
私もまったりとレスしていきます。

>既存の能力値のいずれかの名前を、自分の好きなパラメータの名前に変えて運用する方が、楽かもしれませんね。能力値自体は、必要かどうかも分からないようなものも含めて40くらい作っておくつもりです。(作れると良いなぁ)

普通40も能力値は要らないと思いますので、私はこれの名前や効果を変えて使用するつもりでいます。
でも、増やすのは面倒そうなので、40くらい用意しておいて欲しいです。別にブラフがあってもいいと思います。
あと、種族ですが、ブレスが吐けるとか空が飛べるとかの種族設定ってできそうですか?(要望多すぎですか?)

>さてMPの話ですが、現在は値を一個割り振る形のパラメータしか与えていません。
データを持つだけであれば、どのような形であれ、配列にすることにより問題なくできるのですよね?
MP(X、Y)でXに系統(魔法使い・僧侶・その他もろもろ)、Yにレベル或いは種類(WIZ6の炎とか冷気とかの属性毎、或いははウルティマみたいな触媒ごと)ができそうですし、ポイント制はY=0にしてしまえば問題ないですし・・・
ほかに、配列で表現できない例ってありましたっけ?
表示の問題は難しいかと思いますが、ダンジョン製作者が字の大きさをある程度変えられるとか、表示位置や桁数の設定ができるようにすることで対応できないのでしょうか?
(つまりはダンジョン製作者が、画面構成を考えろと・・・)
オーソドックスのは用意しておけば十分では内科と思います。
場合によっては、MP画面だけ別画面表示できるようにするとか。

    ├普通40も能力値は要らないと思いますので... 熊恭太郎 2004/03/31 13:14:28  ツリーへ

Re: 私もまったりとレスしていきます。 レスを書く
熊恭太郎 2004/03/31 13:14:28
> 普通40も能力値は要らないと思いますので、私はこれの名前や効果を変えて使用するつもりでいます。

そうですね……通常、Wiz#1〜#5のような世界を想定する場合が多いと思いますので、
40というのは無用に思えますねー(^^;;;

今のところ私自身が目論んでいるのは、筋力・ヒットポイントなどのお馴染みの
基本能力値を用意することに加えて、技能(スキル)のカテゴリを導入することです。

例えば、巧妙に隠された指輪を発見できるかどうかをチェックするスキルとして、
自然に気づく為のスキル「察知」や、探索行動をとった場合に使用される「探索」スキルなど、
細かい行動一つ一つに、パラメータを割り当てていければなぁと。
これらを足しあわせると、だいたい目標は40〜50くらいになるかなという感じです。

問題は、これらの拡張能力値がオプションで用意できなければ(義務にしてしまうと)、
制作が大変になってしまうことで、その辺をうまく調整しなければなりません。

スキルを導入したくない人の為に、例えば先の例で行くと、「探索」スキルに相当する部分に
基本能力値を使用して「(器用+幸運)÷2」という式を割り当てるなど、代替え設定が
できるなら、こういった大量のパラメータを導入しても良かな、と思っています。

    └あと、種族ですが、ブレスが吐けるとか空が... 熊恭太郎 2004/03/31 13:15:15  ツリーへ

Re: 私もまったりとレスしていきます。 レスを書く
熊恭太郎 2004/03/31 13:15:15
> あと、種族ですが、ブレスが吐けるとか空が飛べるとかの種族設定ってできそうですか?(要望多すぎですか?)

キャラクタ・敵キャラクタが選択できる行動は、自前で定義・追加削除できるように
したいと考えています。いくつかの型の中から制作者が選んで、パラメータを編集して
キャラクタに設置するようになります。

「ブレス」という名称の行動にどういう定義を持たせるかは、制作者が決めることに
なります。機能として、例えば相手全員にダメージを与えるとか石にするなどの効果を
含ませることは、できるようにしたいです。

この行動定義と、消耗するパラメータやアイテムを関連づける仕組みが必要になってくるので、
MP(行動回数値?)の扱いもそこから決まってくると思います。


>>さてMPの話ですが、現在は値を一個割り振る形のパラメータしか与えていません。
> データを持つだけであれば、どのような形であれ、配列にすることにより問題なくできるのですよね?

仰るとおり、情報を持たせるだけなら、難しくありません。

MPの場合、周辺の連携仕様が難しいです。レベルアップしたときに、各レベルの最大値を
どのように変化させるのか、呪文(行動)の獲得方法はどうするのか、など。
これらが実装されて、初めて機能するようになると思います。

他の能力値と違うデータ構造になるのは間違いないので、ひとまず前述の行動定義仕様を
決めてから取りかかることになると思います。

ヒットポイントやスタミナに相当する能力値の値決定方法もどうするか決まって
いないので、その辺と併せて検討します。



> 表示の問題は難しいかと思いますが、ダンジョン製作者が字の大きさをある程度変えられるとか、表示位置や桁数の設定ができるようにすることで対応できないのでしょうか?

文字の大きさや表示位置は、変更できます。

また、レベルが増えてくると見辛いですが、「11/22/33/44/55/66 ...」という
固定フォーマットで、存在するレベル分の数字とスラッシュを連結して表示するような
仕組みは、作ると思います。

今のところ、暫定で作成したキャラクタ情報画面の配置状況は、以下の通りです。
(画面左下に注目)

http://noelnet.org/kuma/tmp/char_pre.jpg

文字を小さくして、無理矢理4系統×2桁×10段階入れてあります(^^;;
(下に何か被っていますが、これは単独運用する場合の「MP」パラメータです。)

     └>「ブレス」という名称の行動にどういう定... 摘露 2004/04/03 22:42:23  ツリーへ

Re: あと、種族ですが、ブレスが吐けるとか空が... レスを書く
摘露 2004/04/03 22:42:23
>「ブレス」という名称の行動にどういう定義を持たせるかは、制作者が決めることになります。機能として、例えば相手全員にダメージを与えるとか石にするなどの効果を含ませることは、できるようにしたいです。

これなら、たいていのことはできそうですね。
アンデッドモンスターの解呪とかもここに含まれるのでしょうか?

>MPの場合、周辺の連携仕様が難しいです。レベルアップしたときに、各レベルの最大値をどのように変化させるのか、呪文(行動)の獲得方法はどうするのか、など。
これらが実装されて、初めて機能するようになると思います。

一つ質問なのですが、成長はレベルアップ性オンリーでしょうか?
それ以外によくあるのがスキル製(使った能力が成長する)

レベルアップオンリーであれば、全ての系統とレベルの呪文に対して、計算式により求められるようにすればよいのではないかと思うのですが、これは難しいのでしょうか?

例えば、キャラクターがLVレベルのときのNレベル呪文のMP=(LV−N)−ABS(LV−N)などの計算式で定義できるので、これを全ての系統に対して設定すればよいのではないかと思うのですが。
(この例の場合、1レベル呪文は1,2,3,4,5、2レベル呪文は0,0,1,2,3という感じで成長していきます)

>画面

かなり見やすいですね。
以前見せていただいたツールの画面とは大違いで、驚きました。
MPの欄には苦労してそうですね。多少文字は小さいですが、これなら4系統の呪文が10レベルまで使えそうですので、このデフォルトが、私にはちょうどよさそうです。
全体的な画面もTRPGのキャラクターシートのようで、なじみやすそうです。(金貨はやっぱ重量に入れないとね。)

      ├アンデッドモンスターの解呪とかもここに含... 熊恭太郎 2004/04/06 14:43:58  ツリーへ

Re: >「ブレス」という名称の行動にどういう定... レスを書く
熊恭太郎 2004/04/06 14:43:58
> アンデッドモンスターの解呪とかもここに含まれるのでしょうか?

「死亡」もしくは「消滅」といったステータスを用意できれば、
それを利用することで実現できるかもしれません。

行動不能・死亡・全滅の扱いについては、少し悩むところがあります。


> 一つ質問なのですが、成長はレベルアップ性オンリーでしょうか?
> それ以外によくあるのがスキル製(使った能力が成長する)

企画の段階では、後者を意識していました。

ですが、レベルを導入しないと取っつきにくい人も出てきそうで。
今は、レベルを能力値の一つとして用意してあります。

現在は、レベル含めた全ての能力値に対して、
経験値用のlong型変数が二つずつ与えられています。

他の制作ツールにはない制作者の苦労として、この経験値の割り振りがあると思います。
いくつの経験値をどの能力値に割り振るのかといった計算式を、
全ての行動(攻撃行動、呪文等)に対して設定しなければなりません。

この他に考えたのが、種類別の経験値です。
カテゴリごとに一つずつ(例えば、戦士経験値、盗賊経験値といったような)経験値を
用意して、ある程度たまったら、それぞれの経験値を消費して、カテゴリ内の能力値を
“購入”するような仕組みです。筋力 1 は戦士経験値 1000 と引き替えにする、といったように。

面倒なら、戦闘の最後で与える報酬の中に、レベル経験値に対していくつ加算するかを
式で一つ記述するだけ(つまりWizやドラクエのような方法)、という選択になると思います。

課題は、レベルアップ(能力値アップ)判定と変化の方法です………

      │└>それ以外によくあるのがスキル製(使った... 摘露 2004/04/12 21:16:36  ツリーへ

Re: アンデッドモンスターの解呪とかもここに含... レスを書く
摘露 2004/04/12 21:16:36
>> それ以外によくあるのがスキル製(使った能力が成長する)
>企画の段階では、後者を意識していました。

色々な成長方式が選択できるようになっているのですね。
ソードワールド型のレベルアップも選択できるとは驚きです。
スキル制とソードワールド型(種類別のレベル)の両立は難しいですね。

>課題は、レベルアップ(能力値アップ)判定と変化の方法です………

・経験値は、スキルごとに持たせる。(単一クラスの場合はスキルは1種類とする)
・レベルはクラスごとにレベルアップ(通常:戦士・魔法使いなどだが、製作者によって探索・鍵開けなどのクラスに設定できる。また、単一クラスの場合は、単一クラスの経験値しか入手できないように設定する。)
・各クラスのレベルアップごとに能力値(スキルの値)を計算式に則って成長させる。

補足ですが、単一クラスとは、昔のWIZのように、転職しても常に1つのクラスについていることをさします。

以上の方式で、全部カバーできないでしょうか?

      │ └以上の方式で、全部カバーできないでしょう... 熊恭太郎 2004/05/20 17:17:31  ツリーへ

Re: >それ以外によくあるのがスキル製(使った... レスを書く
熊恭太郎 2004/05/20 17:17:31
> 以上の方式で、全部カバーできないでしょうか?

レスが遅れてしまいましたが・・・
手元の機能をなぞらえると、以下のような感じです。

●(1) 能力値(スキル)単位での経験値について

  ・能力値(スキル)単位での経験値は、既に与えられていて、加算可能である
  ・経験値は、全ての能力値に二つずつ与えられている(64bit変数)
  ・二つある経験値を使う使わないは、作者の自由である
  ・二つ用意されている意図は、一つを実践用(実際の戦闘などで得られる経験値)、
   もう一つを訓練用(街の訓練場や師匠に学ぶなど)として分けて実装したかったため
  ・二つある経験値は、イベントによって加算対象を変更できる
  ・各能力値には、二つずつ「素質」というパラメータが割り当てられている(32bit変数)
  ・二つある「素質」値を使う使わないは、作者の自由である
  ・通常、「素質」は、キャラクタメイキングの際に決定され、以後変化しない

  以下、式などの設定について。

  [A] 能力値上昇判定式

    「いくつに達したら上昇するのか」を判定する式を、能力値ごとに設定する。
    全てについて設定するのは大変なので、デフォルトの式が割り当てられている。

  [B] 能力値上昇値算出式

    上昇するとき、「いくつ上昇するのか」を算出する式を、能力値ごとに設定する。
    全てについて設定するのは大変なので、デフォルトの式が割り当てられている。

  [C] 成長チェックのタイミング

    目下課題。

    経験値加算イベントが発生した際、その場で判定し、勝手に加算処理を行って
    しまうと Wiz のようなレベルアップが不可能となる。以下を設定できるように
    しようかなと。

    イ)経験値加算時に成長チェックを行わない
    ロ)経験値加算時に成長チェックを行い、能力値を上昇させるが、レポートしない
    ハ)経験値加算時に成長チェックを行い、能力値を上昇させ、レポートする

    イを選んだ場合、「成長チェックイベント」を設定した箇所で全能力値の
    成長チェックが行われることになる。


  [A]と[B]の式は、職業ごとに設定できない。あくまで“能力値単位”が基本となっている。
  このため、二つある素質パラメータや、職業識別用の変数などを駆使して、職業間の
  差異を必要に応じて出す。


●(2) レベルの概念を導入し、成長させたい場合について

  ・レベルは、能力値の一つとして定義されている
   このため、(1)の機能により、経験を積むことだけは可能になっている

  ・レベルは、一定値まで溜まった際、レベル値だけ上昇しても意味がない
   このため、どの能力値がどの程度上昇するのか、全ての能力値に対して
   一つ一つ上昇値算出式を設定する必要があるものと考えている

  ・上昇値算出式の設定は大変な作業となるので、どこかでデフォルトを
   決めて、システム作者(私)の方で割り振っておく必要がある
   これによって、ツクールや3DRPGCSなどと同様、事実上デフォルトのゲームの
   バランスが決まってしまう

      │  └補足を・・・ 熊恭太郎 2004/05/20 17:31:34  ツリーへ

Re: 以上の方式で、全部カバーできないでしょう... レスを書く
熊恭太郎 2004/05/20 17:31:34
補足を・・・

>  [A] 能力値上昇判定式
>  [B] 能力値上昇値算出式
>  [C] 成長チェックのタイミング

これは、経験値がいくつになったら、どの程度能力値が成長するのか、
ということを決める設定のことです。


● 他の問題

このほかにも細かい話が結構あります・・・

(1) 能力値が成長したら経験値をリセットするのか?

(2) どの行動を取ったときにどの能力値の経験値を上昇させられるようにするのか、設定するのが大変

(3) Wiz #1 のレベル上昇判定式には問題がある。
  例えば「1000 × 1.73の(レベル-1)乗」では、
  レベル1→2 より レベル2→3 の方がレベルアップに必要な経験値が少ない

  別途、判定に便利な関数をシステムに用意する必要がある。
  これが意外と面倒・・・

      │   └大分まとまってますね。 摘露 2004/05/21 22:38:05  ツリーへ

Re: 補足を・・・ レスを書く
摘露 2004/05/21 22:38:05
大分まとまってますね。
自分のやりたいことは一通りできるみたいなので、何も言うことはなさそうです。

>(1) 能力値が成長したら経験値をリセットするのか?

プレイヤーの立場で言うとリセットする方が分かりやすいです。
3DRPGCSの場合、城で次のレベルまでの経験点が分かる機能がないと、分かりにくいことこの上ないですから。

>(2) どの行動を取ったときにどの能力値の経験値を上昇させられるようにするのか、設定するのが大変

これは難しそうですね。
予定している具体的な能力値の一覧を挙げていただけないですか?
それを見て、相談しましょう。

>(3) Wiz #1 のレベル上昇判定式には問題がある。

(1)でリセットすれば、自動的に解決かと。

>別途、判定に便利な関数をシステムに用意する必要がある。これが意外と面倒・・・

これは、完成後に少しずつ実装していく方針でどうでしょうか。

      │    └予定している具体的な能力値の一覧を挙げて... 熊恭太郎 2004/05/22 02:26:38  ツリーへ

Re: 大分まとまってますね。 レスを書く
熊恭太郎 2004/05/22 02:26:38
> 予定している具体的な能力値の一覧を挙げていただけないですか?

どうも、能力値に限らず、どこかに仕様書いて煮詰めていった方が良さそうですね。

私も頭の中に把握しきれていないんで(ぉぃ、適当にHTML文書化して
箇条書きしてからコード書いた方が良さそう……

たぶん、仕様が決まってしまえば作るのは早いと思います。

      └例えば、キャラクターがLVレベルのときの... 熊恭太郎 2004/04/06 14:44:13  ツリーへ

Re: >「ブレス」という名称の行動にどういう定... レスを書く
熊恭太郎 2004/04/06 14:44:13
> 例えば、キャラクターがLVレベルのときのNレベル呪文の
> MP=(LV−N)−ABS(LV−N)などの計算式で定義できるので、
> これを全ての系統に対して設定すればよいのではないかと思うのですが。

ぜひ参考にさせていただきます。個人的なイメージとしては、この方法で問題無さそうです。
また、スクリプトプログラムに習熟した人であれば、この方法でどのような状況でも
対応できると思います。

引数として、args[0]に行動レベル(0以上)、args[1]にキャラクタ(レベルは1以上)が
入っていると想定します。キャラクタの現在レベルは、関数Level()で取得します。
例えば、以下のような感じになります。

( args[1].level() > args[0] ) * ( args[1].level() - args[0] + 1 )

これで、0レベルの行動(呪文)はキャラクタレベル1〜に従って2,3,4,5,6...となり、
2レベルの行動は同様に0,2,3,4,5...となるはず……です。


Wizファンからは、職業別にしたり、クラスチェンジしたときに例外的な値を
割り振りたいといった要求が出てくる可能性があります。

これは、非常に複雑な式を用意したり、別途関数を用意することになります。
殆どの制作者はそこまで習熟できないことが予想されますので、
その場合は随時質問を受けるという形になりますね(^^;;

ビショップとメイジの差くらいは、出したいですね。
職業ごとに上記の式を設定できるようにすれば可能なのですが、
「職業」自体、採用選択の自由を用意したいので、「職業」の概念そのものを採用しない
ゲームでは、設定できないことになってしまうし………。まだ仕様を決め切れない感じです。


> >画面
> 以前見せていただいたツールの画面とは大違いで、驚きました。

同じツールで作成されています。
センスの問題もあるのですが、やっつけで作っているものばかりということもあって、
まだ殆どの画面がいまふたつです。

とにかく最初は、必要な情報を表示できさえすれば良いのです(笑)


> 全体的な画面もTRPGのキャラクターシートのようで、なじみやすそうです。

意識していませんでしたが、テーブルトークの感覚はあるかもしれませんね。
昔、ワープロでよくキャラクターシートをデザインしたのを思い出しました。


> (金貨はやっぱ重量に入れないとね。)

重量・サイズのルールもなかなか難しくて、何かあるたびに合計重量や合計サイズを
計算する処理を入れているので、処理が非常に重くなっています。

重量とサイズはゲームバランスを取りづらくする可能性もあるので、採用する人が
果たしているのかどうか……

       ├(args[1].level()args[0])*(args[1].level(... 熊恭太郎 2004/04/06 15:20:49  ツリーへ

Re: 例えば、キャラクターがLVレベルのときの... レスを書く
熊恭太郎 2004/04/06 15:20:49
> ( args[1].level() > args[0] ) * ( args[1].level() - args[0] + 1 )
> これで、0レベルの行動(呪文)はキャラクタレベル1〜に従って2,3,4,5,6...となり、
> 2レベルの行動は同様に0,2,3,4,5...となるはず……です。

・・・あ、間違い。後者は「1レベルの行動は同様に」でした。

       └>(args[1].level()args[0])*(args[1].leve... 摘露 2004/04/12 21:04:23  ツリーへ

Re: 例えば、キャラクターがLVレベルのときの... レスを書く
摘露 2004/04/12 21:04:23
>( args[1].level() > args[0] ) * ( args[1].level() - args[0] + 1 )

括弧内は、TRUEとFALSEの場合、どの値として計算するのでしょうか?
2レベルのときに、0,2,3,4,5となるのが分かりませんでしたので・・・
0と1(或いは)−1であれば、スマートではないにしても
(クラス=メイジ)*(メイジの計算式)+(クラス=ビショップ)*(ビショップの計算式)という分かりやすいことができるのですが。

>重量とサイズはゲームバランスを取りづらくする可能性もあるので、採用する人が果たしているのかどうか……

私は是非取り入れたいです。
重量がオーバーして宝物の金貨を全部持っていけないという時の選択をプレイヤーにして欲しいです。

        └括弧内は、TRUEとFALSEの場合、ど... 熊恭太郎 2004/05/20 16:43:13  ツリーへ

Re: >(args[1].level()args[0])*(args[1].leve... レスを書く
熊恭太郎 2004/05/20 16:43:13
> 括弧内は、TRUEとFALSEの場合、どの値として計算するのでしょうか?
> 2レベルのときに、0,2,3,4,5となるのが分かりませんでしたので・・・

計算式の件ですが、最初の投稿は誤りです。
1レベル行動に対して0, 2, 3, 4, 5になります。

trueは 1 、falseは 0 の扱いになります。どうやら、Excelと同じようでした。


> (クラス=メイジ)*(メイジの計算式)+(クラス=ビショップ)*(ビショップの計算式)

摘露さんご提示の式によって、可能です。

ただ、上記にある「メイジの計算式」や「ビショップの計算式」を埋め込むか、
別途関数を用意しなければならないので、習熟した人しか対応できません。

「可能だが、難易度が高い、面倒」というのが多くの人にとって正直なところかなと。
式編集の難易度については元々頭を抱える問題で、やむを得ない部分とも思っています。

このあたりは以前も書きましたが、随時質問を受けるなどの対策は必要ですね。
マニュアル次第って話も・・・


> 重量がオーバーして宝物の金貨を全部持っていけないという時の選択をプレイヤーにして欲しいです。

面白いと思います。

相当古い話ですが昔、テーブルトークの席で、価値の低い「銅貨」が一杯に溜め込まれた部屋の
イベントを出したマスターが私の周囲にいました。

パーティ全員で持ち運べるのはせいぜい数千枚なのに、剣ひとふりが銅貨換算で九千枚くらい
必要とするような世界だったので、誰も銅貨を拾わずに部屋を出たという……

実は後で大量の銅貨が必要になるというシナリオが組まれていたのですが、そのときのことが
印象的で、これがきっかけとなって重量の仕組みを実装しています。

荷物対策としてリヤカーを運び込んだり、荷ラバをパーティメンバに加えるなどの
バリエーションも作れそうですね。

         └ご返事ありがとうございます。 摘露 2004/05/21 22:24:38  ツリーへ

Re: 括弧内は、TRUEとFALSEの場合、ど... レスを書く
摘露 2004/05/21 22:24:38
ご返事ありがとうございます。
エクセルと同じであれば、私には馴染み易そうです。

>このあたりは以前も書きましたが、随時質問を受けるなどの対策は必要ですね。マニュアル次第って話も・・・

マニュアルは凝る必要ないですよ。
質問が出るたびに書き加えていけばいいのですから。
マニュアル作成に気が重くなって完成しないというのが最悪です。
私もシナリオ作成したときは、ヘルプのために大分時間をとられましたので。

>銅貨

DDなどでは、銅貨は放置が基本でしたからね。
(マスターも金貨00枚と、銀貨000枚と、数え切れないくらいの銅貨があるよとか言うし・・・)
そんな世界がPCでも実現できるというのは嬉しいですね。

・戦闘キャパ(各メンバーが戦闘でペナルティーなく行動できる重量・装備品等の重量だけにて換算)
・最大キャパ(個人が持ち運びができる最大の重量・金貨なども含めた総重量がパーティ全員の最大キャパの合計を越えると歩行移動できない)
・追加キャパ(荷車・ラバ等を持つことによって追加で持ち運べる重量・ただし、移動が制限される)

ADDでは、ニビラルズフローティングディスクなど、この追加キャパを一時的に増やす呪文があったりします。

呪文は無理にしても、上の3種のキャパはは実装して欲しいです。


記事一覧へ 掲示板を出る