Symbols iOS:振り返り
昨年8月にレイトレーサーを完成させた後、新しいプロジェクトに取り組む準備が整いました。今回、私は友人や家族と簡単に共有できる何かを作りたいと強く思っていました。何をするかを数日考えた後、スマートフォンゲームを作ることにしました。長い間ゲームを作っていなかった(これを作り始めたのはLudum Dare 47のゲームを作る前です)ので、まだ必要なスキルが身についているかどうかを確認したかったのです。
ブレインストーミング
このプロジェクトに自己課題として設定した制約を満たすアイデアを考え出そうとしました:
4ヶ月以内に完成させること。 前のプロジェクトと同様、これも4ヶ月以上かけずに完成させるべきです。夜間や週末に数時間働いて、わずか4ヶ月でどのようなゲームを作ることができるのか、私には全く分かりませんでした。すぐに、そして簡単に実装できる必要があるということだけはわかっていました。
無料でダウンロードできること。 私がこのゲームを作るのは単に楽しみのためです。だから、それを収益化する計画はなく、ダウンロードは無料で、IAPs(アプリ内購入)もないということになります。
すべてを自分自身で行うこと。 これは、自分の能力と、オンラインで見つけられる無料のアセットだけを使って作業することを意味します。自分の知識とスキルの限界内で作業しようとすることには、確かに何かを言うべきです。たとえば、それは自分の創造性と独自性を育てる素晴らしい方法です。無限のリソースと可能性を持つと、選択肢が多すぎて、考えすぎや選択肢の麻痺の結果となります。逆に、制限を受け入れると、手元にあるものを最大限に活用する方法を学びます。それは聞こえるほど簡単ではありませんが、練習する価値のあるスキルであり、人生のあらゆる面で活用できます。
すぐに手に取って遊べる。 ゲームプレイは、プレイヤーが書かれたチュートリアルを読まなくても理解できるほどシンプルであるべきです。
これらすべてを考慮した結果、私が知っている最も簡単なゲームジャンルの1つ、パズルゲームに決定しました。少なくとも、最初はそう思っていました。なんて間違っていたことでしょう!実際に作ってみると、本当に面白く、遊びごたえのあるパズルゲームを作ることは、真の芸術作品です。
二つのアイデアから選ぶ
ブレインストーミングを約1週間行った後、落ち物パズルゲームと、ジャンプロープをテーマにしたハイパーカジュアルゲームという、二つの異なるかつ対照的なアイデアを思いつきました。どちらも紙の上では面白そうだったので、どちらを作るべきかを決定するための方法が必要でした。最終的に、各アイデアの強みと弱みを理解するために、意思決定行列を作成しました。
上の画像からわかるように、ハイパーカジュアルゲームのアイデアは、意思決定行列(非加重)でパズルゲームを7対4で上回りました。ハイパーカジュアルゲームは、作成の容易さ、実装、理解の容易さという点で明らかに勝者でした。その代償として、魅力的なグラフィカルスタイルを考え出して、ゲームを魅力的にする必要がありました。また、ゲームプレイがゲーム音楽とシナジーを生み出すようにしたかったのです。しかし、4ヶ月という短期間で全て(コード、グラフィック、音楽など)を自分一人で行うことが可能かどうかは確信が持てませんでした。この理由から、ハイパーカジュアルゲームのアイデアは棄却し、パズルゲームのアイデアを採用しました。
反復とプロトタイピング
どのゲームを作るか決めたので、アイデアをさらに進める時が来ました。
ゲームの最初の反復は非常にシンプルでした:
コードネーム:「カラーパズル」
クラシックな落ち物ブロックゲームプレイ、テトリス風。
各ブロックには異なる原色があります。
ブロックが他のブロックに触れると、それらの色が混ざり合います。例えば、青のブロックと黄色のブロックが触れると、それらは両方とも緑になります。
プレイヤーは、同じ色のブロックを一定数つなげることでブロックを消します。
残念ながら、このアイデアをプロトタイプ化したところ、タッチコントロールはこの種のゲームプレイに最適ではないことがわかりました。
プレイヤーの指が邪魔にならないように、どのようにゲームを設計すればよいのでしょうか?
すぐに二回目の反復に取り組みました:
コードネーム:「RGBパズル」
カラードット(古いCRTモニターの蛍光体に触発された)がハニカムパターンに配置されています。
ドットは3つずつグループ化されています。プレイヤーは、それを触れることでグループ全体を時計回りに回転させることができます。このアイデアは、プレイヤーに過度に精密な指の動きを強制するのを避ける必要性から生まれました。なぜなら、ドットのグループは、単一のドットよりも大きなタッチ可能面積を持っているからです。
同じ色の隣接するドットはつながります。
数秒ごとに、プレイフィールドの左から右へ移動するスキャンラインがすべての接続されたドットを消去します。
ゲームは、プレイヤーがスキャンラインが通過する前にできるだけ多くのドットをつなげることを試みることで構成されています。
プレイヤーが一回のスキャンラインの通過で消去するドットが多ければ多いほど、そのスコアは増えます。
消去されたドットは、プレイフィールド上でランダムに配置された他のドットで置き換えられます。
プレイヤーのスコアが上がるにつれて、スキャンラインは速くなり、ゲームはより挑戦的になります。
この反復はうまくいかなかった理由は、核となるメカニズム(ドットのグループを回転させること)が混乱を招き、単純に興味深くなかったからです。
というわけで、以下に示すのは、三回目で最後の反復になります:
「RGBパズル」に登場した同じドットですが、今回は行と列に整理されています。
プレイフィールドは6 x 6のグリッドで構成されています。さまざまなサイズをテストした結果、6 x 6より小さいと、小さい画面のデバイスでは小さすぎると結論付けました。
プレイヤーはドットを個別にスライドさせるのではなく、画面上のどこでもスワイプまたはフリックすることで、一度に全体の列または行をスライドさせることができます。そのため、画面上の正確な位置を狙う必要はありません。
スキャンラインの代わりに、ゲームには60秒のタイマーがあります。タイマーが0になると、すべての接続されたドットが消去され、プレイヤーはポイントを獲得し、次に新しいドットがプレイフィールドにランダムにドロップされます。
プレイフィールドが完全に埋まり、新しいドットをドロップする余地がなくなったとき、プレイヤーはゲームに敗北します。
私はすばやくプロトタイプを作り、しばらくプレイテストした後、それが十分にまともで、本格的なゲームにすることに決めました。
エステティクス
私個人としては、ゲームの美学やルック&フィールに取り組むことは、コーディングの他に最も楽しい作業の一つです。なので、プロトタイプが完成する前から、既にそれに取り組んでいました。
大部分のプレイヤーが比較的小さい画面で指でゲームをプレイするであろうことを考慮し、大きくて大胆な形状のフラットな外観を採用しました。
また、前景とのコントラストを高め、プレイヤーの混乱を避けるために、背景を暗い単色にしました。
最初は、ドットは円形で、異なる色でシェーディングされていました。しかしプロトタイプを試したところ、同じ円形を使用すると混乱する可能性があると気づき、プレイヤーがより迅速に認識できるように、ドットをさまざまな形状(円、四角、星など)に変更しました。また、プレイフィールドが画面の端に近すぎるのではなく、周囲に一定の空間を持つように設計しました。これにより、プレイヤーはその空間を使って指をスワイプすることができ、プレイエリアを覆うことなく操作できます。
ゲームプレイとグラフィックが決まったので、私がすべきことはプロトタイプを完成させ、それを楽しむことができる何かになるまで改良し続けることだけでした。
モチベーションの欠如
プロトタイプがついに完成した後、私はほぼ毎日(週末はLudum Dareに参加したのを除いて)ゲームの制作に取り組みました。
プロジェクトは順調に進んでいましたが、11月初め頃からモチベーションが低下し、ほぼ全てを諦める寸前まで行きました。集中力を欠き、何日かは完全に作業をスキップすることもありました。私は一種のバーンアウトを経験していたとも言えます。
これが初めてのことではなかったので、何が原因であったのかははっきりとわかっていました:私がこのプロジェクトを頭の中で思い描いていた姿と、プロジェクトが実際に進行していた様子との間の違いです。つまり、期待と現実との間の違いです。ゲームの全体的な品質は、私が予想していたものよりもはるかに低かったため、プロジェクトに取り組む意欲を失いました。私がすべきだったことは、達成できない何らかの恣意的な基準に達することを夢見るのではなく、ゲームを完成させることに集中することでした。
ほぼ完成
徐々に、私はスランプから脱出することができました。11月末には、ゲームの核となるループが完成し、メニューや音楽に取り組み始めました。ゲームオーバー画面を急いで完成させましたが、その出来栄えにはあまり満足できませんでした。それは何となく安っぽく、場違いな感じがしました。まあ、ゲームを完成させるまでにあと1ヶ月しかなかったので、それほど気にはしませんでした。チュートリアルセクションの作成は素早く簡単に行うことができました。私がゲームのアーキテクチャを完全にイベント駆動で作成していたので、インタラクティブなステップバイステップのチュートリアルを表示し、プレイヤーの入力とインタラクションを持つ新たなイベントをいくつか作成するだけで済みました。
一方で、ゲームを公開するために必要ないくつかのステップをクリアし始めました。具体的には、Apple Developer Programのメンバーシップを更新することです。これは、アプリをApp Storeに公開するために必要です。
私はソーシャルメディアの大ファンではありません。通常、それらのサイトは生産性のブラックホールなのでブロックしています。しかし、進捗状況をTwitter(#screenshotsaturday)に投稿することが、ゲームの制作を続けるモチベーションになりました。Twitterの素晴らしいゲーム開発コミュニティに感謝します!
このプラットフォームのおかげで、音楽作曲家が私にゲームのためのいくつかのトラックが必要かどうか尋ねてくれたとき、私は別のインディークリエイターとつながることができました。残念ながら、私には予算がなかったので、彼のオファーを丁寧に断るしかありませんでした。それでも、誰かが私に連絡してくれたことは嬉しかったし、将来のプロジェクトで他のゲーム開発者とコラボレーションしたいと思っています。それが、資金を得ることができればの話ですが。
そういえば、まだ音楽と効果音を追加する必要がありました。これはプロジェクトの一部で、自分自身ではできなかったので、この部分のプロジェクトにはストック素材を使用する必要がありました。
完成
12月中旬までに、ゲームは基本的に完成しました。ゲームループ、ゲームオーバー画面からリトライ、チュートリアル、そして「偽」のスプラッシュ画面(Unity Personalを使用しているので、デフォルトのスプラッシュ画面をカスタマイズすることはできませんでした。デフォルトのスプラッシュ画面の直後に表示される2つ目の「偽」スプラッシュ画面を作ることしかできませんでした)まで。
フィードバックを聞きたかったので、ベータ版をゲーム開発者の友人たちに送りました。これは私がずっと前にすべきだったことで、これがゲームプレイに大きな欠陥があることを発見するのに役立ちました。基本的に、プレイヤーが指を画面上で無目的にランダムにドラッグすると、ゲームは簡単になります。これは、プレイヤーがどのポイントを移動するかを慎重に計画するのではなく、無作為に指をドラッグするだけです。これはゲームの核心的な設計における重大な欠陥でしたが、時間がなくなっていたので、そのままにすることにしました。振り返ってみると、ゲームプレイの欠陥を発見したときに、少なくともゲームプレイを修正しようと試みるべきだったと思います。まあ、仕方ありません。
ついに、ゲームをApp Storeに準備する時が来ましたが、まだ名前を決めていませんでした。いくつかのアイデアはあったのですが、最終的には「Symbols」という名前にしました。それはなんとなく響きが良いと感じたからです。
App Store Connectに新しいエントリを作成し、ついにApp Storeの名前と説明を記入し、いくつかのスクリーンショットをアップロードしました。
今、私がすべきことは最後の一つだけ:最終ビルドを作成してApp Storeにアップロードすることです。最終ビルドを提出するときはいつも緊張します。何かを間違えたら?何か重要なことを忘れたら?見落としてしまった重大なバグはないだろうか?最終ビルドが最終的なものであるわけではない – 何かがおかしければ、他のビルドをアップロードしたり、アップデートを出したりすることができます – それでも、非常にデリケートなプロセスです。私は勇気を振り絞り、ゲームをApp Storeにレビューのために提出しました。レビュープロセスは非常に速く(わずか1日しかかからなかった)、ゲームは年末のちょうど前にダウンロード可能になりました。
それで、プロジェクトはついに完成しました。
あなたが何かに長い時間をかけて取り組んできたものを終えようとしているとき、達成感と悲しみが混ざった感情を何と呼びますか?私はそのような感情を抱いていました。一方で、ゲームが完成し、プレイヤーがダウンロードして楽しむことができるようになったので、私は幸せでした。一方で、私は過去4ヶ月間、ほぼ毎日プロジェクトに取り組んできて、それを終えることで生活に小さな空虚感が残りました。
学んだ教訓
ゲームを作るのは大変な仕事です!モチベーションだけでは、ゲーム開発の最も興味のない、退屈な部分を乗り越えることはできません – 完全なゲームを作るには強い自制心が必要です。特に、自分があまり興味のないジャンルのゲームを作るときは、より一層そうです。これからは、私のお気に入りのジャンルであるRPGに主に焦点を当てていきます。4ヶ月のプロジェクトからこの教訓を学んで本当に良かったです。数年にわたるプロジェクトに取り組んだ後にこれを発見するのは大変だったでしょう。
アイデアを出す際、パズルゲームとハイパーカジュアルゲームのどちらにするか非常に悩みました。それらは反対のジャンルのように思え、私は一つだけ選ばなければならないと感じました。しかし、今考えてみると、二つのジャンルを一つのゲームに混ぜてみるという実験をする機会を逃したべきではなかったと思います。
アイデアに過度に執着しないこと。テストの結果、期待通りに機能しないと判明した場合、そのアイデアを捨てるのは大丈夫です。それがプロトタイピングが非常に重要な理由です – アイデアを試し、検証するためです。このゲームの場合、私はゲームプレイがうまくいかないことを少し遅すぎて気づきました。私はプロトタイプフェーズにもっと時間を費やし、全ての問題をプロダクションフェーズに進む前に解決するべきでした。
できるだけ早くフィードバックを求めること。それは言うまでもなく、あなたのプロトタイプのルック&フィールはテスターのフィードバックに影響を与えるでしょう。人間は自 然に、美しいものをより好意的に評価する傾向があります。だから、プロトタイプを見せるときは非常に慎重になるべきです。なぜなら、人々は無意識に、プレースホルダーのアセットのようなものに基づいてあなたのゲームを評価するでしょう。
自分の作品をもっとうまく宣伝する方法を学ぶべきだと思います。私は常にスクリーンショットを共有したり、オンラインで自分の作品について話すことをためらっています。トレーラーを作成してYouTubeにアップロードするという半分のアイデアを持っていましたが、それをあきらめました。ゲームは動きよりもスクリーンショットで見た方が良く見えます。どちらにせよ、素晴らしいトレーラーはゲームのマーケティングにとって重要です。
合計作業時間
カテゴリー | 時間 | % |
---|---|---|
コーディング | 32:58:48 | 37.44 |
プロトタイピング | 29:21:57 | 33.33 |
グラフィックス | 9:39:18 | 10.96 |
ゲームデザイン | 7:56:50 | 9.02 |
リリース | 2:45:10 | 3.12 |
オーディオ | 2:26:40 | 2.77 |
その他 | 1:16:13 | 1.44 |
プレイテスト | 1:15:12 | 1.42 |
プロモーション | 0:25:45 | 0.49 |
合計 | 88:05:53 |
結論
全体を通じて、ゲームはまあまあな出来だと思います。もちろん、ゲームプレイには深刻な欠陥がありますが、それはポートフォリオの一部として見ることができる十分にまともな小さな練習ゲームです。
それでは今回はこれで終わりです!Symbolsを試したい方は、App Storeで利用できます。ゲームはオープンソースで、ソースコードはGitHubで利用可能です。
2023年3月6日アップデート
ちょっとしたひねりとして、Googleからほとんどアプリを公開していないことで開発者アカウントが危機に瀕しているという通知がありました。
そこで、この機会を捉えて、Androidユーザーにも楽しんでもらえるようにGoogle PlayストアでSymbolsをリリースしました。危機回避!