So-net無料ブログ作成

▼ラノベとテクノを愛するfuwafuwaがノベルゲームを作っています。あと日常のことなども

                                                                                                                                                                                                  spfd-banner.png
「未来探偵ソラとピヨちゃん」本サイト作りました。体験版やあらすじ、ショップ委託やDL販売、イベント参加予定など、入手情報はこちらからご覧ください

Nscripterで逆転裁判ふうのシステムを作る方法 [☆Nscripter]

expop100-3F.png
このたび
「エクストリーム取り調べ!ソラとピヨちゃん」
で逆転裁判ふうのシステムを作りました。

ダンガンロンパやいろいろなゲームでも取り入れられた、矛盾にツッコミを入れる謎解きシステムですが、これをどうやってNscripterでやるのか? という話です。

Nscripterはデフォルトで、文末のクリック待ちの時には割り込み判定がかけられるようになっています。
つまり、スクリプトの¥や@のところでクリック待ちをしているときに、サブルーチンに飛んでいろんな処理をさせることが出来ます。
これを利用したのが、システムカスタマイズで、たとえばデフォルトでは文章送りにはマウスクリックしか使えないところを、マウスホイールで出来るようにしたりできます。
(前作「未来探偵ソラとピヨちゃん」でも、いろいろなサイト様を参考にしながらここまでは実現していました)
ここのサブルーチンに、スプライトボタンを押すと反応する、という仕組みを入れてやると、アイテムのボタンをつけることが出来ます。
このようなボタンをつけることに関しては、Nscripter-tips様のサイトが詳しいです。
http://sorejyadamedarou.sakura.ne.jp/nscripter/system_customize2.htm

で、ここの*text_lb のサブルーチンの中に、スプライトボタンを押したらフラグを立て、同時に文章送りをするという処理を入れておきます。
たとえば、アイテムを6個用意して、%201から%206という変数にしておき、クリックしたらフラグが立つ(=%201に1を代入する(mov %201,1))、そして同時に文章送りをする、みたいにします。
そして本文のほうでは、犯人の会話をループさせます。そのループの中に、フラグが立っていたら脱出という判定を入れます。
以下はスクリプトの例です。(本当は¥は半角なのですが、ブログの仕様で全角で書いています)

*kaiwa1
【シイタケヤマ】
「おれ何もやってないし、何も身に覚えがないよ。『怪しいところ』なんか『神に誓って絶対にひとつもない』から帰してくれよー」¥
if %201=1 gosub *machigai0101
if %202=1 gosub *machigai0101
if %203=1 gosub *machigai0101
if %204=1 goto *seikai0101
if %205=1 gosub *machigai0101
if %206=1 gosub *machigai0101
goto *kaiwa1
 
文章の後の「¥」で、クリック待ちになり、その間サブルーチンに飛びます。
サブルーチンでアイテムのアイコンを押すと、対応する変数%201から%206のいずれかに1が代入され、「ボタンを押した」というフラグが立ちます。
そして同時に文章送りをさせますので(つまり、デフォルトでマウスを左クリックしたのと同じ処理)、フラグが立ったまま¥の次に戻ってきます。
そうすると、if文の羅列で、どのフラグが立ってるかを調べます。
上記のスクリプトでは4番目のアイテムが正解ということで、%204のフラグが立っている場合に、*seikai0101という分岐に飛びます。それ以外は、*machigai0101に飛ばされます。
*machigai0101では、間違い用の会話を表示させた後、returnで戻ってきます。
アイテムのボタンを押さずに普通に文章送りをしたときには、goto *kaiwa1で、会話の冒頭に戻り、正解のアイテムを突きつけるまで、証言がループする構造です。

おおまかにこのような仕組みにすることで、証言にアイテムを突きつけることで謎解きをする、というシステムが出来ます。
しかし、「エクストリーム取り調べ!ソラとピヨちゃん」では、以下のような仕組みも備わっているため、すごくややこしいです。

・アイテムをクリックすると、より詳しい説明の画像が出る
・説明の画像を「閉じるボタン」が出る
・説明画像が出てる間も、メインウインドウの文章はクリックで送ることが出来る
・説明の画像が出ているときに、「つきつけるボタン」を押すことで突きつけることが出来る
・「つきつけるボタン」はシナリオの進行で出たり消えたりする
・シナリオの進行度によって、アイテムのアイコンが増減する

これを、変数でフラグを立てて、if 文で判定して、というを何重にもやることで実現しています。作った本人もわけが分からなくなるほどです。本職のプログラマの方ならもっとスマートにいくのだと思いますが・・。

以上、個人的メモに近い覚え書きでした。
本当は余所様のサイトのようにスクリプトの実例を載せられればいいのですが、人に見せられるようなきれいなスクリプトではない(=本人が見ても謎の部分がある)ため、大まかな仕組みの解説となりました。

C87冬コミレポート! [★参加企画]

冬コミ無事終了しました、皆様ありがとうございました~!
B6EJSEyCMAEn-AG.jpg large.jpg
こちらは当日のスペースの様子(photo by grimo+)
今回もたくさんの方とお会いできまして、このために生きてるな~と感じることひとしおでした。
しかし、いつもながら制作がぎりぎりで徹夜明け、体力がなくふらふら・・なんでいつもこうなんでしょうか><

今回配布しました「エクストリーム取り調べ!ソラとピヨちゃん体験版」は、徹夜制作の余波で「蜜樹きゅっきゅさん」のお名前を「密樹きゅっきゅさん」と書いてしまうミスをしてしまいました。
蜜樹さん大変申し訳ありません!(><;)
それどころか、ゲーム本体がエラーで終了するという仕様にもなってしまいました。ディスク裏の注意書きの通り、
回避策を行っていただくか、サイトで公開中の修正版をプレイしていただければ幸いです!(><;)
配布したディスクは、蜜樹さんのすてきなレーベルイラストを楽しむプレミアムアイテムとしてご利用いただければ・・と思います。(><;)
いろいろと失敗をしてしまいましたが、さらに、コミケ会場へ向かう夜行バスの中では、
ポスターと、サークルスペースに段をつけるための什器をまるまる忘れたことに気づき、身体中に電撃が走りました。
サークルチケットを忘れなかったのが不幸中の幸いですが・・。

いろいろと波乱もありましたが、皆様の暖かいご支援のおかげで、今年もやっていけそうです!本当にありがとうございます!

さて、今回サークルスペースにて、新作の制作費支援を募る、「クラウドファンディング募金箱」を置かせていただきました。上の写真の真ん中当たりにあるのがそれです。制作費支援をしていただいた方は、スタッフロールに名前を載せさせていただくという趣向です。
弾き語りの人がギターケースを置く感じで、同人ゲーマーの魂の入れ物、CD-Rスピンドルケースを募金箱に加工しています。
この写真では「クラウドファインディング」と書いてありますが、その後間違いに気づき、「クラウドファウンディング」と書き直し、帰宅してから「クラウドファンディング」だったことに気づいたほど、その道には疎いふわふわですが、皆様の暖かなお気持ちをたくさん頂戴しました。
合計10910円いただきました。
ありがとうございます!
コミケのお宝獲得のための貴重な資金を、フワフワソに投資していただいたと思うと、重みもひとしおです。
大事に使わせていただきます^o^

クラウドファンディングの理由ですが、いままでコミケに参加してきて、面白いのがやはり推理大会などを通じたプレイヤーの皆様との交流でした。コミケはサークルも一般も全員が参加者というのを強く感じられる瞬間です。
しかし今回は推理大会をやらないので、じゃあどうしようか? と。
そうした流れで、プレイヤーの皆様も一緒に「ソラとピヨちゃん」の世界に乗っかってもらえたら楽しいな、というのがクラウドファンディングの切っ掛けです。
本当は犯人の名前や死体の名前もクラウドファンディングで募集しようと思ったのですが、
よくよく考えると、切なく悲しい事件の被害者の名前が、知ってる人の名前になると、一転してコメディになってしまうので、名前募集は取りやめにしましたw
また次回のイベントでやると思いますので、支援してみたい!という方がいらっしゃいましたら、是非よろしくお願いいたします!

↓ほたるさんにいただいた、手作りピヨちゃんぬいぐるみ。二羽に増えました。ピヨちゃん1UP!残機が増えたと好評でした。売り物と思って手に取る方もいたり。ほたるさんとほたるさんのお母さん、どうもありがとうございます!
P10207663.jpg

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。