2020/11/09
というわけで、公開中の「アザラシを守るゲーム」のバージョンアップを行いました。
タイトル画面のバージョン上3つが「1.1.0」の場合、本記事の修正が適用されています。もしバージョンが1.0.2以下のままだったり、エラーのアラートが出てしまった場合はスーパーリロード(Ctrl+F5)やブラウザのキャッシュクリアをお試しください。
プレイはこちらから!
https://gomafrontier.com/DefenceOfGoma/index.html
今回はゲーム性に関わる部分をいくつか変更・修正したのでバージョンを「1.1.0」としています。
ちなみに今回からバージョン末尾にGitのコミット回数を入れるようにしています。本当はコミットハッシュを入れたかったのですが、WebGLにアップするとアセンブリ情報が上手く取得できないことがあるため見送っています。
Unityでの入れ方については以前の記事で考察しているので、気になる方は見てみてください。
https://gomafrontier.com/unity/2062
目次
変更点
アザラシの移動制御の変更
プレイヤーキャラのアクションの1つに「アザラシを呼ぶ」というものがあります。守る対象となるアザラシは自発的に動かないので、このアクションでプレイヤーキャラの位置に呼んで優位に進めるという名目です。
ただしアザラシを呼ぶ際の流れは「リスが立ち止まって2回手を振る→アザラシが頷いて移動」という、あまりにも実用性のないアクションです。呼ぶ暇があったら敵を撃退したほうが良いのは言うまでもありません。
それならいっそということで、常にプレイヤーキャラに近づいて来るようにしてみました。
実装方法や挙動は以前の記事で紹介しているので、そちらをご参照ください。
https://gomafrontier.com/unity/2056
プレイヤー気絶状態からの復帰モーション追加
プレイヤーキャラ (リス) が気絶から復帰する際に、首をブルブル振るモーションを追加しました。
今までは気絶からノーモーションで復旧していましたが、この方がキャラクターっぽくていいですね。
ゲーム的には動かせるようになるまでの時間がモーション分伸びてしまうので、復帰モーション自体は短めにしてあります。
遠距離攻撃時の向き固定機能の実装
マウス左ボタン長押しによる遠距離攻撃時にマウス右ボタンも押すことで、プレイヤーキャラの向きを固定したまま移動することができるようにしました。
前述のアザラシの移動方法変更もあり、引き撃ちができないと不便な場面が多くなったのがきっかけです。
移動入力がキーボードである関係上、今までは4方向しか振り向けませんでしたが、今後は向きを固定しながら移動で微調整できるようになります。
待機中のアザラシの回復
ワークショップで発表した際の内容に「アザラシが何もしていない時のみ回復」と書いてありました。
ということで、アザラシが止まっている場合は徐々に体力が回復するようにしました。
処理としてはUpdate()
内で「待機モーション中」かつ「Rigidbody.velocity.magnitude
が0.1以下」かを評価し、真であればアザラシの体力を加算しています。
見た目上の回復速度はまあまあですが、先ほどの「移動制御の変更」の兼ね合いから、プレイヤーが動き回るほど回復しなくなります。そういう意味ではバランスが取れているかもしれません。
アザラシの連携攻撃
ワークショップの内容に「アザラシと協力して攻撃できる」と書いてあります。
連携攻撃なんてほとんど考えていなかったのですが、書いちゃった以上は実装するしかありません。
ただしリスとアザラシで大きさに差があるのでモーションが作りにくく、既に乗るアクションがあるので乗ってどうこうするモーションも使えません。
…となると、思いつく攻撃方法は1つしかありませんでした。
ただでさえワークショップのグループの方々に「守る対象のアザラシに乗っている」と言われたのに、ついに武器とみなして振り回すという暴挙にでました。
まあ「リスがアザラシを振り回す」という構図からして最早突っ込みも意味を成さないので、気にしないようにしましょう。
見た目はさておき、ゲーム的には広範囲に多段ヒットする近接技です。アザラシの近くで「Z」キーを押すことで発動します。
こんなものを無制限に使えたらゲームとして成り立たなくなってしまうので、黄色ゲージを一定量消費して発動するようにしました。
敵キャラクターの攻撃対象
これまたワークショップの紙には「敵はアザラシのみを攻撃する」と書いてあります。現行ではプレイヤーかアザラシをランダムに選択して攻撃を行っているので、これをアザラシに集中させます。
ただしプレイヤーにも体力の概念がある以上、完全スルーではちょっと寂しいです。なのでダメージを受けた際はターゲットをプレイヤーキャラに変更するようにしてみました。
これまでの要素と相まってプレイヤー有利になりすぎている感じがするので、次は敵キャラクターの追加やロジック・レベルの強化に注力してみようと思います。
コメント
はじめまして。現在Unityの勉強を始めて4日目の初心者です。楽しく遊ばせていただきました! すごいですね。私はまだまったく分からないので…。記事もたくさんあるので、勉強のためにまた伺わせて頂きます! 制作お疲れ様です!
みっきゅん  2018年8月30日 12:57 PM
みっきゅんさん
コメントありがとうございます。
最初は分からないことだらけかもしれませんが、慣れてくると自然とあれこれ作れるようになってくるかと思います。
本記事のゲームも複雑なようで中身は意外とシンプルだったりしますよ!
私もまだまだ至らない部分も多いので、お互いがんばりましょう!
riberunn  2018年8月31日 9:32 PM