Unityで無限ランナーを作る:第1回 企画編
約10年ぶりにQiitaで記事投稿を再開します。
本業や育児の合間に少しずつ進めている Unity の個人開発をアウトプットしながら進めていこうと思い、その第1回として「今回開発するゲームの内容」を簡単にまとめます。
■ 作ろうとしているゲーム:シンプルなランナーゲーム
今回開発するのは、いわゆる ランナーゲーム(無限ラン系) です。
- プレイヤーが自動で走り続ける
- 進行方向に床タイルが生成されていく
- 障害物を避けながら走行距離を伸ばす
- 徐々にスピードが上がり、難易度も上昇
といった、とてもシンプルなゲーム性を想定しています。
世界観や演出は後回しにして、まずは「走って避ける」というコア部分に集中する予定です。
■ なぜこのゲームを題材にしたのか
正直に言うと、最初から高度な技術的狙いがあったわけではありません。
本業もあり、育児もあり、個人開発に割ける時間は限られています。
そのため、複雑な設計や重いグラフィックを必要とするゲームだと途中で力尽きてしまう可能性が高いと判断しました。
そこで、
- 小規模でも成立する
- 仕様変更が容易
- 少しずつ開発しても進捗が分かりやすい
- Unityの機能を自然に触れる
という理由から、今回はランナーゲームを選びました。
■ 開発しながら技術的な学びが出てきたら記事化します
初期段階では技術的なテーマを決めていませんが、開発を進めるにつれて自然と以下のような課題が出てくるはずです。
- 床タイル生成をどう最適化するか
- オブジェクトプールをどう設計するか
- カメラ制御(Cinemachine)はどう調整するか
- Unity 6000.x(6系)で気づいた点
- そもそもゲーム全体の構造をどう組むか
こうした “途中の試行錯誤” を気楽に記録していきます。
Qiitaは完成形の技術だけでなく、途中でつまずいた点の共有にも価値があると考えているため、小さな気づきでも書いていこうと思います。
■ 今後の更新について
個人開発なので更新ペースはゆるめですが、
- Unity 6系の挙動
- タイル生成やオブジェクトプールの話
- カメラ制御やステージ設計
- 個人開発での意思決定ログ
など、実務にも応用できる範囲で書いていく予定です。
気軽にコメントやアドバイスをいただけると嬉しいです。
まずは企画説明ということで、次回以降は実際の実装やハマりポイントについて書いていきます。
■ 当方のスキルセットについて
普段は業務で iOS や基盤まわりの開発を担当しており、オブジェクト指向に沿った設計、実装、テスト、CI、Git運用などが得意分野です。
一方で、UIデザインやビジュアル面の制作は専門外です。
そのため、本連載では主に技術的な話題や実装まわりの内容が中心となります。
見た目のクオリティよりも「最小限の外観でまず動かす」方針で進めていますので、その点はあらかじめご承知おきください。
最後まで読んでいただきありがとうございました。
次回もゆるく更新していきますので、よければフォローいただけると励みになります。