大まかな要件とクラス図作成

次回作のざっくりとした要件が決まったのでクラス図を書いてみました。

 

---------やりたいこと---------

・いわゆるラン&ジャンプゲーム

・プレイヤーは手前から奥に自動で走る

・スワイプで左右の位置調整、タップでジャンプ

・プレイヤーの体力はHP制で敵や敵の攻撃に当たると減っていき0になるとゲームオーバー

・プレイヤーの足元には攻撃判定がありジャンプして踏めば敵を倒せる

・HP回復アイテムや一定時間スピードアップするアイテムを登場させる

・敵の配置はUnitychanShooterのスクリプトを流用してある程度ランダムに

・ステージの構成は固定にしてHierarchyから調整する

・ステージクリア時にクリアタイムや倒した敵の数に応じたスコアを表示させる。

-----------------------------------

 

クラス図

調べながら見よう見まねで書いたので、詳しい人いたら突っ込んでください。

実線はメソッドの利用、点線は変数の参照を表しています。

 

f:id:MakePuntRut:20181216000348j:plain

 

詳細

■Players

PlayerMoveはPlayerの移動関係、PlayerHealthはPlayerの体力、PlayerStateはPlayerの状態(Colliderの有効・無効化やAnimationの変遷)を管理する。

 

■Enemies

EnemyMoveとEnemyHealthとEnemyStateはPlayersと同様に移動と体力の管理。

EnemyActionはそれぞれの敵固有の行動を管理する。実際にどんな行動をするかはAssetStore漁りながら決めたいのでここでは深く考えず開発中に修正していく。

 

■Items

PlayerタグのついたColliderに触れたら該当クラスのメソッドを呼び出す形で実装する。

 

■GameManager

ScoreManagerがScoreの管理、GoalはPlayerがGoalオブジェクトに触れた時のふるまいを管理します。

 

■Stage

Stage上の障害物の動きを管理します。ここでは深く考えずAssetStoreを漁りながら(ry

 

 

細かい実装方法はまだ決めてませんが、各クラスの役割と関係さえはっきりさせとけば前回よりはマシだと思うのでそろそろ実装に入ろうかと思います。

2作目についての予定

次回作はスマホ向けにアクションゲームを作ろうと思います。

いわゆるラン&ジャンプゲームを考えてます。

 

前作での主な反省点は2つ

・開発期間が長すぎた

・やみくもに思いついたことを実装したせいでコードがぐちゃぐちゃになってしまった

 

なので

スマホ用ゲームの開発に慣れる

・2か月以内に完成させる

・ある程度設計してから開発に入る

 

の3点を目標としてやっていけたらなと思います。

設計といっても具体的に何するのかすら知らないんですけどねw

1作目

1作目は公開済みです

www.freem.ne.jp

 

■ジャンル
シューティング

■制作ツール
Unity

■開発期間
半年程度

 

UnityのSurvival Shooter tutorialをやっていて、自分でも似たようなものを作りたくなったので作りました。クオリティはお察し下さい。

武器を切り替えながらやたら沢山湧いてくる敵を倒していくみたいなのを目指してたのですが、それについてはうまくいったんじゃないかと思ってます。

ゲームの出来に対して開発期間かけすぎた感があるので2作目はもっと早く完成させたいと思ってます。

はじめに

Unityでゲーム制作してます。

1作目に時間をかけすぎてしまったので、モチベ維持+備忘録として2作目以降の製作日記を書くことにしました。

週一くらいの更新を予定してます。

よろしくお願いします。