こんにちは。
55代のすいです。
プログラミング研究会とCG研究会とMIDI研究会に所属しています。
なんとなく新歓ブログリレーに参加してみたのですが、ほかの人と記事の内容がことごとく被りそうなのでゲーム作ります。
さすがにこの内容だと被らないでしょ、たぶん。
これからゲームを作ろうと思ってる人は参考にしてみてください。
これまでやったこと
- プログラミング: Unity+C#でブロック崩しを作ったことがある(なんもわからん)
- グラフィック: 経験アリ
- 音楽: 経験アリ
目標
1週間でゲームを作る。以上。
計画立案・タスク書き出し(4/4)
まずはどういうゲームを作るかを決めます。
最初に思ったのは、短期間で作るので、できるだけ作業量を少なくすることが大事だということです。
つまり、
- プログラムのコードを短く簡単に
- グラフィックの枚数を少なく
- 曲数を少なく(または曲の長さを短く)
するといいのかな?たぶんそんな簡単にはできないと思う。
知らんけど。
ということで、さっと手軽に遊べるようなミニゲームを作ります。
ジャンルは......どうしようね。
ご丁寧にもジャンル別の制作難易度を軽くまとめてくれているページがありました。
完成させないとまずいので、完成させる難しさが低いシューティングゲームを作ることにします。
差別化とか正味いらんくないか?と思うんですが、他と比べて光るようななにか新しい要素がないと、わざわざこれで遊ぼうという気にはならないんですよね。
研究と同じですね。知らんけど。
ジャンルが決まったので細かいところを詰めていきます。
ゲームシステム
単位をかけて教授と戦う(大学生的安直思考)。プレイヤーは生徒、敵は教授。
ゲーム本編は①講義と②試験に分かれる。
なお、以下「知識」「〇」「×」は、よくあるSTGの弾のことをいう。
①講義
- 制限時間45秒
- 教授が「知識」を発射する。生徒はなにも発射できない。
- 生徒はできるだけ「知識」に被弾し、"知力"をためる。
- "知力"をためた分だけ、②で生徒が発射する「〇」のスピードが速くなる。
②試験
- 制限時間45秒
- 教授が「×」を発射する。生徒は「〇」を発射する(自動)。
- 生徒はできるだけ「×」を避ける。当たると制限時間が5秒減る(要難易度調整)。
- 生徒が「〇」を教授に100発当てるか、制限時間がなくなった時点で終了。
「〇」を当てた数と残り時間の合計が得点になり、得点によって成績が決まる(A+とSの境界は要調整)。
- 0~59点→F(落単)
- 60~69点→C
- 70~79点→B
- 80~89点→A
- 90~114点→A+
- 115点以上→AA
↑こんな感じ
大まかなシステムが決まったので、UIデザインと必要な素材の整理をしておく。
素材一覧(Hは必須、Lは重要度低)
- タイトル背景(L)
- タイトル文字(H)
- タイトルボタン(H)
- 教授立ち絵(H)と移動時の差分(L)
- 生徒立ち絵(H)と移動時の差分(L)
- 弾(知識、〇、×)(H)
- ゲーム本編文字(L)
- 講義背景(H)
- 試験背景(L)
- ゲージ(時間・知力・得点)(L)
- 成績発表背景(H)
- 成績発表文字(L)
- タイトルBGM(H)
- 講義BGM(H)
- 試験BGM(L)
- 成績発表BGM(L)
- SE(フリー素材)
素材が決まったらスケジュールが組めますね。
〆切(4/10)に間に合うように、あらかじめ製作スケジュールを考えておくのはめちゃくちゃ大事です。
〆切は大事なので。
〆切は大事なので。
4/4~4/6: 仮グラフィック制作、プログラミング
4/7,8: グラフィック制作、実装
4/9: BGM制作、テストプレイ
4/10: 完成、ブログ記事寄稿
......そんなにうまくいくんか????
まあできなかったらできなかったで記事だけ書いてロスタイムで完成させればいいので。
プログラミング(4/4,5)
雑に仮グラフィックを作って製作に取り掛かります。
今回は弾を64×64ピクセルで、自機と敵機を64×128ピクセルで作りました。
早速Unity 2020.3.32f1でプロジェクトを作ります。
まずは①講義のシーンから作ります。
分かりやすそうな解説記事を見ながら制作。
また、関連記事にスコア表示をする記事もあったのでありがたく見ながら理解を得ました。実はよくわかってないです。
ついでに残り時間も表示するようにして、とりあえずいい感じにできました。
同じようにして、②試験のシーンも作っていきます。
こちらはわりとサクサク進められました。
(これはねむかったから一旦進捗を保存したときのやつ)
あとは〇を自動発射できるようにしたり、×の挙動を変えたりして実装できました。
タイトルとリザルトも作って、各シーンを繋げます。
シーン遷移はこちらの記事を参考にしました。
調べれば出てくる世の中、いいですね。575。
なんやかんやあって遊べるようになりました。
予想以上にサクサク進んでいるので驚きすぎてびっくりしています。
タイトル画面での音量調節と成績発表画面でのTwitter共有はまだ実装方法がわかりません。
たぶん数日後のわたしがなんとかします。
プログラミングは一旦これで完成ということにします。
グラフィック(4/5,6)
予定より早くグラフィックに着手できました。
ばりばり描いていきます。
描き方はよく分からないので線画書いてベタ塗りしました。
また、成績発表画面の背景はフリーの紙テクスチャをお借りしました。
お絵描きに飽きたので適当にゲージを作っていい感じにしたものがこちらです。
だいぶ形になってきましたね。
気合でタイトル背景と遊び方の説明を描きます。
これでグラフィックは完成とします。
SE(4/6)
SEはフリー素材を引っ張ってこようかと思います。
面倒なので。
先人様には頭が上がりません。地下で生活するしかない。
今回は効果音ラボさんからお借りしましょう。
クイズ不正解1、学校のチャイム、警官のホイッスル、和太鼓でドン/ドドンを使います。
これはAudioSourceコンポーネントをつけて音声ファイルを入れるだけなので実装は簡単です。
BGM(4/6,7)
曲を、作ります。
これは噂なんですけど、すいさんのメイン所属研究会はMIDI研という説があります。
作り方はたぶん他の方も書くと思いますが、人によってだいぶ変わるので一応書いとこうかなと思います。
- メロディを思いつきます
- DAWにメロディを起こします
- 要りそうな楽器を見繕います(メロディ、コード、リズム)
- 各パートでいい感じの音を打ち込みます
- エフェクトで仕上げます
- 完成!
こんな感じです。いかがでしたか?
また、今回は曲の長さも考慮しています。
講義と試験のシーンでは制限時間がある(45秒)ので40秒くらいの曲を作......ろうとして結局50秒くらいのになりました。まあご愛嬌ということで。
タイトルと成績発表のシーンのBGMはループできるように作りました。長さも短めになっています。
(余談ですが、ループ曲の長さが短すぎると飽きやすくなりがちです。例外もありますが......「くまのプーさんのホームランダービー」のタイトルBGMとか飽きより恐怖感が先に来ますよね)
この流れに沿って作ったものが「title.mp3」「class.mp3」「test.mp3」「result.mp3」になります。
「test.mp3」を本番で使うの勇気いりますよね。いりませんか?いります。
というわけでSEと同じように実装して、あとは音量スライダーを実装すれば完成ですね。
プログラミング(4/7)
と思ってたんですが、Twitter共有機能を忘れていました。
どうやらunityroom公式が共有機能を追加できるパッケージを用意しているようなのでこれを使ってみます。
ついでにFPSを固定にしたり選択肢のキーボード操作もできるようにしたりしてからビルドします。
テストプレイ&修正(4/7~10)
55代の有志にゲームを投げてテストプレイしてもらいました。
フィードバックをもとに修正をしていきます。
- 教授が動くともっといいかもしれない
- 教授を動かすなら画面下部に教授の位置を示す印があるといい
- Padだと点数とりやすいかも
- 「知」でゲシュタルト崩壊を起こした
- ……
以下、テストプレイと修正を繰り返します。
完成!
完成したものがこちらになります。
サクっと遊べるのでぜひやってみてください。
(画面サイズの都合で見切れちゃうって方はCtrl + -キーなどで縮小表示にしてください)
おわりに
丸4日あれば簡単なゲームが作れるのでみなさんもやってみてください。
不定期でUnity1週間ゲームジャム(unity1week)というイベントが行われているので、参加してみてもいいかもしれません。
また、MIS.Wでも3日間でゲームを作るゲームジャムが行われる予定なのでぜひ参加しましょう!
以上、お送りしたのは55代のすいでした~
明日はさらちよちゃんの記事になります!
楽しみ~!!