高校生のゲーム開発ブログ

主にゲーム開発の進捗を報告、共有します

高校生のスマホゲーム開発記録|1週間目

こんばんは!ゲーム開発で一攫千金を狙う高校生、NEOです。

今回は実際にゲームアプリ開発の1週間目の進捗を報告したいと思います💪

まずは下の動画をご覧ください。

ひとまずこのような感じになりました。実装した内容をまとめると、
  • 背景のスクロール
  • プレイヤーの基本的なアニメーションとアクション
  • ゴブリン(敵)の追加
  • 仮のHPバー実装
  • スコアカウントの実装

という感じです。それではこの1週間の作業を細かく見ていきましょう。

実際にどのように実装したかや、工夫した点、苦労した点なんかをまとめていきます。

実装① 背景スクロール

まず最初に実装したのは視差効果を利用した背景です。視差効果とは、複数の背景レイヤーを異なる速度でスクロールさせることで、奥行き感や立体感を演出する技術です。前景のレイヤーは速く動き、背景のレイヤーはゆっくり動くことで、視覚的に距離感が生まれます。

この手法は、2Dゲームやアニメーションでよく使用され、シーンに深みを加えることができます。

 

最初は自分でプログラムを書いてみたんですが、どうにもうまくいかず、、、

しかし、諦め半分でAssetStore*1を覗いてみたところ、なんとそれっぽいアセットが見つかりました!しかも無料で!

 

早速Unityに導入したところ、動きました!🎉🎉

しっかり視差効果が適用されたすばらしい背景スクロールですね!
 
それと、この背景画像もAssetStoreで無料で入手したものです。
筆者の画力では到底こんなきれいな背景は描けないので素材に感謝です!

実装② プレイヤーの基本アクション

2つ目に実装したのはプレイヤーです。

プレイヤーのスプライトは前から使おうと考えていた、これまたAssetStoreの素材を利用しました。(アセットストアに頼りすぎだろ!)

 

プレイヤーのアニメーション等を設定し、実行した結果が下の動画。

 
うーん。なんだかカクカク、、、。
 
理由はただ1つ。アニメーションフレーム数(コマ数)が少ないからです。しかし、アセットストアで配布されていた素材なので、勝手に素材を改変、追加していいかは分かりません。
そこでとりあえず、素材フォルダ内にあった、ライセンスファイルをコピペしてChatGPTに投げたところ、このような回答が返ってきました。

このアセットは著作権も放棄されてるからほとんど何しても大丈夫らしいです。

よかった!

というわけでそれからアニメーションのコマ数を増やす作業に入りました。

ツールにはドット絵ペイントツール(有料)のAsepriteを使用しました。

アニメーションフレームを編集・追加した

約1.5時間かけてコマ数を20枚程度増やしました。0から作るよりは簡単でした!

それを今度はUnityで実際に動かせるようにします。これが意外に時間かかった💦

それを実行してみると、

アニメーションがスムーズになりましたね!(ゴブリンを試しで置いていました。ミスです)
ちょっとしたことですが、こだわってよかったと思います!

実装③ ゴブリン(敵)

さっきの動画でも登場しましたが、敵となるゴブリンを実装しました。このゴブリンのスプライトもまたまたAssetStore👜で無料で入手したものです。(ちなみにPlayerの素材と同じ作者さん)
プレイヤーが一定の範囲内に入ったら攻撃するというプログラムを書いて完成です。

ゴブリンについてはそれ以外に特に語ることもないので僕のがんばり(プログラムの一部)を画像として貼っておきます。

実装④ 仮のHPバー実装

プレイヤーのHPバーも実装しました。

見た目はひどいですが機能としては完璧です。

見た目は後から簡単に変えられるように設計しているので、世界観などに合わせて追々やっていきたいと思います。

プレイヤーHPバー

実装⑤ スコアカウント

このゲームにおいてのスコアは進んだ距離です。敵を倒してとにかく先へ進めば進むほど高得点となります。なのでその指標となる数値を表示する必要があるわけですね。

今のところフォントもデフォルトで無機質な作りですが、これについても追々手を加えたいと思います。

それ以外にこだわった点

ここに書いてあること以外にもこだわった点があります。例えば攻撃した、されたときの画面のエフェクトです。

攻撃ヒット時の画面エフェクト

これはTopDownEngineに入っているMMFeedbacksという機能を使用して実装しました。

画面の歪みや、色収差、Bloomなどの画面効果のプロパティーを操作しています。

一気に見た目がそれっぽくなるので最高です!

ややこしいので細かいことは省略しますが、気になった方はぜひ調べてみてください。他にもいろんなことができます。(MMFeedbacksが単体でほしい場合はFeelを購入してください)

まとめ

個人的にはこの1週間の作業スピードには一応満足しています。ただ、もっと頑張れたなと思う一面もあるので来週も気を引き締めて頑張りたいと思っています。

来週はコイン、2体目の敵、足場などを実装する予定です。

最後まで見たいただき、ありがとうございました!

 

📗ブックマーク登録、読者登録もお忘れなく!

 

*1:AssetStoreとは、Unityが提供するオンラインマーケットプレイスで、ゲーム開発に必要な3Dモデル、スクリプト、ツールなどのアセットを購入または無料で入手できるサービスです。これにより、開発時間を短縮し、プロジェクトのクオリティを向上させることができます。