2013年10月06日

HypeDynの使い方03

「HypeDyn」の使い方の第三弾です。
細かい設定が可能なツールではあるのですが、それが災いして作るのにも面倒さが加わっています。
元々教材としての価値を加える目的があったソフトウェアですので致し方ないとは思います。

今回はフラグや変数を使った条件分岐を作ります。

これまではWindows版を使ってきましたが、今回はMacOSX版で説明したいと思います。使用方法はWindows版と同じですがメニューバーがOS側のメニューに移りました。

29.jpg

前回で山と海へ分岐する選択肢を作りました。
次は山へ行くと鍵を見つけて海へ行くと100円を拾うという異なる二つのフラグを試してみます。

その後店があるので100円を持っていれば買い物ができ、さらにその後元の場所へ戻ってくると宝箱があるのを見つけますが鍵がかかっていて拾った鍵で開けるというストーリーにします。


ではまず山と海のパラグラフを編集します。面倒なので簡単な文章です。

28.jpg

27.jpg

その他のパラグラフもあらかじめ作っておきます。

このツールではフラグ設定を変数で行う事も出来ますが、指定のパラグラフを訪れたか否かで条件分岐をする事もできます。一回限りのフラグ設定ならこれが使えると思います。

そこで山を訪れるパラグラフでは鍵を拾いますが、ここは何も設定せずに先へ進みます。
海へ訪れるパラグラフでは100円拾います。ここを変数を使いましょう。

メニューバーの「Fact」右矢印1「New」右矢印1「Number」を選びます。

26.jpg

ファクト(Fact)というのは変数を作成するメニューです。
三つの種類の中から作りたい変数を選びます。

「True/False」というのは真偽の値を入れるものです。要するにONかOFFか持っているか否かの単純二元論しか入りません。
「Text」というのは変数に文字を入れます。例えば仲間を一人だけ選べるというストーリーで「仲間」という変数をこのテキストタイプで指定すれば「仲間」という変数に仲間の名前を入れられます。
「Number」というのは数値です。ステータス値など入れられます。今回は100円拾ったので「金」という変数をこのナンバータイプに指定してそこに100を放り込みます。

「Fact」右矢印1「New」右矢印1「Number」を選ぶと変数名を入力するウィンドウがでますので「金」と入力します。
ここは日本語でも構いません。「OK」を押すとメインウィンドウの「Fact」欄に「金(number)」と表示されます。

25.jpg

100円拾ったという記述のある海へ行くパラグラフを開いて右上にある「Edit node rules」をクリックします。

24.jpg

すると選択肢にリンクを貼ったときと同じウィンドウが現れます。

23.jpg

要するに選択肢を選んでクリックした時にもアクションは起こせるという訳ですね。

22.jpg

「Add Rule」をクリックして新しくルールを作りました。リストのルール右にある「Stop if true」というチェックボックスはこのルールを一回実行したら無効になるというものです。今回は一本道なので設定しませんが、このパラグラフへ何度も訪れるようにしてしまうと訪れる度に100円拾うと言う何とも嬉しい結果になってしまうのでその時はここにチェックを入れて一回限りにしておきましょう。

「new rule」をまたダブルクリックします。

21.jpg

Rule nameは「100円拾う」としておきます。

20.jpg

画面上部の欄はまた使用しません。一番下の「Add Action」の行を見てみましょう。真ん中の欄が「update fact」になっていることを確認して「Add Action」のボタンを押します。「enable〜」という長ったらしい名前の項目はどこでもパラグラフへのリンクを無効にするというアクションです。あまり使わないでしょう。

19.jpg

リストに上画像のような項目が追加されました。これは変数を変更させる命令です。

このパラグラフを訪れると「金」という変数に100を加えなければなりません。

18.jpg

「金」という変数はナンバータイプなので一番左は「Number」にします。その右は変数名です。「金」にします。
その右にusingと言う文字を挟んでさらに右で行う動作を指定します。
「Input」はただ単純に数値を変数に放り込みます。「金」は初期値は0で初めて「金」という変数を使うわけですから「Input」を選んでその隣を「100」にします。一度「金」を100にしてさらにそれに100を加えたい場合は「+100」にします。
「Fact」というのは対象の変数の値を指定の変数の値と同期させます。例えば宿屋で休んで全回復という時は「HP」という変数に対して「MaxHP」の値を同期させれば「HP」の値は「MaxHP」と一緒になります。
「Math」は計算式を入れます。変数と任意の数値や変数同士を計算した結果を対象の変数に放り込みます。バトルの時に使えそうですね。
「Random」はランダムで出された数値を放り込みます。最小値と最大値を設定できます。

17.jpg

上画像のようになりました。これで「金」に100を加えられます。今回は一個だけですが「Add Action」のボタンを押せば何個でも命令を加えられます。命令は上から順番に実行されるのでバトル処理の時などで不具合があった場合はは上の「Up」「Down」ボタンで選択した命令の順番を変える事ができます。
「OK」を押して反映させましょう。

16.jpg

山と海へ行ってからはどちらも店へ行くパラグラフに集約させました。
店ではアイスが100円で売ってます。当然100円がないと買えません。ここで条件分岐です。

アイスを買うならというテキストにリンクを貼ります。

15.jpg

次は真ん中の「Add condition」をクリックします。

14.jpg

上画像のように
「Number Fact」「金」「>=」「Input」「100」
と書きました。これは金という変数の値が100以上ある時にだけ下のアクションを実行しろという命令です。
要するに金を100円以上持っていなければ100円のアイスは買えないよということです。

その上の「All」「Any」は複数の条件がリストにある場合「All」だとすべての条件が揃っている時、「Any」はどれか一つでも条件が当てはまっている時に実行されます。例では条件は一つだけしかないのでどちらを選んでも同じです。

13.jpg

下部の欄で実行するアクションを指定します。
「follow link to」は指定のリンクへ飛ばします。
「show in popup」はポップアップウィンドウにてパラグラフを表示します。
「update fact」は変数の値を変更します。
「update text using」は同じパラグラフ内の選択肢テキストの下にテキストを追加させます。

ここでは二つアクションを使います。
まず「update text using」で追加します。

12.jpg

ここでも表示させられる文を選べます。
「alternative text」は右に入力したテキストを表示します。
「text fact」は変数に入れたテキストを表示します。
「numbar fact」は変数に入れた数値を表示します。
ここでは「alternative text」を選んで「アイスを買って食べた」と入力。

もう一つは100円でアイスを買ったので「金」から100を引かないといけません。
「Number Fact」「金」using「Input」「-100」
というアクションを入れます。

反映させたら今度はお金を持っていないときのアクションを入れます。入れなければ金を持っていないときはこちらのリンクが無効になるだけなのでそれでも構いません。

11.jpg

もう一つルールを設定します。

10.jpg

「Number Fact」「金」「<」「Input」「100」
と条件を入力。これは金が100未満の時に下のアクションを実行するということになります。

アクションは「alternative text」を選んで「買うお金を持っていない」と入力。

09.jpg

次は店を離れて元の場所へと戻ってくるパラグラフを入れました。そこには宝箱があって鍵がかかっています。
拾った鍵を持っていれば開きますがなければ開きません。

08.jpg

今回はパラグラフに持っているか持っていないかの選択肢を入れました。
持っていれば「持っている」が有効に
持っていなければ「持っていない」が有効になるようにします。

「持っている」に持っている場合のパラグラフ「鍵がある」にリンクさせます。
「鍵」という「True/False」タイプの変数を作ってそれのON/OFFでフラグ判断すると言う手もありますが、ここは鍵を拾ったと言う山のパラグラフを訪れたか否かで判断させるので変数は作っていません。

05.jpg

条件の一番左の欄で「Node」を指定してください。これはパラグラフを示します。その右で「山」を指定して更にその右で「Visited」を指定します。これは山というパラグラフを訪れた場合のみ下のアクションを実行しろということです。

07.jpg

一番左の欄での「Link」は指定のリンクを通ったか否か、「True/False fact」は変数のON/OFF、「Number fact」は先ほど説明した数値の条件です。

06.jpg

一番右の欄の「Not Visited」は訪れていない場合で、「Previous Node」はこのパラグラフに来る直前のリンクが指定のパラグラフである場合で、「Not Previous Node」は指定以外のパラグラフの場合に実行されます。

04.jpg

全て入力した図です。

03.jpg

鍵がない場合も作ります。これは「鍵を持っていない」というテキストにリンクします。

02.jpg

これで完成です。
では最後にこのツールの特徴でもある「どこでもパラグラフ」を設置しましょう。
内容はゲーム説明にしておきます。他にも回復薬の使用や移動魔法などのパラグラフを設置しておけばどこのパラグラフにいてもリンクされていて使えるアクションが行えます。リンクは各ページの一番下に表示されます。

メインウィンドウの「New anywhere node」をクリックします。「ゲームブックの説明」とタイトル名を付けました。

01.jpg

もちろん「どこでもパラグラフ」に条件も指定できますし、任意のパラグラフに表示させないようにする事も可能です。
これだけで完成です。

一応作ったファイルをアップロードしました。ブラウザでそのまま表示できます。

サンプルゲーム

アクセスしてどんなものか見てみるといいかもしれません。

どうもおつかれさまでした。
posted by 文芸遊戯研究会 at 03:19| 制作ソフト | このブログの読者になる | 更新情報をチェックする