チビ猫、バケツアップデートにとりくむ(1)
『みてみてみんな、『のんびりファーム』が『人気のゲームワールド』にランクインしてる!
おめでとうチビ、やったね!』
ヒロさんからうれしいメッセージがおくられてきたのは、『のんびりファーム』リリースの次の日の朝のこと。
どうやら通勤中に、チェックしてくれたみたい。
チビたちはがぜん、もりあがります!
ちょっぴりざんねんなことに、一週間したころには、ランキングから消えてしまいましたけど……
それでも、これはうれしい快挙です!
予告していた『バケツアップデート』も、やる気もりもりでのぞめるというものです。
コフレリリースを終えた次の日、チビはさっそく、作業にとりかかりました。
せっかくなので、バケツを買ったときや、買いたいけど買えなかったときも、メッセージがでるようにしたいです。
でも、メッセージのせいぎょは、ちょっと一手間かかります。
というのは、『だす前にいったん、でてるのをけして』『それから、目的のをだして』『しばらくしたら、消さなきゃ』なのです。
このへんはVIPルームまわりから、けっこう苦労しているとこです。
できるなら、ぜんぶひとところで、やっちゃいたいです。
おかねがたりてるかチェックしたり、無事にかえたときには、じゃかじゃかちーん、とにぎやかな効果音も、なってほしいですけれど、これもひとつにまとめたいです。
そんなわけで、まずはパラメータをふやしてじゅんび。
作物ごとの『バケツレベル』『レベル0バケツを出してる(アチーブメント)』『レベル1バケツを出してる(アチーブメント)』を追加します。
ついで、バケツをふやします。
ふつうのバケツと、おっきなバケツ、どっちをもったときにも『バケツをもったよー』『しゅうかくしたのは、〇こだよ』というところをやってほしいから、まずは『それぞれのバケツじゃなきゃ、だめな処理』『いっしょにしちゃって、大丈夫な処理』にわけなおします。
バケツをふやして、もってみると……よし、どっちをもってても、ちゃんとポテトがカウントされます!
これなら、あたらしいバケツを安心して、大きなバケツにすることができます。
ではつぎに、『まだ大きなバケツを買ってなかったら、チップと引き換えに買え(アンロックでき)て、たりなかったら買えなくて、まえにもう買ってたら、お支払いなしで使える』しくみをつくりましょう。
バケツが入っている封印ボックスをクリックすると、判定が始まります。
クリックをきっかけに、封印ボックスについてるギミックオブジェクト (長いので、封印オブジェクトとよびます)は……
計算担当オブジェクトに、『計算始めてね(Odaiha)』『ねだんは、〇〇チップだよ(Buyprice)』とメッセージを送ります。
封印オブジェクト自身は、『自分の担当アイテムについて、手続きちゅうだよ(Korekure)』というスイッチをいれて、お返事を待ちます。
計算担当オブジェクトは、メッセージや、この処理につかうスイッチたちを一気に初期化。
そのあと、封印オブジェクトをクリックしたプレイヤーの持ってるチップと、さっき送られてきたお値段をくらべて、買えるか買えないか、計算します。
買えるか、買えないかのチェックをつけて、『結果が出たよ!』と、お返事をして……
ショップギミックしゃしん1
そこから、それぞれの流れで、手続きを進めます。
封印オブジェクトは、『結果が出たよ!』とお返事をもらったら、手続き中かをまずチェック。
手続き中なら、先を進めます。
まずは、もう買っているか(=レベル1バケツのアチーブメントがアンロックされてるか)をチェック。
これがOKなら、問答無用で使えます。
『UseOK』の合図で、大きなバケツをつつんだはこを消しちゃって、ミッションコンプリートです。
OKじゃなかったら、買えるか買えないかのフラグをチェック。
ショップギミックしゃしん2
まずは短いほうの、買えないほうを見てきましょう。
買えないフラグが立ってるので『買えないのよ(Cantbuyit)』のシグナルがとびます。
ショップギミックしゃしんNGばーじょん
それをうけて、『買えなかったよ』オブジェクトにおいてあるギミックが動きます。
『チップがたりないよ』とメッセージがでて、二秒後に、消えます。
つぎは、買える流れを見ましょう。
『ショップギミックしゃしん2』の、買えるか買えないかのとこから、たどりなおしましょう。
こんどは買える、と判断された瞬間に、どとうの処理がはじまります。
まずはもう、使えるの確定、ということで、『UseOK』の合図をうって、バケツをふういんしたはこを消します。
同時に、『買いに行くよ!(GoBuy)』の合図もだして、バケツ系のスイッチをばばばとチェンジ。
ポテトバケツレベルを1にして、アチーブフラグも、レベル1のをたてます。
まんいちここで事故が起きてしまった時に、プレイヤーさんががっかりすることのないよう、お金を取るより先に、アンロックをすすめる、というわけです。
アンロックを終えたら、おつぎはお代と、メッセージと、じゃかじゃかチーン、です。
アンロック処理の後ろにくっついて打たれた『買いー(Buyit)』のあいずでオブジェクト『買ったよ』にまとまったギミックが一気に動きます。
ショップギミックしゃしん3
チップをちょうだいして、OKのときのメッセージをだしてねの指令を飛ばしつつ、じゃかじゃかチーン、をならし、二秒後にメッセージ表示をオフ。
ショップギミックしゃしん4
『チップがたりないよ』『まいどあり!』のメッセージは、ひとつの設定の下にぶらさげてあります。
この設定と、個々のメッセージの両方をオンにすると、はじめて表示されます。
めんどくさいみたいですが、もしもこのふたつをとりあえず『ばしっ』といっぱつでオフにしたいときがきたら、このつくりが役に立つのです。
実はこのきいろい文字は、PlayerLocalUIです。
ぽてとでかバケツをアンロックしてない人にだけ、みえるのです。
アンロック、のひとことは、あとから『あっ』と思って入れましたけど、しくみじたいはかわりません。
ワールドだと、これでもじがボックスの真ん中にきます。
いろんなスイッチをチェックしたり、計算をしてくれる『ロジック』や、そのときつかう合図『メッセージ』には、みっつのしゅるいがあります。
ワールドのみんなで共有できる『Global』。
オブジェクトそれぞれのなかでしごとをしたり、特別な時に別のオブジェクトとやりとりをする『Item』。
そして、それぞれのプレイヤーのなかでの、いろいろをする用の『Player』です。
このみっつの間で、合図をやり取りすることは、完全に自由にできるわけではありません。
今回、『もう買ってるか』のチェックが、『てもちのチップで買えるかチェック』のあとになっちゃってることや……
なぜか、お返事に突然『グローバル』のメッセージがはさまってるのは、そのためでした。
計算を頼んできた封印ボックスに、ただしくお返事を届けるのは、意外とむずかしいのです。
というのも、封印ボックスみんなが、計算担当オブジェクトに計算を頼んでくるけど……
だれから頼まれたのか、は、わからないのです。
いえ、やろうとおもえばできるけど、判定式がオブジェクトのかずだけ、ずらっとならぶことになります。
いまはバケツが5つだからそれもできるけれど、今後を考えたら、それではいけません。
計算担当オブジェクトは、種別『グローバル』のメッセージで『計算おわったよー』と、ワールド中に聞こえるようにさけびます。
それをきいた封印ボックスたちが、手元のスイッチ『自分の担当アイテムについて、手続きちゅうだよ』をチェックして……
『手続き中』のオブジェクトだけが、『あっ、自分は返事待ちだった。ということは、自分へのへんじだね!』と判断して、さきをすすめるようにします。
ほんとうは、封印ボックスの担当してるアイテムを、ボックスをクリックしたプレイヤーがもう買ってるかどうか、先にチェックしちゃえればいいのですけど……
計算をお願いするときにひつような『特定のオブジェクトをねらって、メッセージをとどける』がやれるコンポーネントは、あんまり多くありません。
そのひとつが、オブジェクトをクリックしたときに信号をだすコンポーネント『Interact Item Trigger』なのです。
つまり、もし、クリックしたとき、さきに『もう買ったか』をチェックすると……
オッケーだったときはいいけれど、NGだったときは、もう計算のお願いをとどけることができなくて、手詰まりになってしまいます。
(タイムラインやスクリプトを使えば、なんだかそれも、できそうだけど、作るはやさとチェックのしやすさをかんがえて、このまますすめます)
だから、とにかくさきに、お金の計算をしてもらって……
その結果をかえしてもらったら、つぎつぎ判断をすすめるながれにした、というわけです。
ゲームモードとワールドでチェックすると、アンロックもちゃんと動きます。
めでたくあすは、大きいバケツの容量と、中身表示をかえることにしました。
次回は『チビ猫、バケツアップデートにとりくむ(2)』0/7投稿予定です!
10/6アップデート予定ですが、アドレスはそちらに貼らせていただきます。
どうぞ、お楽しみに!