1作目 「カタコロ-傾けて転がすパズルアクション」ios
目的
じぶんが初めて作ったゲーム「カタコロ-傾けて転がすパズルアクション」がどんなゲームなのか、どんなふうに作ったのか、どんなことを学んだのかをまとめたいと思います(作ってから数ヶ月たっているので結構うろ覚えですが)
カタコロはappstoreで配信中です。遊んでいただけたら嬉しいです
https://apps.apple.com/us/app/カタコロ-傾けて転がすパズルアクション/id1537733075
目次
- どんなゲームか
ジャイロ操作の玉転がしゲームです(正しくは加速度)
スマホを傾けた方向に玉が転がり、その玉をステージに点在する星にぶつけて星を集め、全ての星を集めたらステージクリアになります
ステージは全部で20個あり、5ステージ毎に難易度が上昇していきます
玉が白い床にぶつかると0.7秒後に床が落下します。玉も一緒に落ちてしまうとゲームオーバーになります
最初の方のステージでは適当に進んでも問題ありませんが、後の方のステージでは進むルートをきちんと決めて進まないとクリアできません
こんな感じのゲームです(ステージ13はきれいに作れていてかなりお気に入りです)
後半は鬼畜すぎて最後までクリアしたって人は今の所聞いたことがありません
そもそも中盤で詰まってしまうみたい
レベルデザインをもっとうまくなりたいです
- カタコロはどんなふうに作ったのか
unityを始めた時に最初にやったのが玉転がしゲームのチュートリアルでした。unity の基本的な操作やゲームの作り方が分かりやすく説明されていて、とても面白いチュートリアルでした。
それで、玉転がしゲームなら簡単にオリジナルのゲームが作れそうだと思って「カタコロ」を作りました
スマホで作ろうと決めていたので、ゲームの操作方法はジャイロにしようとすぐに決めた覚えがあります。自分がスマホのゲームで十字キー入力操作だとうまく操作できないことがよくあり、あまり好きではなかったためです(app storeで玉転がしゲームを検索していくつかプレイして、ジャイロ操作のゲームが直感的で分かりやすかった)
最初は「モンキーボール」みたいな地形を動かすゲームにしようとしていたのですが、スマホのジャイロの精度の問題で上手くいかなかったので玉自身を操作するように変更しました
ゲーム内部
このゲームは3dゲームで真上から真下にカメラを向けています
青い板のオブジェクトに触れたオブジェクトは消滅するようになっています
星を全て取ったらゲームクリアのUIを出るようにしたり、プレイヤーである「玉」が消滅したらゲームオーバーのUIが出るようにしたりといった作業はゲームを作ってる感じがして楽しかったです
ゲームのシステムを考えたり、それを実装したりといった作業はとても面白かったのですが、ステージを作る作業はとても辛かった覚えがあります。20ステージ考えるだけでもかなり大変でした。
しかし、こういうステージは面白いか、この地形は面白そうだ、プレイヤーはこういうルートで動くだろうからここはこうしよう、みたいな感じで考えてステージを作るのは面白かったです
- かたころを作って学んだこと(というかやったこと)
自分が学んだことをメモ程度に
GetComponentとかTagを使うとかCollider関係とかInvokeとか
PlayerはInput.acceleration.xをvelocityに入れて操作していました(数ヶ月も使ってないと完全に忘れますね)
まとめると基本的なことはだいたいって感じ
こういうふうに書いた方がいいかも
タイトル画面
ステージ選択ボタン20こ、オプション(BGM、SEのON,OFF)、UIの表示、非表示(SetActiveによる閉じるボタン)
ステージ
ゲームのクリア条件、ゲームオーバー条件の実装、はじめるボタンを押すまではplayerのrigidbodyをfreezeall、画面をタッチするとリスタートボタン、タイトルボタンを数秒表示、ステージ作り(自分の作りたいようにやっているので全体的な難易度はむずかしめ)
なんかあまりうまく学んだことを書けませんでした(検索したらすぐ出てくるようなことを駆使して作ってるのでまあいいか)
2作目のゲームについて書くときは新しく学んだことだけを書けばいいから簡単になるはず
しかし、playerである玉の操作のプログラミングではすごい色々悩んで苦労した覚えがあるのに、見返してみたら数行のプログラムになっていて驚きました(最終的に選んだ方法が一番簡単で分かりやすいものなったみたいです、途中までは色々計算してなんやかんやする方法でやっていました)
- 工夫したところ(といか気に入っているところ)
①
ステージではスマホを傾けて玉を転がすのですが、画面に指で触れると右下の画像のようにタイトルボタンとやりなおすボタンが表示されるようになっています
この機能は普通ならポーズ画面かなんか作ってそこに表示する内容ですが、プレイしている人にプレイ中にじっくり考える暇を与えたくないという私の意地悪な気持ちと画面に邪魔なUIを表示したくないという二つの希望を満たせる良い機能を作れたと思っています
もちろん最初は下の画像のようになっていて、はじめるボタンを押すまではゲームが開始されないのでその間にどのようなルートで進むかを考えることができます
②
あとはタイトル画面で玉を操作するできるようにしたところが気に入っています
タイトル画面ではゲームオーバーにはならないので好きなだけ玉の操作ができます
このゲームにチュートリアルはないので、ここで玉の操作の性質を深く知ることができると思います(例えば、スマホを傾ける角度を急にすると玉の移動速だが上昇するとか)
③
下の画像に注目していただけると灰色のオブジェクトがあるのが分かると思います、これは壁です。玉の進行を防ぐものですね。
それで下の画像の赤い円のように壁同士を設置して玉が引っかかりやすいようにしています。これに引っかかって手間取ると落っこちてしまいゲームオーバーになります
こういうのが好きです
カタコロについては以上です
カタコロはappstoreで配信中です。よかったら遊んでみてください
https://apps.apple.com/us/app/カタコロ-傾けて転がすパズルアクション/id1537733075