(解説)しめじ先生の大冒険

ゲームはこちら

念願かなって、授業にて作品を発表することができました。(一度やってみたかったので・・・もう思い残すことはありません(笑)

しかし、ちょっと想像以上にサプライズに成功してしまって驚かせてしまったようですが、引かれてしらけてしまったらどうしようかとそれだけが心配でしたので、盛り上がっていただけてよかったです。(「ぼくのトイレットペーパー!!」と叫んでくれたのには嬉しかったですね。)

喜んでいただいたので、技術的なことはもうどうでもよくなって(実際純粋にプレイする側としては問題は面白いかどうかであってどうやって作ったかとかはどうでもいいわけで)、盛り上がってプレイしていただいたのをただ嬉しく見つめていました。

時間もオーバーしていましたし、感想のカードをくれたのは一人だけだったのですが(それでも十分嬉しいです)、面倒ぐさがりの息子が「お母さんにも感想!」と言って急いで感想を直接紙に書いてくれました。「記念的な作品を上手くゲームにしていてすごいと思います」。ちょっと日本語がおかしいですが、上手くゲームにできて記念的な作品になりましたということが言いたかったのでしょう、息子にも何か伝わったんだと思って嬉しく思いました。

ここで工夫したところや難しかったところを記録しておきます。

難しかったところ

・吹き出しのセリフのところ

吹き出しやセリフの大きさがそれぞれ違うので、出る場所に合わせてさらに左右の画面からはみ出さないように出すのに調整が大変でした。

・音と動きのタイミング

動きに合わせて音を選ぶのとタイミングを合わせるのに苦労しました。

・ドット絵

難しくはないですが、一番時間がかかるのがこのドット絵です。満足がいかないと思えば際限がない。デザイナーさんってすごいなー。

工夫したところ

・連射できてしまうと端にいてピュンピュン撃てばいいだけになって簡単すぎるのでできないようにしました。

・バグに捕まって穴に落ちるところは、スクロールをつかってみました。今井先生がつくってくださった、上下左右の設定が便利でした(・・・が最初何度やってもうまくいかず、まさか先生の設定が間違っていると思わず2日間悪戦苦闘したのでした。私の2日間の苦労を返して・・!(笑))

・虫の動き・・最初はまっすぐに向かってくる動きにしたのですが、それだとなぜか異様に気持ち悪かったので、ジグザグに動くようにしました。

・揃ったらクリアというところはストレージを使いました。

・クリアの胴上げをイメージしたところは、box2dをつかってジャンプさせています。簡単にリアルな動きをつくることができました。

【モバイルでバグが出るのを修正】

授業での発表の後に何気なくipadのほうでも開いてみたところ、途中で止まってしまうことに気づきました。もしかしてモバイルでは正常に動かない?・・どうやらそのようでした。

通常モードではバグに捕まったところで(!まさにバグのところでバグ)、おたすけモードでは全員揃って生徒たちに連行されるところで止まります。

モバイルのほうではconsole.logを見ることもできないのでどうしてなのか全く見当もつきませんでした。最初はスクロールレンジをつかっているのが原因かな?と思いましたが、おたすけモードのほうでは使っていないのでそうではないと思われました。

ここで両方に共通するのは、BGMの音を止めているということです。それしかありません。このBGMは、forを使って10回繰り返すように設定してあります。1回につき約140秒なので、さすがに10回繰り返すうちにはクリアするでしょうと。forを使っているのは、普通のスクリプトのループでは、ローカルや他の環境では動かなくなるからです。(画像が出ず真っ白になる)

その中で、音を制御するために、ENTER_FRAMEを使ったのですが、それが原因じゃないかと思って、その部分を無効にしたら、やはり動きました。しかしそれではBGMを止めることができなくなります。

それでこのENTER_FRAMEを使わずに音を止めようとしたのですが、そうすると今度はBGMのループがうまくいかなくなります。2回目から再生されなくなったり、2回目以降再生されても止められなくなったり。やはりENTER_FRAMEを使ったほうがうまくいくと思われました。

そこまでの考えに行き着いて、もっとやりたかったんですが夜も更けてきて明日も早起きして主人のお弁当つくらないといけないし、お風呂に入ろう、そしたらいい考えが思いつくんじゃないか、と自分に言い聞かせてお風呂に入りました。

そうしたらなんと言うことでしょう、お風呂の中で思いついたのです。ENTER_FRAMEの判定の条件が効きっぱなしになっているのが負荷になっているのではないかと。

ifの条件を満たしたらstopなのですが、それが一回こっきりではなくて、ずっと条件を満たして働き続けてしまう書き方になっているのがいけないんじゃないかと気付きました。

AIのところで教えていただいたのを思い出して、条件を満たした時に1回だけ働くように書き直してみました。すると、やはりそのとおりだったみたいで、動くようになりました。ヤッター/

これから何かに行き詰まったら、お風呂に入ることにします^^;

修正前

修正後

(通常モード)しめじ先生の大冒険ソースコード
(おたすけモード)しめじ先生の大冒険ソースコード

5 Replies to “(解説)しめじ先生の大冒険”

  1. 「わたしのネス(MOTHER2の主人公)風男の子!!」と私も心の中で叫びました(笑)

    生徒さんの分身キャラが登場していて、先生も表彰状を大変喜ばれてましたが、
    わたしたちもとてもいい思い出になりました。ありがとうございます。

    今後、ゲームをプレゼントっていうのも流行るかも。結婚式とか、卒業式とか、
    よく結婚式でお祝いビデオとかありますけど、お祝いゲーム作れたらカッコいいですよねー。

    一年後、中学の卒業式とかで披露出来たら楽しいだろうなーなんて思いますけど、
    わが子はサプライズとか全然興味なくって(^^; それに受験でそれどころじゃないかな(^^;

  2. !・・やっぱりあの男の子だったのですか、私は単なる男の子を書かれたのだと思ってましたが作っているとき息子が「これはマザーの男の子だ」というので、私は知らないのでググったのです。そうしたらそれを見て息子は「あれ?やっぱり違うかなあ・・?」でもそうだったんですね、わかる人にはわかるという絶妙なさじ加減!愛着は伝わってきましたので使わせていただきましたこちらこそありがとうございます-人-
    実はそこまでサプライズのつもりはなくて、単に私の喜びや楽しさや感謝を表現して先生やみんなに伝えたいなと思って(いろいろ意味が込められています)作っているときも楽しくて仕方なかったのですが、あそこまで驚いて喜んで皆さんも盛り上がってくれて、私も感動しました。
    じゅ、受験・・タラ〜ッおたがいがんばりましょう・・

  3. なんと!あの絵で、ネスだと分かってくれる人がいたとは!すごい。。。
    なんかすごくうれしいです。
    尾崎先生にピスケルを教えてもらった際に、息子がゲームに使えそうな男の子のキャラを書こうとおもって、
    マザーのネスくんをググって参考にしました。さらに著作権の問題からビミョーに違うと言い張れるレベルで
    帽子や服の色を変えたり、目や口の間隔をかわいらしくなるように崩しました。
    そして、この男の子は一度も息子はゲームで使ってくれなかったので、ようやくようやく彼に命が宿りました。
    あのゲームはほんとにいいです。先生キャラも似顔絵がすごい上手で似てます。フリー素材もチョイスがいいし。ストーリー、名言の吹き出し、胴上げ、音楽、…。センスが光るのに、ちょっとレトロ感が香る展開。
    男の人(男の子)では作れない、お母さんならではのやさしい雰囲気もある。あんなゲームには出会ったことがない。衝撃を受けました。ママさんゲームプログラマーリスペクト!!

  4. あ!モバイル端末のバグ、解決できたんですね。
    音楽が止まる共通点から、名探偵のように直していく過程がおもしろいです。
    試行錯誤して解決できる喜びは、プログラミングの醍醐味ですよねー。っと言っても私はコード打てないけれど、
    今まで息子の創作活動を見守っていたので、この部分の楽しみ方は分かってるつもりなんです。

    自分はできないけど、苦しい状況を見守り、解決できたときに「よかったねー」と拍手できるところが私は
    楽しいのです。なので、このブログを読むのはとても楽しいです。

  5. そこなんですよねー・・コードフレンズの授業ではお互いのゲームや試作品を見合って、わー面白いとなりますが、それってお互いにそこまでの苦労を知っているからこその、味わえる面白さがあるんだと感じます。それを知らないお友達だと、なにこれ?それで?みたいな反応だったりします。市販のゲームと比べたらそれは確かに比べ物にならないつまらないものでしょうね。
    この前も先生たちがびっくりしたり感心してくださったりしておおさかさんもすごい反応してくれて、ああやっぱ難しさ分かってる人だからだなと感じました。
    ありがとうございます〜親子の記録ともしかしたらだれかの役に立つかもしれないと思って書いてますが、嬉しいです!

コメントを残す

メールアドレスが公開されることはありません。