こんにちは!コンじゃぶろーです!
暑い日が続きますね、家の近くの小川に人だかりができているので何かな?と近寄ると、数羽のカモ(親ガモ、子ガモ)が行列を作ってました。最近、川がきれいになってきて、野生生物が増えてなによりです。
ただ、皆、カモに熱中して、必死にスマホを向けていたので気づいてなかったですが、彼らの頭の上を、見たこともない大きなペリカンみたいな鳥がバサバサと飛んでいました。(あちらの鳥のほうが珍しい)
さて、今日の本題です。
メガトンパンチャーVer.0.2.0が公開されました!!
はじめてゲームプログラミング「メガトンパンチャーVer.0.2.0 」開発記録
今回大きく触ったのは、パンチを溜め撃ち方式に変更した点です。
はじめてゲームプログラミング「メガトンパンチver.0.1.0」改造 少し骨組みをいじって、パンチの高さを上げたよ
これはとても簡単な変更です。
骨組みを入れて、「れんけつ面」をいじってやれば対応できます。
「はじめてゲームプログラミング」のいけてる部分として、この「れんけつ面」を設定できるって事かもしれません。これのおかげで、総当たりすれば、いずれ答えが出るという(体育会系)
「変更して」、「すぐ確認」を何度も繰り返すのがプログラムの面白さだと思ってるんですけど
他の言語だと、「変更して」「ビルド」「すぐ確認」と、間に「ビルド」という、場合によってすごく時間がかかってしまうステップが出てくるので、本当に、このゲームは「総当たり」でもいけるのが楽(本当は、頭で論理的に考えて組めたら最高ですが、私みたいな脳筋体質な者には、こういうの大助かりです。)
困ったら、総当たりでやってみよう!
コンじゃぶろー語録
つまづいて、投げ出すくらいなら総当たりでやってみましょう。何度も、総当たりでやっているうちに理屈がわかってくるはず(私はそう、信じたい)
はじめてゲームプログラミング「メガトンパンチver.0.1.0」連打を回避する為に、パンチをチャージ式にしてみた
前回の記事でも書いたんですが、パンチを撃っていると、腕ごともげて吹っ飛んでいく
これは、連打が原因なんじゃないか?という仮説をたてて対応してみました。
具体的に言えば、チャージ式(ため撃ち)にした感じです。
チャージ機構の仕様は、こうです。Rボタン・Lボタンを押すとパンチが出ます。その後60秒間かけてエネルギーをチャージして、エネルギーがたまったら、再度パンチが打てるようにしました。
中心の核となるエネルギー源には、「マグロ」を使用しています。
「マグロ」は、泳いでいないと呼吸ができない為、寝ながら泳ぎ続ける。泳ぐことを運命づけられた魚です。そんな「マグロ」でエネルギー充填し、パンチを繰り出す機構です。これで、24時間、パンチを撃ちだす事が可能となります。
また、マグロのそのしなやかな骨組みは、パンチを繰り出す際のしなやかなうなりを生み出し
カバのこめかみを、縦横無尽にカチワル最強のパワーとなります。
この機構を作る際に、つまった点は以下の点です。
チャージバーの表示
チャージバーは、60秒間で満タンになるものを取り付けました。
「のばせるもの」ノードンを、ひらべったい状態で腕部分にくっつけて、Y座標に値を入れて伸びる感じで実装できるので、比較的に簡単に実装できました。
つまった部分としては、今回の私の作り方が・・・
キャラクターを、Y軸で90度回転させていたり、連結を多用している為、本当に頭がこんがらがる事でしょうか・・・。ここも、脳筋らしく、総当たりでやりました。そんなに組み合わせパターンが多いわけではないので、やれなくはないです(頭悪いです)。
「定数ノードンに1」→「カウンターノードン(値の範囲を、0~60 はんい制限)」→「マッピングノードン(入力はんい:0~60 出力はんい:0~1)これでうごかせば、伸びでいくのでチャージ完了です。
ここは、簡単に実装できたんですけど、あとは以下の2点で対応OKです。
・カウントした「60」を、Lボタン(Rボタン)を押した時に「0」にリセットする
・カウントが「60」になるまで、Lボタン(Rボタン)を押してもパンチできないようにする
パンチの飛距離が短い問題
左パンチだけ実装してみたら・・・なんか変
よくみると、飛距離が短いんです。
これは、Lボタンを押した直後に、「Lボタンが離された!」パンチを解除しろっ!となって、すぐにひきもどされてたんです。
理屈でもわかってましたし、見た目でもハッキリ、あぁ、これはそうですねというものだったんですが・・・
この通り、スパゲティ状態のプログラムで頭は爆発状態です。
ぞくぞくしますよね。これだからやめられない(重症 スパゲティドランカー、だいぶやられてんな)
結局、ぐっすり一晩寝て朝起きたら、うまく整理できて解決しました。
方法としては、一度に複数の事をやろうとしていたのを、シンプルな処理に分けました。
・チャージボタンの操作:チャージが満タンの時に、Lボタン(Rボタン)を押すとリセットする
・チャージボタンが満タンではない時に、リセットされないようにする
・パンチ:1回パンチを撃った後、1.2秒間パンチを撃てなくした
なんでも、1回でやろうとすると複雑になります。あとは日ごろから、プログラムを整理するクセをつけたほうがよいですね
うがーっ!と、なったら すぐ寝ようのサイン。いいプログラムは、良い睡眠から。
コンじゃぶろー語録
どうしようもない問題
ここまで書いていてなんですが、チャージボタンで連打回避しましたが。
結局、腕がもげる問題は解決しませんでした。(そんなばかな・・・)
私の、マグロ機構に落ち度があったというのか・・・!?
そんな時、みつけた文章。これは、ゲーム内の良くできたドキュメンテーションなのですが、
れんけつがはずれる!?
そうなんです。負荷が高い状態になると、れんけつが外れるそうです。
いろいろ、やってみてあれですけど、どうしようもなかった・・・もう少し、小さくしてやればいけるかもしれないので、試してみる価値はあるかもしれません。
いやぁ、それにしても良くできたドキュメントだ(涙)
はじめてゲームプログラミング「メガトンパンチver.0.2.0」追いかけてくる敵を作ったよ
プレイヤーを追いかけてくる処理は、「えく」さんのゲームをプレイして参考ししてもらいました。私のプログラムよりも綺麗で、シンプルで見やすい(感謝)
ただ、私の組み方が良くなくて、カバがへんな方向へ突っ走ってしまうので、今後の課題ではあります。
美しいプログラムですね。ほれぼれします。見習いたい。
非公開部分での検証記録 つかむ・にぎる
左右のパンチは、本来大きなサポート用の手として機能するものを作る予定です。
はい、こういうやつですね
ものをパンチで壊すのは初歩で、つかんだり投げたりしたいです。
パンチで壊すのは出来たので、これからはつかむをやっていこうかなぁと考えて少し検証してみました。
ちょっと、イメージと違いますが、まぁ、なんとなくつかめそう
が、ここで一つ課題が出てきました。指をもっとたくさんつけようと思っていたのに、関連付けできるノードンの個数が限界なのでこれ以上関連づけできないという(汗)根本的な問題だ・・・。
しかも
かなり、壊れやすいという・・・
一撃で、壊れるって(汗)これは、耐久力に問題ありです。
という事で、何かをつかむマニュピレーターづくりをやっていきたいと思います。
長々とご清聴ありがとうございました。
ではでは、また。皆様のよいゲーム作りをお祈りしております。
コメント