絶対に完成させるゲーム制作|毎回エンディングまで遊べる形で、星あつめゲームをUnityで作る全10回

タイトルでEnterを押すと、暗くなってからステージ1が明るくなる。「ステージ 1」が出て、星を3つ集めて扉に入ると、白く光って暗くなり、ステージ2が明るくなる。ステージ2・3も同じようにつながり、エンディングでタイム41.9が数え上がって「しんきろく!」と紙ふぶき。Enterで「タイトルへ」を押すと、暗くなってからタイトルが明るくなる。右下に押したキーが出る

ゲームを作り始めたのに、気づいたら途中で止まっている・・・。初めてのゲーム作りでは、そんなことがよくあります。原因の多くは、「遊べるところ」ばかり作って、いつまでもゲームとして終わらないこと。そこでこのシリーズでは、ちょっと変わった進め方をします。第1回で作るのは、タイトルとエンディングだけ。「はじめる」を押したら、すぐエンディングです。それでも、これは立派に完成したゲームです!そこから1回ずつ中身をはさんでいき、毎回エンディングまで遊べる状態のまま、最後はWebで公開して友達に遊んでもらうところまで、一緒に作っていきたいと思います!

どんな進め方なの?

上の段は、よくある作り方。動かす → 敵 → アイテム → ステージと続き、タイトル・エンディングはまだ無くて遊べない。下の段は、このシリーズ。#1はタイトル→エンディング、#2はステージをはさみ、#4は星を足して、どれもエンディングまでつながって「完成!」
  • 毎回、タイトル →(ゲーム)→ エンディング → タイトルが通しで遊べるところで終わる
  • 毎回の最後にビルドして、Windowsのゲーム(.exe)で遊ぶ
  • どの回で手を止めても、手元には完成したゲームが1本ある
  • 作る順番は「始まりと終わり → 遊びの中心 → 中身を増やす → 演出で仕上げる → 公開する」

慣れた人は、毎回エンディングまで作り直したりはしません。でも、「ゲームを完成させる」感覚をつかむには、これが一番の近道だと思います。

スライム

はじめたら、すぐ終わるゲーム・・・?それって、ゲームなんですか?

フェアリー

始まって、終わって、また最初に戻れる。それだけで、もう「完成」なの!あとは中身をはさんでいくだけだから、途中で止まらなくなるよ

どんなゲームを作るの?

迷路のまん中の通路で、スライムちゃんが行ったり来たりするおばけにぶつかる。画面が白く光ってゆれ、スライムちゃんが痛がって止まり、白から暗くなって、ステージの最初の位置からやり直しになる

ゲームの名前は「星ふる夜の庭」。夜空から庭に落ちてきた星を、スライムちゃんが集めて、扉からおうちに帰るゲームです。

  • 上下左右に動かすだけの、見下ろし型のゲーム(ジャンプや重力は無し)
  • 星を全部集めると、扉が開く。扉に入ればクリア
  • おばけに当たるとミス。ハートが3つなくなるとゲームオーバー
  • ステージは3つ(星は3つ・5つ・7つ、おばけは1体・2体・3体)
  • エンディングでは、タイムといちばん速い記録が出る
  • 星を取るとキラキラ、ぶつかるとぽよん、当たると画面が揺れる。動かすたびに手応えが返ってくるところまで作る
  • キーボード・ゲームパッドで遊べる(ボタンはマウスでも押せる)

このシリーズの対象

夜の庭の背景に「星ふる夜の庭」の文字がふわふわ上下に動き、その下でスライムちゃんがその場で弾んでいる。いちばん下に「はじめる」のボタン
  • Unityを入れたばかりの人(Unityスタートガイドと並行して読めます)
  • チュートリアルをやってみたけれど、自分のゲームを最後まで作れたことがない人
  • ゲーム作りを、途中で止めてしまいがちな人

手順はその場で説明しているので、スタートガイドを読んでいなくても進められます。くわしく知りたいところは、スタートガイドの記事へのリンクから読んでみてください。

プロジェクトの環境

File>Build Profilesのウインド。左でWindowsが選ばれていてActive、右下にBuildのボタン
  • Unityのバージョン:Unity 6.3 LTS
  • テンプレート:Universal 2D(URP)
  • 画面:横画面(1920×1080)
  • 入力:キーボード・ゲームパッド(Input System)
  • ビルド:#1〜#9はWindows(.exe)、#10でWeb(unityroomで公開)

このシリーズで学べること

エンディングの画面。左の「タイム」の数字が0から16.3まで数え上がり、その下に「ベスト 16.3」が出る。右から「しんきろく!」の文字が落ちてきて、上から紙ふぶきが降ってくる

スタートガイドの知識をゲームで使う

このシリーズで新しく覚えること

  • 完成させてから足す作り方:始まりと終わりを先に作り、毎回エンディングまで遊べる形を保つ
  • シーンをまたいで数を残す:ライフやタイムを、staticの小さなクラスで次のシーンへ渡す
  • 手応えの演出:つぶれる・白く光る・画面が揺れる・ハートが割れる・文字が落ちてくる・数字が数え上がる
  • ステージを増やす:シーンを複製して作り替え、扉の行き先でつなぐ
  • 画面の切り替えを仕上げる:暗くしてから切り替え、新しいシーンで明るくする
  • 公開して直す:unityroomに上げて遊んでもらい、感想から直す順番を決める

目次

#1から#10までの「今回作るもの」の流れの図を、2列5段に並べたもの。#1はタイトルとエンディングだけ、#2でステージが入り、#3〜#5でステージの中に壁・星・おばけが増え、#6でゲームオーバー、#7でエンディングに結果、#8でステージが3つ、#9で暗転とBGM、#10でWebにビルドしてunityroomで遊んでもらう

全10回は、作る順番で5つに分かれています。どの回も、最後は「完成チェック」で通して遊んで、ビルドして終わります。

回作る順番作るもの
#1始まりと終わりタイトルとエンディング、最初のビルド
#2〜#5遊びの中心ステージと扉、壁、星、おばけ
#6〜#8中身を増やすライフとゲームオーバー、タイムとベスト、ステージを3つに
#9演出で仕上げる効果音とBGM、画面の切り替え
#10公開するWebのビルド、unityroom、遊んでもらったら

#1 タイトルとエンディングだけで、ゲームを完成させよう

タイトル画面。夜空と三日月、遠くの丘と生け垣(おうちは見えない)、まん中に黄色い「星ふる夜の庭」、その下にスライムちゃん、いちばん下に「はじめる」のボタン
  • プロジェクトを作り、素材のzipと日本語のフォントを取り込む
  • タイトルとエンディングの2つのシーン。タイトルの文字がふわふわ動く
  • 「はじめる」を押したら、すぐエンディング。最初のビルド

#2 ステージをはさもう:扉に入ったらエンディング

扉に入る瞬間を3コマ並べたもの。スライムちゃんが扉に重なる → 画面が白く光る → 暗くなる
  • ステージのシーンを足して、スライムちゃんを上下左右に動かす
  • 扉に入ったら、キラッと光ってエンディングへ

#3 壁を置いて、歩くすがたを付けよう

下の壁にぶつかる瞬間を3コマ並べたもの。スライムちゃんが下の生け垣に向かって歩く → 横に広がってぺちゃんとつぶれる → 元の形に戻る
  • 生け垣の壁をプレハブにして、迷路を作る
  • 向きで歩く絵を替える。壁にぶつかると、ぽよんとつぶれる

#4 星を集めたら、扉が開く

星を取る瞬間を3コマ並べたもの。スライムちゃんが星に近づく → 星が消えて、キラキラの粒と「+1」が出る → 粒が広がり、「+1」が上に浮かんで薄くなる
  • 星を置いて、残りの数を表示する
  • 全部集めたら扉が開く。取ったらキラキラと「+1」

#5 おばけをよけよう

おばけに当たる瞬間を3コマ並べたもの。スライムちゃんがおばけに重なる → 画面が白く光ってゆれる → 痛がる絵になって止まる
  • 行ったり来たりするおばけ
  • 当たったら白く光って画面が揺れ、ステージの最初からやり直し

#6 ライフとゲームオーバー

ゲームオーバーの画面を3コマ並べたもの。最初は文字がない → 「ゲームオーバー」が上から落ちてくる → 置いた位置で小さくはねて止まる
  • ハート3つ。当たるたびに割れる(残りの数はシーンをまたいで残す)
  • ハートがなくなったら、ゲームオーバーのシーンへ。文字が上から落ちてくる

#7 タイムを計って、エンディングで結果を出そう

ステージの上のまん中を切り抜いたもの。「タイム 0.2」から「タイム 5.2」まで、数字が増えていく
  • ステージのタイムを計って、扉に入ったら止める
  • エンディングでタイムを数え上げ、いちばん速い記録を保存。新記録で「しんきろく!」と紙ふぶき

#8 ステージを3つにしよう

ステージ1でスライムちゃんが開いた扉に入ると、白から暗くなってステージ2へ。画面のまん中に「ステージ 2」の文字が大きく出て、縮みながらはっきりし、少しして上に動きながら消える。上のタイムは止まらずに続いている
  • ステージの名前が出て、上に消える
  • ステージを複製して作り替え、扉の行き先を次のステージに

#9 音と画面の切り替えで仕上げよう

タイトルからステージ1に切り替わるところを5コマ並べたもの。「タイトル」「だんだん暗く」「まっ暗で切り替え」「だんだん明るく」「ステージ1」。下に、前半の3コマに「FadeAndLoad(ボタン)」、後半に「Start(新しいシーン)」の線
  • 星・扉・当たったとき・ボタンの効果音と、シーンごとのBGM
  • どの画面の切り替えも、暗くしてから切り替えて、明るくする

#10 Webで公開して、遊んでもらおう

感想をもらったときに直す順番の図。上から「1 止まる・進めなくなる(扉が開かない、ボタンが押せない など)」「2 わからない(何をすればいいか、どのキーで動くか)」「3 むずかしすぎる・やさしすぎる(おばけの速さ、星の場所、ライフの数)」「4 こんなのがほしい(新しいステージや仕かけ。いちばん最後)」の4つの箱が矢印でつながり、1だけ色が付いている
  • Webにビルドして、自分のパソコンのブラウザで遊ぶ
  • unityroomに上げて、URLを送って遊んでもらう
  • 感想をもらったら、直す順番を決める

準備するもの

ProjectウインドのCompleteGame>Sprites>Backgroundsに、bg_home・bg_lawn・bg_night_gardenが並ぶ。左のツリーにはBackgrounds・Characters・Effects・Enemies・Items・UI
  • Unity 6.3 LTS がインストールされたPC(1-1 Unityのインストール)
  • コードエディタ:VS Code(1-3 VS Codeの導入)
  • シリーズで使う素材:CompleteGameAssets.zip(約17MB)
    • スライムちゃん・背景・星・おばけ・扉・壁・ハート・キラキラと紙ふぶきの粒・効果音とBGM・日本語フォント(Noto Sans JP)が入っています
    • 自由に使ってOKです(クレジット不要。作ったゲームの公開・販売にも使えます)。素材そのものの再配布はご遠慮ください

素材の入れ方

zipの中のCompleteGameAssets.unitypackageをダブルクリックしたときに出る「Import Unity Package」のウインド。CompleteGameの下にAudio・Fonts・Spritesのフォルダが並び、すべてのファイルにチェックと「New」の印が付いている。右下のImportのボタンを赤枠で囲む

入れ方は2つあります。どちらでも、プロジェクトのAssets/CompleteGameにSprites・Fonts・Audioの3つのフォルダが入ります。

unitypackageから入れる(オススメ)
  1. Unityでプロジェクトを開いておく
  2. zipを展開して、中のCompleteGameAssets.unitypackageをダブルクリック(またはAssets>Import Package>Custom Package…で選ぶ)
  3. 「Import Unity Package」のウインドが出たら、全部にチェックが入ったままImportを押す

unitypackageには、Unityの取り込み設定も入っています。

  • 絵:Texture TypeがSprite (2D and UI)、Sprite ModeがSingle、Pixels Per Unitが100
  • 生け垣の壁(hedge):Mesh TypeがFull Rect(#3でDraw ModeをTiledにして並べるため)

そのため、#1の「絵の設定」と#3のMesh Typeの手順は、確かめるだけでOKです。Universal 2Dのプロジェクトでも、Sprite ModeがMultipleになりません。

同じ名前のファイルがすでにあると、上書きするかどうかを聞かれます。絵を自分のものに差し替えたあとは、上書きしないように気をつけてください。

もう1つは、zipの中のCompleteGameフォルダを、UnityのProjectウインドのAssetsにドラッグ&ドロップする方法です。この場合は取り込み設定が入らないので、次の2つを自分で設定してください。

  • Spritesの中の絵を全部選んで、Texture TypeをSprite (2D and UI)、Sprite ModeをSingleにしてApply(#1)
  • hedgeのMesh TypeをFull RectにしてApply(#3)

作り終えたら

ブラウザで開いたWebのビルドのページ。まん中にゲームの画面があり、夜の庭に「星ふる夜の庭」の文字と、弾むスライムちゃん、「はじめる」のボタン。下にUnityのロゴと「星ふる夜の庭」、右下に全画面のボタン

10回作り終えると、ブラウザで遊べる「星ふる夜の庭」が手元に残ります。ステージを増やしたり、おばけの動きを変えたりして、自分のゲームに育ててみてください。次のゲームを作るときも、まずは「タイトルとエンディング」から始めてみるのがおすすめです。

スライム

次のゲームも、最初はタイトルとエンディングだけ、ですね!

ほかのシリーズ