この記事が良かったら
y hirock (ひろっきー) さんへの応援になります

将棋から野球まで 25 本を 1 本のアプリに。全ゲームで使い回す共通部品の設計と、画像生成 AI から生まれた「おじさん」シリーズの作り方。
この記事が良かったら
y hirock (ひろっきー) さんへの応援になります
「あそびば」は、将棋・囲碁・チェス・麻雀・花札・トランプ・パズルなど 25 本のゲームを 1 本にまとめた iPhone アプリです。定番のゲームに加えて、ママチャリで走る、ホームランを打つ、荷物を積むといった「おじさん」が主役のオリジナルゲームも入っています。
この記事では、たくさんのゲームを 1 本のアプリに無理なく詰め込むための設計と、オリジナルの「おじさん」シリーズをどうやって作ったかを紹介します。
ゲームごとに別々のアプリを作る方法もありますが、個人の運営で何本ものアプリを管理するのは現実的ではありません。そこで「1 本のアプリに、いつもの遊びを幅広く」という形を選びました。
アプリ全体には、最初から変えない方針が 3 つあります。
細かいところでは、「ヒントあと 3 回」のような回数の表示に、広告で増やせる分を混ぜないルールもあります。数字はいま使える回数だけ。0 になったときに初めて「広告を見て追加できます」と案内します。数字を見ただけで、広告を見ないと使えない回数がいくつあるのか分からない、という状態を作らないためです。
25 本を 1 本ずつ手作りしていたら、とても手が回りません。そこで、どのゲームにも必要な機能は「共通部品」として 1 つだけ作り、各ゲームはそれを使う形にしています。新しいゲームを足すときも、ゲームの一覧に登録すれば、ホーム画面・記録・設定にそのまま並びます。
途中でアプリを閉じても、次に開いたときに同じ場面から再開できます。ホーム画面では途中のゲームに「続きから」の印が付くので、どれを途中でやめたか一目で分かります。
### きろく
全ゲームの自己ベスト・勝敗・連勝を 1 画面で見られます。「何種類遊んだか」もここで分かり、次の版からは「何日続けて遊んでいるか」も加わります。
### 遊び方の図入りカード
各ゲームの「?」ボタンから、ルールを 3 行のまとめと図で確認できます。始める前の設定画面に、そのまま遊び方を並べているゲームもあります。文章だけより、図があったほうが一目で伝わるからです。
### CPU の強さ
将棋・チェスなど CPU と戦う盤のゲームでは、「入門」から段階を選べます。選ぶ部品は全ゲームで同じ見た目・同じ並びです。強さの決め方にもこだわりがあり、CPU 同士を何百局も対局させて、一つ上の段がすぐ下の段に 6〜7 割くらい勝つことを目安に測り、調整しています。上の段が強すぎると、一段上げたとたんに歯が立たなくなるからです。
### 1 局のルールは、始めた時点で固定
追加ルールを選べるゲームでは、選んだルールを対局の開始時に固定します。対局の途中で設定を変えても、その対局のルールは変わりません。前半と後半で違うルールが混ざって記録がおかしくなるのを防ぐためです。
ゲームの名前には、他社の商標になっているものがあります。過去には、ある定番ゲームの名前が海外で商標だったためにストアの審査で 2 回差し戻されたり、公開直前に名前を変えたりしたことがありました。
それ以来、新しいゲームを作る前に、必ず名前を調べるルールにしています。商標が見つかったら、業界で広く使われている一般的な呼び方に言い換えます。オリジナルゲームの名前も、同じように調べてから決めています。
英語への対応を、次の版で入れる予定です(まだ公開していません)。設定で言語を選ぶと、アプリを再起動しなくてもその場で切り替わる作りにしています。
文章を 1 つずつ手で探していては、必ず訳し漏れが出ます。そこで、訳がない文章や、日本語が残ったままの文章を自動テストで見つける仕組みを入れました。英語は日本語より横に長くなりやすいので、画面の小さい iPhone で文字がはみ出さないかも確かめています。
定番ゲームに加えて、あそびばにしかない遊びも作りたい。そこで生まれたのが、ちょっと哀愁のあるおじさんを主人公にしたシリーズです。顔や人物像の設定は 1 か所にまとめ、どのゲームのおじさんも同じ人物に見えるようにしています。
ママチャリで走り、ジャンプで障害物を越える横スクロールのゲームです。商店街の福引きで当たった宝くじが風に飛ばされ、おじさんがそれを追いかけて、下町・川沿い・繁華街・里山・港町・古都・温泉街と旅をします。ステージは全部で 42 面。なぜママチャリで海を渡れるのかは、あえて説明しません(そこが笑いどころです)。
絵はすべて昔のゲーム機のようなドット絵です。1 文字を 1 ドットとして、文字の並びで絵を書く形にしているので、おじさんの顔や背景を全ゲームで共通に使い回せます。世界が変わると障害物の絵も変わり、里山では切り株やわら、港町ではドラム缶や木箱、温泉街ではサルや湯桶が出てきます。
### 柵越えおじさん
おじさんがホームランの飛距離を競う打撃ゲームで、アプリで初めての 3D のゲームです。
操作は指 1 本。画面を押したまま狙いをずらし、指を離した瞬間にバットを振ります。1 回の挑戦は 10 球で、配球は毎日同じ。だから同じ条件で、ほかの人と本数を競えます。
キャラクターは次の順番で作りました。
ここにたどり着くまでに、画面の試作を 4 回作り直しました。最初はドット絵、次に滑らかな塗りの絵と比べ、最終的に 3D に決めています。空振りするとくるっと回って倒れ、目を回す演出もあります。
上から落ちてくる荷物を積んで片付ける、落ちものパズルです。荷物は座布団・スイカ・クーラーボックス・灯油のポリタンク・ビールケースの 5 種類で、それぞれ重さが違います。重い荷物を積むほど「腰痛ゲージ」がたまり、満タンになると……入院で負けです。
荷物の絵は、画像生成 AI に描かせた絵を、プログラムで自動的にドット絵に変換して作りました。変換を AI 任せにしないのには理由があります。おじさんの絵で試したとき、AI に「ドット絵に縮小して」と頼むと「減色しました」と報告が来たのに、開いてみると数百色のまま、ということがあったのです。それ以来、AI の完了報告は信じず、色数を数えて確かめるのが決まりです。
生成 AI で作った絵や 3D モデルは、どのサービスで、どの契約プランで作ったのか、商用で使ってよいのかを確かめ、文書に残しています。ゲームを長く配信し続けるために、見た目と同じくらい大事にしている部分です。
25 本のゲームとおじさんたちが入った「あそびば」は、無料・登録なし(一部の機能は Game Center が必要)・オフラインで遊べます。すき間時間の一局から、おじさんとのホームラン勝負まで、App Store で「あそびば」を探して気軽に遊んでみてください。
App Store:あそびば:麻雀 ポーカー ナンプレ 囲碁 トランプ ゲーム