2013年10月14日

ゲームブックのアプリを製作するツールはあるのか?

今回の記事はゲームブック製作そのものとはちょっと話が変わります。
単純にゲームブック作成したいと言う方にはあまり有用な記事ではないと思います。


ゲームブック製作ツールをこれまで色々と紹介してきた中で
スマートフォンのアプリとして出力できるゲームブック製作ツールはないですか?というメッセージを頂きました。

今の時代、スマートフォンが全盛期となってきましてアプリでゲームブックを配信している所が増えてきました。

実を言うとこれまで紹介してきたツールで作られたHTMLゲームブックの類いもアプリです。
ただインターネットのページでゲームブックを展開しているように見えますが、最新のものは一つのファイル(ページ)で複数の選択肢を表示するようプログラムが組まれているものもあります。

もちろんブラウザが標準装備されているスマートフォンならダウンロード〜インストールせずにそのまま表示して楽しめます。

こういったものは一概にWEBアプリと呼ばれています。プログラムで動いているわけですからアプリなんだと思います。

一般的にアプリと聞くとAppStoreやGooglePlayなどで配信されそれをダウンロードしてインストールして使うタイプのものをアプリと連想しますが、これらはネイティブアプリと呼ばれるものです。

何が違うかというとWebアプリはプラットフォームを選びません。一つ製作すればWindowsでもMacintoshでもUbuntuでも、そしてiPhoneでもAndroidでもブラウザがあればどのような端末でもほぼ同じ環境のアプリが提供できます。

ネイティブアプリというのは逆にプラットフォームに縛られます。iPhone用に製作したアプリはAndroidやWindowsでは動きませんし、その逆も同じです。各端末毎にプログラムを作らないといけません。

ネイティブアプリの強みはWEBアプリよりも動作が軽い点と各マーケットに登録できるので宣伝効果があるという点でしょうか。プッシュ通知が出来たり、あとは端末のカメラやGPSなどと連携が出来ると言う点です。
しかしながら動作が軽いと言っても恩恵にあやかれるのはアクションゲームなどの動的要素の強いゲームなどで、静的要素の強いゲームブック関連のアプリはWEBアプリでもネイティブアプリでもそれほど変わらないと思います。
ましてやゲームブックアプリでカメラやGPSなどと連携する必要性もあまり考えられません。プッシュ通知だってゲームブックを楽しむ事とは何も関連性もないでしょう。

端的に言えばゲームブックなどのアプリではWEBアプリもネイティブアプリもそれほと変わらないと私は思います。
中にはWEBアプリをネイティブアプリ化して公開しているものもありますからね。

日本ではiPhone用のゲームブックアプリが割と沢山でているようですね。これらはネイティブアプリですが、スクリプトさえ組んでHTML5で製作すればほぼ同等のWEBアプリが作れるでしょう。

それらのアプリをAndroid向けに出す事が出来ないのは、製作しているチームの使っている製作ツールがiPhoneしか対応していないからだと思います。おそらく製作チームの人数が少ないと思いますから致し方ないと言えばそれまでですが…
結局の所、限られたマーケットでしかコンテンツを提供できない結果を生んでいます。

どうせ静的要素の強いゲームブックアプリですし、Webアプリとして作ってからネイティブアプリにしてストアで公開すれば至る所で流用できるのに勿体ないと感じます。



話が逸れましたが自作ゲームブックをネイティブアプリにて作れるかと言うと、それは作れます。

では製作支援ツールはあるのかというと、それもあります。
ですがゲームブックに特化した製作支援ツールはありません。あくまでアプリ全般の製作支援ツールです。

そういった製作支援ツールの中にはプログラミング不要と謳っているものもありますが、プログラミングの手間を補う為のものでプログラミングの知識が不要というものではありません。

ネイティブアプリはプログラムですので(Webアプリもそうですが…)プログラミングの知識は必要不可欠です。
Webアプリのように作成してすぐ楽しむなんて事もできません。作成したらビルドという作業が必要です。

そしてネイティブアプリを公開するのにもストアに登録しないといけません。これには登録料がかかります。
アプリをストアに出すのにも審査が必要です。最近は電子書籍系統のアプリは落とされるような話も聞きます。ゲームブックは電子書籍に近い形ですので何か付加価値を付けないと危ういかもしれません。

ストアに出さずに独自で公開する手段もあるにはあります。野良アプリとか勝手アプリとかそういう名で呼ばれています。Androidならありますが、iPhoneは受け手の端末をジェイルブレイクしてないとインストールできないようです。ジェイルブレイクやルート化しているユーザーなんてほんの一握りのコアなユーザーだけでしょう。当然敷居は高いです。

ですが人気が出たなら儲けも大きいと思います。データですから原料代もありませんから。

ネイティブアプリで自作ゲームブックを公開したい方はアプリの製作支援ツールを使うといいかもしれません。


プログラミング不要!無料でアプリ開発できるツールまとめ
http://appmarketinglabo.net/app-develop-freetool/


こちらのサイトにアプリの製作支援ツールが沢山紹介されています。ですがゲームブック製作に特化されたツールはありません。あくまでアプリ全般の製作支援ツールです。
そしてプログラミング不要でもプログラミングの知識は必要です。

上のサイトのトップで取り扱っている「MONACA」(http://monaca.mobi/?lang=ja)ならWEBアプリをベースに各プラットフォーム向けにネイティブアプリとして展開できるもののようです。ですがこちらのツールはプログラミングが必要のようですね。

もし敷居が高いなとお考えなら以前紹介した「ティラノスクリプト」(http://tyrano.jp)を使ってみるのもいいかもしれません。こちらはサウンドノベルに近い形でバトルなどのスクリプトはありませんが簡単なプログラムで作れますし、ネイティブアプリにする事も可能です。


こちらのブログではネイティブアプリ開発についてはあまり知らないので、それらのツールについても使い方までは伝授できないですが、至る所に国内のチュートリアルサイトがあると思われますので検索して調べてみるといいかもしれません。
posted by 文芸遊戯研究会 at 18:03| 日記 | このブログの読者になる | 更新情報をチェックする

Quandaryの使い方04

「Quandary」についての使い方の四回目です。
前回までで一応一通りの使い方を説明しました。

このツールではステータスの能力値やアイテムなどの情報がゲージとして表示される機能を備えているため、今回はそれを利用して少し踏み入ったゲームブックを作ってみようと思います。

前回までに作ったゲームブックに体力点のシステムを設けようと思います。

バトルシステムだと出来ない事はないのですが、ランダムで変数に値は入れられるもののダイスロールの表示機能はなく、計算機能を設けると複雑になってしまうため、普通にトラブルやトラップなどで体力点を失うだけのシステムで作成します。

もちろん体力点がゼロになるとゲームオーバーです。

まず「Options」メニューの一番上の「Assets」を選んでクリック。

体力点の変数を新規作成します。

21.jpg

ステータスゲージに常時表示されていないといけないので両方とも「Always」にして初期値を10に設定しました。

20.jpg

リストに反映します。表示の都合上「鍵」の上に「体力点」を入れています。
変数を選択して右クリックすれば変数の順番を上げたり下げたりできます。

19.jpg

体力点が無くなった時のゲームオーバーのパラグラフも作ります。
本文にはHTMLタグも入れられるので入れてみました。

次に体力点を失うパラグラフを作成します。主にトラップに引っかかると体力点を失います。

18.jpg

今回は宝箱をそのまま開けようとすると針が飛び出し腕に刺さる事で5ポイント失うアクションを作ります。
本文に「体力点を5ポイント失った」と記載し、選択肢には「戻る」と「あなたは倒れた」という二つの選択肢を作ります。体力点が余っていれば「戻る」のみ、なくなってしまえば「あなたは倒れた」という選択肢のみ表示するように設定します。
「あなたは倒れた」という選択肢のリンク先は「ゲームオーバー」のパラグラフです。

まず「戻る」のリンクを編集します。

16.jpg

ダブルクリックして出てきたウィンドウの「Hide this link when it is inaccessible」にチェックを入れ、「Transactions」を押します。

17.jpg

「Asset name:」で「体力点」を選択し、下半分の「Level of asset〜」の枠の「More than」を選んで右のゲージに「0」を入力して「OK」を押します。

これで体力が0より上…1以上ある場合のみ「戻る」という選択肢が有効になります。

次は「あなたは倒れた」という選択肢のトランザクションを設定。

15.jpg

同じくダブルクリックして出てきたウィンドウの「Hide this link when it is inaccessible」にチェックを入れ、「Transactions」を押します。

14.jpg

「Asset name:」で「体力点」を選択し、下半分の「Level of asset〜」の枠の「Fewer than」を選んで右のゲージに「1」を入力して「OK」を押します。

これで体力が1より下…0以下になった場合のみ「あなたは倒れた」という選択肢が有効になります。

12.jpg

体力点を5ポイント失ったというイベントなのでそのアクションを入れます。
メインウィンドウの「Entry transactions」に入れます。
「Asset name:」で「体力点」を選択し、「Operator:」は「subtract」(マイナス)にして、「Value:」に5を入れます。
これで体力点の変数の値から5を引くという計算を実行する命令が出来上がりました。


この後、宝箱にあるランプを手に入れるという設定にしたので、
さらにランプの変数を新規作成してそこのパラグラフで設定します。

13.jpg

前回の「鍵」同様に「ランプ」を1にします。

11.jpg

一つのパラグラフに二つの実行アクションが入りました。このように複数のアクションを実行する事が可能です。

ランプを手に入れたらこの部屋に用はなくなるので、鍵を使って部屋に入るという選択肢にトランザクションを仕込んでランプ入手後は部屋に行けないようにします。そうしないと部屋に入る度にランプを手に入れてしまいます。

10.jpg

ランプを選択し、「Fewer than」を選んで右のゲージに「1」を入力して「OK」を押します。

09.jpg

ここのパラグラフリンクにも「鍵」と「ランプ」の二つの条件が入りました。
鍵を持っていたら入れて、ランプを手に入れたら無効になるという設定です。


では最初の牢屋を出た所の廊下のパラグラフへ戻って、元々作ってあった「右の道へ行く」の他に「左の道へ行く」という選択肢を作ります。

08.jpg

まず「暗闇」というパラグラフへリンクする「左の道へ行く」という選択肢テキストのリンクを作成。
「Hide this link when it is inaccessible」にチェックを入れ、「Transactions」を押します。

07.jpg

ランプを選択し、「Exactly」を選んで右のゲージに「0」を入力して「OK」を押します。
これはランプという変数が0と同一ならこの選択肢が有効になるという設定です。

06.jpg

次は「大扉の前」というパラグラフへリンクする「左の道へ行く」という選択肢テキストのリンクを作成。
「Hide this link when it is inaccessible」にチェックを入れ、「Transactions」を押します。

05.jpg

ランプを選択し、「Not equal to」を選んで右のゲージに「0」を入力して「OK」を押します。
これはランプという変数が0以外ならこの選択肢が有効になるという設定です。
元々ランプは0か1しか入らないように設定しているので0以外と言う事は1しかないのです。

04.jpg

廊下のパラグラフができました。「左の道へ行く」という選択肢が二つ出来上がっていますがプレイ時にはどちらか片方のみが表示されます。

ランプがない時の「左の道へ行く」は「暗闇」というパラグラフへ飛び、ランプがある時の「左の道へ行く」は「大扉の前」というパラグラフへ飛ぶようになっています。

簡単な話、ランプがないと暗闇で前が見えずに先に進めず、ランプがあれば大扉の前に出られるという仕組みです。

03.jpg

「暗闇」のパラグラフを編集します。
暗くて思うように歩けず転んで体力点を5ポイント減らして元の場所へ戻されるという仕組みです。
転んだだけで体力が半減するなんて随分とひ弱な主人公です。

「大扉の前」がラストのパラグラフです。

フローチャートも見れます。「Options」メニューの「View outline」を選んでクリック。

02.jpg

01.jpg

今回作成したゲームブックでは入れてませんが、本文には画像や動画、音楽などを入れる事も可能です。
最初の使い方の記事のメニューの説明で書いています。


では簡単なゲームブックですが、今回作ったサンプルゲームを置いておきます。

サンプルゲーム

応用すれば色々な事が出来ますので試してみるといいでしょう。
posted by 文芸遊戯研究会 at 03:27| 制作ソフト | このブログの読者になる | 更新情報をチェックする

2013年10月13日

Quandaryの使い方03

「Quandary」についての使い方の三回目です。
今回はフラグや変数を用いた分岐を書きます。

前回作ったゲームブックで2番のパラグラフで壁の鉄格子を調べるというものがありました。
そこに鍵が落ちていて拾うかどうかの選択肢を盛り込みます。

もちろん先のパラグラフでその鍵がないと入れない部屋を設定します。

今回はその鍵をアイテムとして入手し、鍵でドアを開けるパラグラフまでを作成してテストプレイする所までを記事にします。

まずは「鍵」という変数(アイテム)を作成します。

30.jpg

「Options」メニューの一番上の「Assets」を選んでクリックしてください。

29.jpg

上の画像のウィンドウが出ます。
上の「Introduction to assets 〜」という項目はアイテムやステータスなどを取り扱う場合の説明文です。
ここに書いた説明文はスタートのタイトルページで表示されるだけです。別に書いても書かなくても結構です。

下の「Current assets」の項目に作成した変数が表示されます。その下の「New Asset…」をクリックします。

28.jpg

さらに上の画像のウィンドウが現れました。
上の「Asset name」に変数名を書きます。これは日本語でも構いません。例では「鍵」と入れました。

その下の「During the exercise,〜」の項目はプレイ時にこの変数の状態を表示するか否かを選びます。
「Always」は常に表示します。
「Never」は表示しません。
「Only when not equal to zero」は変数がゼロの時は表示されません。

その下の「At the end of 〜」の部分はエンドでこの項目が表示されるか否かです。
元々クイズゲーム作成ソフトから発展したソフトなので最後に答えの採点などを表示する時に使うようです。

二つとも「Only when not equal to zero」を選ぶと下の「Do not display〜」が有効になりチェック出来るようになります。これはステータスゲージに変数名のみ入れて値を入れたくない場合に使用します。

その下の「Initial quantity of this asset:」はその変数の初期値です。プラスかマイナスを選んで数値を入れます。
数値には小数点も使えます。その際は下の「Number of decimal places〜」で小数点以下の桁数を入れてください。
「2」と入れた場合「1.00」というような入れ方ができます。ただゲームブック上ではあまり使わないと思います。

例では鍵を持っていない時はステータスゲージに表示させたくないのでどちらも「Only when not equal to zero」を選択しました。「Do not display〜」にチェックを入れておけばプレイ時には「鍵」のみ表示されて「鍵:1」と表示にはならないのですが、今回は手違い(後で気づいた…)でチェックを入れませんでした。

最初は「鍵」は持っていない設定ですので初期値は「0」のままにしておきます。

27.jpg

「OK」を押すとリストに「鍵」が加わりました。これで変数作成は終わりです。

そしてその鍵を値を変える作業です。
鍵を見つけたと書いた2番のパラグラフをメインウィンドウに表示して編集できる状態にします。

26.jpg

鍵を拾う選択肢を入れるので「New Link…」をクリックして「鍵を入手」というパラグラフへ進む「鍵を拾う」という選択肢テキストを作成します。

25.jpg

今度はその「鍵を入手」というパラグラフを編集しましょう。本文と1番のパラグラフへ戻るリンクを作成したら変数を変えるアクションを設定します。このツールではそれを「トランザクション」と呼んでいるようです。

24.jpg

トランザクションは三種類の場所に設置できます。
上の画像の三つの矢印がその場所です。一番上の「Entry transactions」はこのパラグラフが表示された時に実行するアクションを指定します。
その次…真ん中の「Exit transactions」はこのパラグラフを離れる時に実行するアクションです。
下の選択肢の欄にある 「Transactions」はその選択肢を選んだ際に実行されるアクションです。

今回の「鍵」の入手はどれを選んでも変わりません。ただ「Entry transactions」は本文表示前に実行されるのでこのパラグラフ本文にステータスゲージが現れて「鍵」が表示されるのに対し、残りの二つで指定した場合は本文表示後に実行される為当該のパラグラフでは表示されません。

とりあえず今回は一番上の「Entry transactions」で指定するのでそこをクリック。

23.jpg

トランザクションは複数設置できるのでそのリストが表示されます。
下の「New Transaction…」をクリック。

22.jpg

すると上の画面が出ます。
「Asset name:」は指定したい変数を選びます。ここでは「鍵」を選びます。

「Operator:」は計算式です。難しく考える必要はありません。右にある「Value:」の値を「Asset name:」で指定した変数の持つ値に足したり引いたりする設定を指定するだけです。

21.jpg

「add」は「Value:」の値を変数の値に足して、その計を変数に入れ直します。
「subtract」は「Value:」の値を変数の値から引いて、その計を変数に入れ直します。
「multiply」は「Value:」の値を変数の値と掛けて、その計を変数に入れ直します。
「divide」は「Value:」の値で変数の値を割って、その計を変数に入れ直します。
「set value to」は「Value:」の値を変数の値と同一にします。
「percentage」は変数の値を「Value:」で指定した%に変更して、その計を変数に入れ直します。
「power」は乗計算です。変数が5で「Value:」が2なら5を2乗した値25を変数に入れ直します。


「Operand」の枠も変数の計算式ですがこちらは種類です。

「Fixed value」は上の「Operator:」で指定した計算を変数にいれます。
「Random value」は名前の通りランダムで出した値を変数に入れます。選ぶと右に二つのゲージが現れるので最小値と最大値を入れてください。6面サイコロでしたら1と6です。
「Value of another asset」は「Asset name:」で指定した変数を右で指定した変数と値を合わせます。「Asset name:」で「HP」を指定して右で「Max HP」を指定すれば、体力全回復とかに使えます。

下半分の「Level of asset〜」の枠は条件指定です。これはまた後で説明します。

20.jpg

とりあえず鍵を入手したというアクションを実行したいので「Operator:」で「add」を指定して「Value:」を1にして「OK」にします。「鍵」という変数を1にすればいいだけですから「Operator:」を「set value to」にしても同じです。

19.jpg

変数リストに反映されました。「Chage」の欄に「+1」と書かれました。確認して「OK」を押すと反映です。

18.jpg

メインウィンドウの「Entry transactions」に「(1)」が加わりました。一つのアクションが登録されているという意味です。


今度作るゲームブックでは同じパラグラフを何度も行き来できる設定にしてあります。
よって「壁の鉄格子を調べる」というパラグラフへ行く度に「鍵」がいくつも手に入るという矛盾が生まれてしまいます。
一本道にすれば問題ないのですが、今回はあえて双方向にしました。

それを防ぐ仕掛けをします。

1番のパラグラフから「壁の鉄格子を調べる」という2番のパラグラフへのリンクがありますが、それを細工します。

17.jpg

選択肢欄のリストの「壁の鉄格子を調べる」をダブルクリックするか、選択した状態で「Edit Link…」をクリックします。

16.jpg

赤い矢印の「Transactions」をクリックします。これは選択肢に変数のアクションを入れるものです。

15.jpg

「Asset name:」で「鍵」を選択し、「Value:」はゼロのままにしておいてください。「Value:」がゼロなら「Operator:」と「Operand」は無効になります。

今度使うのは条件なのでウィンドウ下半分のの「Level of asset〜」の枠を使います。基本的に下半分の「Level of asset〜」で指定した条件が当てはまる時に、上半分の「Operator:」と「Operand」が実行され、当てはまらない時には一番下の「Message to be shown if access is refused:」で指定したテキストを表示するというものです。

「No requirement」は条件を指定しない時に選びます。どのような条件でも上半分の計算を行います。
「More than」は右で指定した数値よりも「Asset name:」の変数の値が大きい時に実行します。以上ではないので注意。金が10以上持っているときのみ実行したい場合は9を指定してください。
「Fewer than」は右で指定した数値が「Asset name:」の変数の値未満の時に実行します。
「Exactly」は右で指定した数値が「Asset name:」の変数の値と同数の時のみ実行されます。
「Not equal to」は右で指定した数値が「Asset name:」の変数の値と同数以外の時のみ実行されます。


今回は鍵を手に入れた後に「壁の鉄格子を調べる」を選ぶと「鉄格子はもう調べた。鍵も手に入れたし、もう見なくてもいいだろう。」という文章が表示されるようにします。鍵を手に入れてなければ「壁の鉄格子を調べる」パラグラフへ何回も行けます。

画像の矢印で指定した通り、「Fewer than」を選び、右のゲージで1を、下の「Message to be shown if access is refused:」に「鉄格子はもう調べた〜」という文章を入れます。

これは「鍵」と言う変数が1未満…ようするにゼロの時は何も実行せずにリンク先へ進み、「鍵」が1以上の時…鍵を持っている場合は下の文章を表示します。

「Value:」の値はゼロなので「鍵」という変数は変化しません。「OK」を押して反映します。

14.jpg

リストでの「Required」の値が「<1」となりました。これが条件です。さらに「OK」を押します。
これで「鍵」の入手関連の作業は終わりです。

13.jpg

牢獄から出た廊下のパラグラフを編集。左右にのびる廊下の右だけを先に作ります。左は次の記事で作成します。

12.jpg

右に進むとドアがあり鍵がかかっています。最初の部屋の鉄格子で見つけた鍵を持っていればドアは開けられて、持っていなければ開けられません。その文章を書きましたら新たに選択肢を作ります。

11.jpg

ドアを開けた先の「部屋の中」というパラグラフを作成して、選択肢テキストを「鍵を使ってみる」にしました。
今回は鍵を持っていない時は「鍵を使ってみる」という選択肢そのものを表示させないようにします。
そのため「Hide this link when it is inaccessible」にチェックを入れるとトランザクションで指定した条件に合わない場合はその選択肢そのものを表示できないように出来ます。

「Transactions」を押します。

10.jpg

今度は一番上の「Asset name:」で「鍵」を選択し、下半分の「Level of asset〜」の枠の「Exactly」を選び、右のゲージに「1」を入れます。それ以外はいじらなくてOKです。画像赤矢印の所ですね。

「鍵」の変数が「1」の時のみこの選択肢が有効になるという指定です。鍵はどのみち1つしか手に入れられないように設定してますからイコール1で構いません。

「Hide this link when it is inaccessible」にチェックを入れて条件が合わない時は選択肢を表示しないようにしてますから、条件が合わない時に表示する文章の「Message to be shown if access is refused:」は何も入れなくて構いません。

09.jpg

「OK」を押すとリストに反映されます。「Required」の値が「=1」となってます。

08.jpg

ドア前のパラグラフです。鍵を持っている場合は「鍵を使う」選択肢と「戻る」選択肢が表示されて、持っていない場合は「戻る」のみ表示するようにしています。


それではテストプレイします。テストプレイのスタートを選ぶウィンドウ上で変数のタイトルが文字化けしてしまいますがこれはソフトウェアの都合上どうしようもないです。プレイ画面では支障はないので問題はないでしょう。

05.jpg

「壁の鉄格子を調べる」を選んだパラグラフです。「鍵を拾う」という選択肢が入りました。

04.jpg

「鍵を入手」のパラグラフです。ステータスゲージが表示されて「鍵 : 1」と表示されました。

03.jpg

鍵を手に入れた後にもう一度「壁の鉄格子を調べる」を選ぶと指定した文字が表示されます。

02.jpg

鍵を持っている状態でドア前に来た時の選択肢です。「鍵を使ってみる」という選択肢が現れます。

01.jpg

逆に鍵を持っていないままドア前に来た時は表示されずに「戻る」選択肢だけが表示されます。


今回はここまで作りました。ちょっとややこしそうに見えますが要領さえ掴んでしまえば後は楽かなと思います。
変数やステータスが混じるとどうしても複雑になってしまいます。プログラムですからね。

次回はもっと踏み込んだ使い方を記事にしたいと思います。
posted by 文芸遊戯研究会 at 23:50| 制作ソフト | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。