


アプリを1つリリースするのを目標に開発を進めていたのさ

前作ってた「ゆるモン」クマか?

少し難易度も高いしボリームも大きすぎた・・・。

そんな目標で作ったゲームがこちら!



↓前回の作った記事はこちら
【Unity】マリオ風の縦スクロールゲームをつくってみた

1本完成させてみようと思ったわけさ



このゲームを作った感想と振り返りについて書いていくよ!

どれくらいの規模のゲームをいつまでに完成させるべきなのか等、
参考にしていただけるとうれしいです!

ゲームの全体構成



クリアした時間をランキング登録・SNS投稿できるタイムアタックモード
の2種類を用意しました!

↑ストーリーモード:エピソード画面

↑ストーリーモード:ステージ画面


[ストーリーモード]
ステージ:5種類
エピソード:5種類
[タイムアタックモード]
ステージ:5種類
[その他機能]
SNS投稿機能
ランキング機能


仕事しながら大体一ヶ月くらいで作ることができたよ!

[外部サービス]
広告表示: Google Admob
ランキング機能: NCMB
[Unityパッケージ]
SNS投稿:Social Connector
ボスキャラの動き:Anima 2D
会話機能:Fungus


よかったらそちらもご覧ください!
【Unity】自作ゲームにAdmob広告を実装する(バナー広告・インタースティシャル広告)
【Unity】Fungusを使ってセリフ機能を実装する
【Unity】Fungusでいろいろしてみる 〜サイズ調整とスキップ機能〜
【Unity】Anima 2Dを使ってボーンアニメーションを作成する【にぎりめし君】

規模とスケジュールについて

スケジュールをどのように進めたかについて!
全体の規模

[ソースコード]
ステップ数(全体):約2ks
クラス数(全体) :21クラス
– シーン管理 :5クラス
– キャラ操作 :6クラス
– コライダ :5クラス
– システム共通:3クラス
– 広告表示 :2クラス
[画像]
敵キャラ・ギミック等: 34枚
会話キャラ : 33枚
UI(ボタン等) : 46枚
背景 : 14枚
[音楽]
BGM: 11種類
効果音: 12種類

↑例)会話キャラの素材
↑例)作成したBGM


それでもこの数だったからね

表情の違いで作る場合等は、前つくったものを流用して短縮しました!
開発スケジュール



開発:約1ヶ月
テスト:約1週間
ほどかかりました!





感想と振り返り

よかった点

・ソースコードを整理して進めることができた
・程よいボリューム感だった
・リリースまでの一連の流れを経験できた
だったかなと思ってます!
ソースコードの整理

いわゆるスパゲティコードみたいにならなかったのでよかったと思っています!

定数クラスを作って管理するようにしたり、
「システム共通用」「コライダ用」等、フォルダを分けて管理しました!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace GameUtil
{
public static class Const
{
・・・略・・・
/** シーン名 */
public const string SCENE_NAME_TITLE = "TitleScene";
public const string SCENE_NAME_EVENT = "EventScene";
public const string SCENE_NAME_STAGE1 = "Stage1Scene";
public const string SCENE_NAME_STAGE2 = "Stage2Scene";
public const string SCENE_NAME_STAGE3 = "Stage3Scene";
public const string SCENE_NAME_STAGE4 = "Stage4Scene";
public const string SCENE_NAME_STAGE5 = "Stage5Scene";
public const string SCENE_NAME_END = "EndScene";
public const string SCENE_NAME_ADMOB = "AdmobScene";
public const string SCENE_NAME_TIMEATTACK_CLEAR = "TimeAttackClearScene";
/** SoundAssetsキー(ファイル名) */
public const string BGM_KEY_STOP = "StopBGM";
public const string BGM_KEY_GOROTHEMA = "GOROTHEMA";
public const string BGM_KEY_FOREST = "FOREST";
public const string BGM_KEY_SEA = "SEA";
public const string BGM_KEY_HOPING = "HOPING";
public const string BGM_KEY_DOOR = "DOOR";
public const string BGM_KEY_BANANAMIDA = "BANANAMIDA";
public const string BGM_KEY_BANANAMAN = "BANANAMAN";
public const string BGM_KEY_FLAY = "FLAY";
public const string BGM_KEY_SUPERSTAR = "SUPERSTAR";
public const string BGM_KEY_ATTENSION = "aTTension!!";
public const string SOUND_KEY_ATTACK = "se_attack"; // 攻撃音
public const string SOUND_KEY_JUMP = "se_jump"; // ジャンプ音
public const string SOUND_KEY_JUMP_LONG = "se_jump_long"; // ジャンプ音(長い)
public const string SOUND_KEY_WIND = "se_wind"; // 風
public const string SOUND_KEY_DELETE = "se_delete"; // デリート音
public const string SOUND_KEY_CLICK = "se_click"; // クリック音
public const string SOUND_KEY_GAMEOVER = "se_gameover"; // ゲームオーバー音
public const string SOUND_KEY_BOYON = "se_boyon"; // ボヨン音
public const string SOUND_KEY_BANE = "se_bane"; // バネ音
public const string SOUND_KEY_BOMB = "se_bomb"; // 爆発音
public const string SOUND_KEY_DIMAX = "se_dimax"; // ダイマックス音
public const string SOUND_KEY_DIMAX_RELEASE = "se_dimax_release"; // ダイマックス解除音
・・・略・・・
}
}
↑定数クラスの作成

程よいボリューム感

ちょうどいいボリューム感だったと思います!

全然終わらずに嘆くハメになっていたクマね


一連の流れを経験できた

これが一番大きいです!


正にその通りだと思いました。

これからどう進めていくかが肝ですね

反省点

・レイアウトの考慮が不足していた
・未経験の技術を見様見真似ねで実装した
・妥協した機能もいくつかあった
という点だったかなと思っています。
レイアウト考慮不足

こちらはテストでこの類の障害が一番多く、苦労しました。

iPadの画面サイズで表示した際の障害なのですが・・・




開発時から複数の画面サイズでレイアウトを確認したり等、
もう少し考慮していれば防げたと思います。
未経験の技術を見よう見真似で実装した

時間が限られているために、えいやで実装してしまったことです。

結果的にスケジュールも想像していたよりかかってしまいました。

時間がなくてあたふたしてしまったクマね

ある程度の下調べは必要だったのかもね・・・。
妥協した機能もいくつか

実装したくても断念した機能があったことです。

キリがないので、やむをえなかったことかもしれません。


アップデートで実装していければと思っています!
おわりに

初アプリ開発完了の振り返りでした!


トライしてみてよかったなと思うよ!

まだこれからリジェクトが入ると思うけどね・・・


リリースが完了したら一緒に遊ぼうね!

(でもクソゲーだしなぁ・・・)

アデュー!!

*** 追記 ***
iOS、Androidともに審査が通り、無事リリースされました!
結局一度もリジェクトされませんでした。(いいのだろうか・・・?)

作ってよかったなって心から思いました。





↓ダウンロードはこちらから
【振り返り】初の自作アプリ「ゴーゴーゴロヤン」を振り返る 〜完〜
コメント