プラットフォーマーのゲームエディター-事後分析

約2。5年前、私たちは単純なプロジェクトを考案しました-特定の特性を備えたプラットフォーマー:ハードコア、可能な限りダイナミックで、発射しない。 プラットフォームはiOSであり、私たちはそれを使用するだけであるため、当時のAndroidはまだ深刻な代替手段ではありませんでした。 その時点ではまだリリースされていないスーパーミートボーイが標準として選ばれました。

プラットフォーマーは、ジェネレーターのランダム性の大きな力で実行できるゲームではないため、本格的で強力かつ便利なレベルエディターが必要でした。











したがって、物語は始まります



このビジネスは、モバイルプラットフォームでのジャンルの成功があまり信頼されていなかったため、単純な「1か月間のプロジェクト」として考えられていました。 私たちがやったように、このトピックは別の大きな記事ですが、この記事はエディターの「進化」に特化したものであるため、他の詳細については触れません。 起こった主なことは、基本的なプロトタイプが非常に気に入ったため、「機能を追加する」ことでした。 そして、先験的に考えていたよりもレベルを作成するのに10倍多くかかり、プロジェクトは静かに私たちのささやかなチーム(私たち2人-プログラマーとアーティスト)を離れた最も野心的な未完成の建物に変わりました-ゲームは小さい2年。



この間、ゲームは少し変更されました。





エディターに会う



エディター。 iPadでレベルエディターを思いついたのは、2つの理由によるものです。 まず、私の「エンジン」はiOS以外のプラットフォームをサポートしていません。 つまり、PCでエディターを作成するには、「エンジン」全体とゲーム全体を移植する必要があります(必要ない場合)。または、ゲームとは別にエディターを作成します。



2番目の理由は、地下鉄、自然、カフェ、お風呂など、どこでもレベルを作成する非常にクールな機会のように思えたからです。 そして、これは確かにそうです、それは自然では難しいことが判明しました-画面は非常にまぶしさであり、アンチグレアフィルムでは非常に盲目です。 さらに、ターゲットデバイスで意図したとおりにすぐに再生できます。PCの場合は不可能です。





彼は言った-行こう!



最初のバージョンのエディターは、数日のうちに非常に迅速に作成しました。 歴史はその外観を保持しませんでしたが、現在のものと実質的に異ならない-内部使用のためのエディター、そしてプレイヤーが見ることのない美しいものを作るポイントは何ですか?

追加のメニューを開いた最終バージョンは次のようになります。







イデオロギーは単純でした-それはすべて特別なボタンで追加されたオブジェクト番号ゼロから始まりました。 その後、クローン作成は最後まで行われ、新しいオブジェクトは追加されなくなりました。 最初に、古いものがコピーされ、次にスプライトインデックスが選択され、オブジェクトが適切な場所に配置されました。 プリミティビズムにもかかわらず、サーキットはうまく機能しました。 おもしろいですが、2年間、「タッチ」スプライトインデックスを選択しました。スライダーを使用して、すべてのスプライトを単純に連続してスクロールします。







それは思われる-非常に不便。 しかし、ほとんどの場合、オブジェクトは再度追加されませんでしたが、すでに画面上にあったオブジェクトはコピーされたため、これは問題ではないことがわかりました。 結局、私は疲れてしまい、スプライトを選択するための「通常の」ダイアログを実行しましたが、これはあまりスピードを上げませんでした。







(他の)うまくいったこと



事後テーマは通常、ゲーム自体のために書かれており、編集者向けではありませんが、伝統的なセクションは私にとって理にかなっています。 だから、見つけます:



  1. 最初にエンコードされたものの1つは、次のことでした。4つの方向のいずれかに現在のオブジェクトを複製する機能です。 一方で、これは明白に思えるかもしれません-しかし、これの有用性はすぐには認識されませんでした-同じことをする最大4つのボタンに画面上のスペースを費やすのは無駄に思えました。 さらに、重複するボタンのいずれかをクリックし、画面上でボタンを放さずに行けば、オブジェクトはラインストーンで適切な場所に移動し始めます。

    5つ目の同様のボタンもありました。パラメータを保存せずにオブジェクトをコピーし、デフォルト値を設定しました。

    この「機能」は、繰り返しオブジェクト、特にタイルを配置する便利な方法を提供しました。



  2. 2番目の便利な点は、画面の特定のコーナー(この場合は左上)をタップするだけでオブジェクトを削除できることです。 最初は、ドラッグアンドドロップでオブジェクトを配置する必要がある「バスケット」がありましたが、オブジェクトを完全に削除する必要があることが判明しました-ドラッグアンドドロップはもはや高速で便利ではありませんでした。 一定時間後、デバイスに特定のグリップを開発しました-親指が仮想バスケットに正確に落ちるようにiPadを左手で保持し、右手がその後の取り外しのためにオブジェクトの選択を制御しました。 それは非常に自然になり、余分なオブジェクトが一瞬のうちに削除されました。



  3. ダブルタップしてオブジェクトの選択モードに切り替えます。リリースすると、オブジェクトが修正され、エディターが移動モードに切り替わりました。エディターはダブルタップを繰り返すか、マップを移動するモードに切り替えることで終了しました。 これにより、まず、指で覆わずに動いているオブジェクトを見ることができ、次に、偶発的な動きの可能性を減らすことができました。



おそらく、この目的に関する素晴らしい洞察と、「苦労して学んだ」と呼ばれるものの広範なリストが始まります。 木の後ろに森が見えず、プロジェクトは終了したくありませんでした。スタークラフトの記事でおなじみの同じ永遠のサイクルになりました。ゲームは常に「リリースの1か月前」でした。 また、リリースまで「月」が残っていたため、エディターの改善に時間を費やしたくありませんでした。



何がうまくいかなかった、非常に非常に間違った





  1. 元に戻す。 エディタにはまだ元に戻す機能はありません。 ほとんどない-1つの移動操作が返される-それだけです。 それほど重要ではないように見えましたが、実装に時間がかかるようです-各操作に共通のプールを作成し、メガバイトのメモリを動的に割り当てて大規模な変更を保存します...そして最初に、Undoの不在は欠点番号2によって補われました。 その結果、親指(不器用な指)で誤ってフックされたオブジェクトの復元に(合計で)何時間も費やされました。 または、「過去」にランダムに複製された12個のオブジェクトを削除します。 この問題はそれほど頻繁には発生しなかったため、それ自体に注意を引き付けることはできませんでしたが、振り返ってみると、この操作の不在がその実装に必要な時間よりも何倍も費やしたことを認めることを後悔しています。



  2. マスハイライト。 はい、一度に複数のオブジェクトを割り当てることはできませんでした。 それは重要ではないようでしたが、実装するのは難しいようでした-最初のケースと同じ問題。 実際、これは、最終段階までゲームにコピー/貼り付けがなかったという事実につながりました。つまり、ゲーム内の50,000個のオブジェクトの順序は、それを使用して近くのセルにコピーされた場合を除き、独自の固有のポイントで手動で設定されましたそれらの同じ複製チーム。 ここでの利益は、レベルのより優れた一意性です。レベル全体をコピーすることは不可能だったため、毎回すべてが新しく作成されました。 しかし、欠点として-明らかに時間の無駄、そして時々。



  3. オブジェクトのアニメーション。 すべてのパラメーターはスライダーを使用して設定されましたが、「ヘルパー」がまだいくつかありました。 その結果、特定の距離からトリガーに従ってアニメーションを起動する必要があり、さらにピクセルではなく、必要な場所で正確に終了する場合、パラメータを手動で調整するには20〜30回の反復が必要でした。 その結果、ほとんどのレベルではcなアニメーションや面白いアニメーションを自慢できず、レベルはほとんど静的です。

    論理的で簡単な解決策は、目的の速度を自動的に計算して、エディター内でオブジェクトを移動するだけのように見えますが、そのような単純な考えは発生しませんでした。



  4. 精度。 おそらく最大の災難は、入力デバイスとしてのタッチスクリーンと指が原因で、オブジェクトを移動する精度が不十分であること、オブジェクトを目的のポイントに移動することができないこと、という次の問題でした。 この問題を「解決」するために、グリッド(グリッドにスナップ)とオブジェクトを奇数ピクセル(実際にはセルサイズ= 2のグリッド)に移動できないという2つのことが実装されました。

    これで問題は部分的に解決しましたが、残念ながら一部のオブジェクトが「間違った」サイズであり、グリッドに収まりませんでした。さらに、事前にグリッドをオンにするのを忘れてしまうことがありました。 「ペン」または「ハンマー」でグリッドにグリッドに移動し、「15回目から両方の座標で指でピクセルを打つ」という楽しいゲームをプレイします。

    1年以上かかった正しい決定は、5行の単純な修正であることが判明しました。特定のボタンを押すことで、オブジェクトの移動速度を数回低下させました。



  5. ホットキー。 最も一般的な操作は次のとおりです。

    -オブジェクトの回転

    -xおよびy軸に沿った方向の変更(反転)

    -衝突の無効化

    -zIndexの変更(手動レンダリング順序)



    彼らには、1〜3個のタパスが必要でした。 オブジェクトを選択してから、パラメーター編集パネルを呼び出す必要がありました。パラメーター編集パネルは、画面の適切な部分を閉じ、それに応じて直接オブジェクトを切り替えるため、しばしば閉じられていました。 長い時間がかかりましたが、これらの操作を別々のボタンとして配置することはできませんでした-画面に収まらず、場所が四方でなくなってしまい、2番目の行をしたくありませんでした-これは範囲を縮小します。 この問題を解決するために、外部キーボードを「固定」することにしました。 USBキーボード用のアダプターが購入され(カメラ接続キットと呼ばれる最高のShtirlitsの伝統で)、それを機能させるために何度も目的のない夜を過ごしました。 「ハック」の助けを借りて判明しました-1ピクセルのサイズの目に見えないテキストフォーム。 そして、iPadと外部キーボードを同時に操作するのは不便であることがわかりました。 3番目の手が必要です-1つはデバイスを保持し、もう1つはオブジェクトを操作し、3番目はボタンを押します。

    「機能」は未請求のままでした。



  6. インターフェース全体。 それは重要でも必要でもないように思われましたが、インターフェースは全体にそれほど干渉せず、潜在性と拡張性を大きく失いました。 現時点では、新しいエディターをゼロから始めて、最初に次のことに注意します。



    • リリースコマンドを選択するための便利なドロップダウンメニュー。
    • iOSの「通知」パネルが呼び出される方法と同様に、「スワイプ」で画面の後ろからクロールするパネル。
    • 一連のボタンをスクロールして、必要な操作をすぐに選択できるようにして、より多くの「クイックアクセス」コマンドに対応します。
    • フリップ、回転、拡大縮小、ズームなどの頻繁なコマンドのためのマルチタッチ。 私の試みは作業の最初に行われましたが、十分な時間を与えませんでした-満足のいく結果が得られず、作業は到着しなかったより良い時間まで延期されましたが、無駄でした。




最後に。



最終的に、私たちはゲームをリリースし、それはすべてうまく終わりました。 まあ、ほとんど-販売はまだうまくいっていませんが、私たちはそれに取り組んでいます。 Google Playの平均評価は非常に高く、4.9ユニットです。つまり、人々はゲームを好きではないが、非常に、非常に非常に気に入っているという事実です。

ゲーム内でiPad専用のエディターを作成するというアイデアは議論の余地がありますが、最悪ではありませんでした。










All Articles