新しいアプリ「うちのピンボール」を作っています。昔のWindowsに入っていた「3Dピンボール」をイメージした、宇宙テーマのピンボールゲームです。

本家は3Dではなかった

作りはじめて知ったのですが、本家のWindows版「3Dピンボール」は、3Dで事前にレンダリングした絵を2Dで表示していたもので、リアルタイム3Dではありませんでした。

本アプリはSwiftUIとSceneKitで、実際に3D空間として作っています。そのため本家と違う点がいくつかあります。

  • ボールは金属マテリアルの球体で、周囲を映り込ませながら転がります
  • 台は実機と同じ約6.5度傾いていて、重力でボールが手前に落ちてきます
  • 壁・バンパー・フリッパー・キャビネットはすべて立体です
  • 光源による影が落ちます

操作はシンプルに

画面を左右半分に分けて、タップした側のフリッパーが動きます。発射前は画面の右半分を長押しでチャージし、離すとボールが出ます。ボールは3個で、全部落とすとゲームオーバーです。

発射直後にはスキルショットがあり、チャージ量に応じて2,500〜12,500点が入ります。最初の1発から意味があるようにしました。

中核はミッション

盤面を撃つだけで終わらないよう、ミッションを中心に据えました。

  1. 上部レーンを通過するとミッション候補が決まります(通るたびに切り替わります)
  2. 候補がある状態で中央のデプロイホールにボールを入れるとミッション開始
  3. 制限時間内に目標を達成すると20,000点+倍率アップ+バンパー昇格

ミッションは全18種で、ランクが上がるほど難しい候補が出ます。2つ達成するごとにカデットから艦隊提督へ昇進し、ボーナスが入ります。

もうひとつの看板ギミックがハイパースペースです。報酬は5,000→10,000→25,000→エクストラボールと段階的に上がります。

運だけで終わらせない

重力の井戸、回転ローター、ムービングターゲット、ミニバンパーなど、玉の動きを読みにくくする仕掛けを置いています。一方で、左アウトレーンに落ちたボールを打ち返すキックバックや、壁沿いのボールを内側へ弾き返すディフレクターも入れました。

理不尽に落ちるだけでは面白くないので、救済と難しさを両方置くのが設計の方針です。

これから

開発の進捗はこのブログとアプリページでお知らせします。

アプリの詳細は「うちのピンボール」アプリページにまとめています。