フラッシュ暗算 - The Human Calculator

制作物

 フラッシュ暗算をドリームズユニバースで作ってみました。


 今どきはスマホアプリでもホームページでもお手軽に試せるので、ドリームズでプレイする価値は全くありません。よくよく考えれば作る価値もなかったわけですが、そこはご愛嬌(?)ということで。

 ラスト3問あたりでは0.01秒単位で難しくなっていく設定にしていますが、ドリームズで端数がどの程度考慮されているか分からないので、実は何も難しくなってないかもしれません。0.01秒を体感できる人もいないでしょうし、気にしないことにしました。

 スコア登録はありませんので、安心して間違ってください。

 以降は雑感と機能・部品紹介です。気になる機能があればリミックスしてチェックしてみてください。もちろんワイヤーは整理してないです(笑)


雑感

 出題用の変数が15個、レベルが24あって判定にカルキュレーターを使用。ガジェットをぺたぺた貼り付けて数字を書き換えて……の作業中は気が遠くなりました。

 添え字、インデックスが有効となる処理を少なくする。ドリームズでゲームデザインをする時には心掛けた方が良さそうです。

 テキストベースのゲームは処理順が重要な分、不具合も多かったです。その不具合については、原因を特定してスタート地点を修正するのではなく、ゴール地点直前でブロックするように修正を加えました。「とりあえず動けばいいや」で作りました。

 制作過程での学びはそれなりに多かったと思います。ブログ記事のネタがなくて困ってましたが、2本くらい書けそうです。そういう意味で満足しています。


機能紹介

メニュー画面

 レベルを選択するとゲームスタートします。
 レベルが1画面に収まらないので、ダイアログ表示マシン3つに分けて、画面下部のボタンで切り替えます。
 切り替え時にワイパーを表示して、ページを切り替えている風にしてみました。

出題用の数字作成

 レベルを選択した直後、ランダムマシンを回して出題用の数字を作っています。レベルによって必要な数字の個数が異なるのですが、切り替えが面倒なので最大の15個分を毎回作っています。

 既存の乱数生成器を使えば良かったのですが、意地になって自作しました。3桁の数字を作成するのにかなり時間がかかるようになってしまったので、「Please wait…」などと表示して間を持たせています。
 制作後半になって、問題を作るタイミングを工夫すれば待ち時間なしでまわせると気づいたんですが、バグを作らず直す自信がなかったのでそのままにしました。

出題

 レベルごとに1個の数字を表示する時間が決定するので、その時間だけナンバー表示マシンの電源をONにしています。

 作ろうとしてぐちゃぐちゃになって、一回まるっと作り直しています。作り直した時のスムーズだったこと。ただその後、数字と数字のスキマを作るためにタイマーを挟んで、結局ぐちゃぐちゃになってしまいました。

 数字を表示するタイミングで、正答値の変数に足し込んでいます。

回答入力

 チップで数字を入力して変数に保存します。
 部品化したので後述します。

結果発表

 入力値と正答値を比べて正誤発表します。
 ドラムロールと祝福の花火は部品化しました。

 ドラムロールのシンバルに表示のタイミングを合わせる部分が、初めての作業だったので手こずりました。


部品紹介

Drumroll

 サウンドエフェクト。結果発表といえばドラムロールでしょう、と思い作りました。それっぽく聞こえるような聞こえないような……「ズダダダダ」の部分が、長すぎてくどいかもしれません。

  音楽素材はこれが初作品になりました。

Fireworks

 正解時に花火を表示したくて作りました。
 スターターキットの花火の色を赤青緑に変えながら、3カ所からエミッターで再生します。放っておくと7%ぐらいまで容量が増えていきます。

 射出する花火のグロウは100%になっています。近くで見ると目が死ぬので、ゲーム内では65%にして使っています。

 部品としてスタンプする段になっていろいろ不都合が出て、対策としてキューブオブジェクトを追加しました。後日その辺の情報をまとめて記事にしようと思います。

Numeric Input

 回答用に数字を入力するために作りました。
 入力した値は「NI_Result」という変数に保存します。

 ダイアログ表示マシンを再表示する仕組みにしているので、ボタンを1回押すごとに点滅してうっとうしいです。テキスト表示マシンと組み合わせれば改善できるのですが、位置合わせが面倒だったのでそのままにしています。気が向いたらブラッシュアップするかもしれませんが、気が向く可能性は低いです。

Dreams Universe 一覧に戻る

Dreams Universe
Timer for Gaming

 ひさしぶりのギミック(ロジックシステム)です。 概要  ぶっちゃけ単なるタイマーです。画面右上に時 …

Dreams Universe
XYZ軸をキッチリ移動させる

 3D制作環境ではX/Y/Z軸の座標を扱います。編集の際には対象物を真正面から捉えたり真上から捉えた …

Dreams Universe
エミッターを使ったエレメント作品の注意点

 今回ご紹介するのはエミッターを使ったエレメント作品の注意点です。 注意点を簡単に言うと、スタンプし …