1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】SwiftUIで地層掘削ゲーム「FactDigger」を作った話|10m単位の地形設計と通勤向けUX

1
Posted at

iPhone向けのレトロな地層掘削ゲーム「FactDigger」を開発し、App Storeで公開しました。

今回の記事では、単なるアプリ紹介ではなく、ゲームルールの設計、地形の扱い、移動制約、短時間プレイを想定したUX設計について紹介します。

FactDiggerは、地上0mから地層を1マスずつ掘り進み、地球の深部を目指すゲームです。

ゲームの特徴は以下のとおりです。

  • 1マス=10mというシンプルな座標設計
  • 地形は座標によって決まり、途中で変化しない
  • 10mのはしごを利用した帰路の確保
  • 水脈に遭遇した場合のみ4秒間の制限時間
  • 音声・BGM・振動を使わないサイレント設計
  • 自動保存と中断・再開への対応
  • 端末ごとの自己ベストを管理するオンラインランキング

FactDigger - App Store

1. 開発コンセプト:通勤中でも遊べるゲーム

今回の開発で重視したのは、短時間でも遊べて、いつでも中断できることです。

スマートフォン向けのゲームでは、リアルタイムで敵が動いたり、制限時間があったりするものも多くあります。

しかし、電車の移動中や仕事の休憩時間では、突然操作を中断しなければならない場面があります。

そこでFactDiggerでは、次の方針を採用しました。

設計項目 採用した仕様
基本操作 方向ボタンによる移動・掘削
通常時の時間制限 なし
敵キャラクター なし
音声・BGM なし
振動 なし
進行状況 自動保存
再開 続きからプレイ可能
緊急イベント 水脈遭遇時のみ4秒

常に画面を見続ける必要がないため、プレイヤーは自分のタイミングで次の操作を選択できます。

ゲーム性を維持しながら、日常生活の隙間時間に適した操作体験を目指しました。

2. 1マス10mの地形・座標設計

FactDiggerでは、ゲーム内の1マスを実際の深さ10mとして扱っています。

例えば、地表を0mとすると、下方向へ進むたびに深さが増えていきます。

地表       0m
           |
1マス目   10m
           |
2マス目   20m
           |
3マス目   30m
           |
          ...

このルールにより、ゲーム内の深さをマス単位で扱えます。

深さは以下の式で表現できます。

深さ(m) = 縦方向のマス数 × 10

座標に対応する地形

ゲーム内には複数の地形・オブジェクトが存在します。

地形 ゲーム上の役割
通常の土 掘削可能
埋設ゴミ 通行不可
硬い岩盤 通行不可
水脈 4秒間の脱出イベント
マグマ 即ゲームオーバー
遺物 掘削中に発見する要素

重要なのは、同じ座標の地形がプレイ中に変化しないことです。

一度確認した障害物が、別の地形に突然変わることはありません。

そのため、プレイヤーは過去に確認した地形を参考にしながら、次の掘削方向を考えることができます。

地形の固定がゲーム性に与える影響

地形が固定されていると、プレイヤーの選択によって探索可能なルートが変化します。

例えば、下方向が岩盤で塞がれている場合、左右へ迂回する必要があります。

しかし、迂回先にも障害物が存在すると、進めなくなる可能性があります。

このような手詰まりも、ゲームの一部として扱っています。

単純な掘削ゲームですが、地形の配置と移動制約を組み合わせることで、ルート選択の要素を持たせています。

3. 10mのはしごによる移動制約

FactDiggerのゲーム設計で特徴的なのが、はしごの仕組みです。

下方向へ掘ると、10mのはしごが設置されます。

ただし、はしごの長さは10mしかありません。

そのため、下へ掘り続ければ必ず地上へ戻れる、というわけではありません。

階段状に掘る場合

横方向への移動を組み合わせながら階段状に掘ると、それぞれのはしごを利用して戻ることができます。

地上  ──────┐
            │
            └────┐
                 │
                 └────┐
                      │
                      ▼
                    深部

一方、同じ列を連続して20m掘ると、10mのはしごでは上側まで届かなくなります。

つまり、深く進むことだけを考えていると、帰路を失う可能性があります。

移動制約による戦略性

プレイヤーは常に次の2つを考える必要があります。

  1. どの方向に掘れば、より深く進めるか
  2. そのルートから戻れるか

敵キャラクターや通常時の時間制限がなくても、地形と移動制約だけで判断を必要とするゲームを成立させることができます。

4. 水脈イベントだけに制限時間を設ける

通常の掘削では時間制限を設けていませんが、水脈を掘り当てた場合のみ例外です。

水脈に遭遇すると、4秒間の緊急イベントが発生します。

通常の掘削
    |
    v
水脈を発見
    |
    v
4秒間の脱出イベント
    |
    +-- 脱出成功 --> プレイ継続
    |
    +-- 脱出失敗 --> ゲームオーバー

上方向へ戻れる状態であれば、上ボタンを押して10mのはしごを設置し、一段上へ退避できます。

一方、マグマに遭遇した場合は、その場でゲームオーバーになります。

なぜ常時タイマーにしなかったのか

すべての操作に時間制限を設けると、短時間プレイや途中中断との相性が悪くなります。

そこで、通常時はプレイヤー自身のペースで進行し、特定のイベントにだけ時間制限を設ける構成にしました。

これにより、普段は落ち着いて探索できる一方、水脈発見時には緊張感が生まれます。

5. 地層の変化と地学情報の表示

FactDiggerでは、深さによって地層の表現が変化します。

代表的な到達地点は以下のとおりです。

到達深度 イベント
100m 地層変化・地学情報
1,000m 地層変化・地学情報
35,000m 地層変化・地学情報

単にスコアが増えるだけではなく、地球の内部へ進んでいることを視覚的に感じられるようにしています。

また、特定の深さに到達すると短い地学情報が表示されます。

ゲームの進行とともに、新しい地層や情報に出会える構成です。

6. 操作可能な方向をUIで表現する

ゲーム操作には、画面下部の方向ボタンを使用します。

移動可能な方向のボタンには色が付き、移動できない方向はグレー表示になります。

例えば、次のような状況です。

  • 盤面の端にいる場合、その外側への移動を無効化
  • 発見済みの障害物がある方向を無効化
  • はしごを利用できない場合、上方向を無効化

操作前に移動可能な方向が分かるため、無効な操作を繰り返す必要がありません。

ボタンの状態をゲームの状態と連動させる

この設計で重要なのは、ゲームの状態とUIの状態を一致させることです。

プレイヤーが移動できない方向は、ボタンの見た目からも判断できるようにしています。

片手操作を想定したゲームでは、操作のたびにエラーメッセージを出すよりも、ボタンの状態で操作可否を伝える方が自然です。

7. 中断・再開を前提とした状態管理

通勤中の利用を考えると、ゲームの中断と再開は重要な要素です。

FactDiggerでは、ゲームの進行状況を自動保存し、後から「つづきから」で再開できます。

これにより、例えば次のような場面にも対応できます。

ゲーム開始
    |
    v
地層を掘削
    |
    v
進行状況を自動保存
    |
    v
通勤途中で中断
    |
    v
アプリを再起動
    |
    v
保存された状態から再開

このようなゲームでは、プレイヤーの位置だけでなく、掘削済みの地形やゲームの進行状況などを整合性のある状態で扱うことが重要になります。

短時間プレイ向けのゲームだからこそ、中断してもそれまでの操作が無駄にならないことを重視しました。

8. オンラインランキングの設計

FactDiggerには、最高到達深度を競うオンラインランキングがあります。

ランキングの仕様は次のとおりです。

項目 仕様
ランキング件数 上位100件
記録単位 同一端末につき1件
更新条件 自己ベスト更新時
登録可能情報 名前・一言コメント
登録条件 上位100位以内
0mの記録 ランキング対象外

端末単位で記録を管理する理由

同じプレイヤーが何度も記録を登録できる仕組みでは、ランキングが一部のプレイヤーの記録で埋まってしまう可能性があります。

そこで、FactDiggerでは同じ端末につき1件の記録とし、自己ベストを更新した場合に以前の記録を上書きする仕様にしています。

この仕組みによって、ランキングに複数のプレイヤーが参加しやすくなることを目指しています。

また、ルートが塞がれて手詰まりになった場合でも、メニューからスコアを確定できます。

ゲームオーバーだけをランキング登録の契機にせず、プレイヤーが探索を終了するタイミングも選べるようにしました。

公開情報の取り扱い

ランキングに登録された名前とコメントは、他のユーザーにも公開されます。

そのため、個人情報や電話番号、メールアドレスなどを入力しないよう案内しています。

また、不適切な表現についても投稿ルールを設けています。

オンライン機能を持つゲームでは、スコア管理だけでなく、公開されるユーザー入力情報の扱いも考慮する必要があります。

9. ドット絵による視認性と世界観

FactDiggerでは、レトロゲーム風のドット絵を採用しました。

主人公は、青い作業ヘルメットと赤いネクタイが特徴のサラリーマン掘削ヒーローです。

地形や障害物も、それぞれ見分けやすいデザインにしています。

ドット絵は単なる見た目の演出だけではなく、狭いスマートフォン画面でゲームの状態を分かりやすく伝える役割もあります。

特に、岩盤・水脈・マグマのように異なる挙動を持つ地形については、視覚的に区別できることが重要です。

10. 開発を通して考えたこと

今回のFactDiggerでは、ゲームを複雑にするよりも、少ないルールを組み合わせて遊びを成立させることを意識しました。

特に重要だったのは次の3点です。

① 地形と移動制約だけでもゲーム性を作れる

敵や攻撃システムがなくても、障害物と10mのはしごによって、プレイヤーにルート選択を考えてもらうことができます。

② 時間制限を減らすことでプレイ環境を広げられる

通常時にタイマーを設けないことで、電車内や待ち時間などでも遊びやすくなります。

③ 中断・再開もゲーム体験の一部

自動保存は単なる補助機能ではなく、短時間プレイを前提としたゲームの重要な設計要素だと考えています。

まとめ

iPhone向け地層掘削ゲーム「FactDigger」を個人開発しました。

今回紹介した設計のポイントをまとめると、次のようになります。

  • 1マス10mの座標と深さのルール
  • 座標に紐づく固定地形
  • 10mのはしごによる移動制約
  • 水脈発見時だけ発生する時間制限
  • UIへの移動可能状態の反映
  • 自動保存による中断・再開
  • 端末単位のオンラインランキング

複雑な操作や常時進行するゲームシステムを使わずに、探索とルート選択を楽しめるゲームを目指しました。

個人開発でゲームを制作している方や、スマートフォン向けの短時間プレイを考えている方の参考になれば幸いです。

アプリ情報

項目 内容
アプリ名 FactDigger
対応端末 iPhone
対応OS iOS 17以降
対応言語 日本語・英語
ジャンル 地層掘削・探索ゲーム
1
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?