1つの小さなゲームの開発と生活の歴史。 開始する

私はそのような記事を読むのが好きです。時には彼らは良いアイデアを引き出すことができ、時には刺激を受け、時には金曜日は同じ開発者について読んでいます。 私はインディー開発者としての困難な道のりを語り、自分の小さなゲームを作り、経験を共有することについて話すことにしました。



それは2013年で、ゲームの開発に誘惑されました。私は若くて自転車が大好きでした。 このゲームは1つの目的のために書かれました-リリースとそれが達成したこの目標をもたらすために。



ビデオゲーム




私はそこで止まるつもりはなく、彼らがプレイするゲームを作りたいと思っていました。もちろんそれはお金をもたらすでしょう。



私はすでにXNAで2Dに関する良い経験をしただけでなく、Windows Phoneプラットフォームでのモバイル開発も経験しました。 適切な難易度で空いている場所を探して、Windows Phoneマーケットプレイスを探索することで、新しいゲームの開発を開始することにしました。 私の選択は、「ヒルクライムレーシング」のようなゲームでした。 当時-2013年10月には、アプリケーションストアに「ヒルクライムレーシング」はありませんでした。グラフィックが粗末で非常に原始的なアナログがありました。 少し考えた後、「ヒルクライムレーシング」の同様のメカニズムでゲームを作成することにしましたが、貨物輸送の方向に変更されたゲームプレイでは、プレーヤーはポイントAからBに特定の荷物を輸送する必要があります。



そのようなゲームを作成するには、便利な物理エディタを使用または作成する必要があります。 団結はどういうわけか公聴会ではなく、他のゲームエンジンにはお金がかかりましたが、そこにはありませんでした。 そしてもちろん、あなたがすべてを自分でできるのに、なぜ既製のソリューションを取るのですか?!



同時に、Windows Phoneはバージョン8に更新され、WinRTの開発は非常に魅力的でした。 そこで、XNAからMonogameに移行することにしました。



計画はこれでした:



•10月末、ゲームの開発コンセプト、ゲームプロトタイプの作業の開始。

•11月、デザイナーの関与とゲームプロトタイプの作成。 残念ながら、描画方法がわからないので、ゲームでグラフィックコンテンツに重点を置くことにしました。

•11月末、既製のゲームのプロトタイプ。

•12月の初め、音楽コンテンツの作成、ゲームプレイの作成、ゲームコンテンツの作成、ゲームのテスト、ゲームのバランスの調整。

•12月中旬、支払いシステムの接続、リリース前の準備、レビューの作成、広告会社の準備。

•リリース期限は12月20日です。



10月上旬の計画は現実的でしたが、計画どおりには行きませんでした。



ゲームのプロトタイプを作成する代わりに、「ゲームエンジン」を作成しました。 これが一番の間違いでした。



物理エンジンですぐに定義した場合、それはFarseerでした。 そのため、XNAでのGUIでははるかに複雑で、既存のソリューションには多くの要望があり、一方で多くのソリューションが存在し、他方ではすべて独自のマイナス要素がありました。 結果として、私は自分で書き、 generalhi GPFとXAMLiteライブラリのアプローチを基礎として取ることに決めました、私がそれを引き受けた主な理由は、さまざまな開発、すべてが自己記述された最後のゲームの経験でした。 まず第一に、私は自分の仕事に申し訳なく思っており、それらをひとつにまとめて発展させ続けたかったのです。 数ヶ月の非常に難しい月の間、私は得ました:



物理エディター




パーティクルシステム




GUI(ビデオではGUIの2番目のバージョン)




また、何らかの理由で、特に必要なく最適化に取り組み、すべてのグラフィックコンテンツをテクスチャアトラスに結合し、DXT圧縮を適用する機能を備えた.xnbで圧縮し始めました。



もちろん、これはすべて素晴らしいことですが、ゲーム自体についてはほとんど何も行われていません。もちろん、ゲームのデザインドキュメントを作成し、デザイナーを探していました。フルタイムの仕事をキャンセルした人はいませんでしたが、2014年がすでに来ており、すべての期限が切れています。



良いデザイナーを見つけるのは思ったよりも大変でした。 当初、私は一緒にゲームを作るための本格的なパートナーを探していましたが、私が知っていた唯一の場所はテーマ別のgamedevフォーラムでしたが、残念なことに、フォーラムでの検索では結果が得られず、しばらくしてこのアイデアを放棄し、雇用を制限しなければなりませんでした。 必要なスタイルでペイントした良いアーティストを見つけました。作業面と支払いに同意しました。 作業が完了した後も、パートナーとして協力し続けました。 そこで、2人の小さなチームがありました。



最初は、ゲームレースを完全に自動生成したかったのですが、美しい写真と自動生成されたレベルを組み合わせるのに十分なスキルがありませんでした。 私は、風景があり、それはブロックに分割され、ブロックは複雑さによって分割されるという決定に至りました。 マップをロードするとき、ブロックは指定された複雑さ内で混合されます。 すべてのブロックをすべてとドッキングするのに多くの時間を費やしました。



最初の車のスケッチ






最初のブロックのスケッチ








サーバー側なしでゲームを開始するには、それは悪い考えだと思いました。ゲームの開発の主な目標は、他のプレイヤーとのリアルタイムレースに向けることでした。 MongoDBがデータベースとして使用され、UDPがトランスポートとして使用されました。 サーバーと通信するためのバイナリプロトコルが記述されています。 サーバーはパフォーマンスのために最大限に調整されました。 リリースの時点で、彼はユーザーの登録、到着に関するゲームログの収集を担当し、それに基づいてレーティングが形成され、毎日のボーナスの計算、ゲーム機能の獲得とロック解除が行われました。



一般的に、サーバーは、ゲーム通貨で報酬を計算し、分析を収集することにより、ユーザーとの否定的な状況を解決する役割を果たしました。



サーバープロジェクトは2つの部分に分割されました。現在のプロジェクトの独自のデータ型とそのハンドラーを拡張および追加する可能性がある他のプロジェクトで使用できる一般的な部分と、このゲームのプライベートな部分です。



ボットでのサーバーのテスト中、通常の最大サーバーティック実行時間は100ミリ秒で、平均してティックあたり約500パケットを処理します。これにより、10,000を超える同時接続を処理できます。



すべてのグラフィックコンテンツはベクトルで描画され、その後1280 * 768の解像度にカットされ、テクスチャアトラスにパックされました。 そして、すでに開発の最終段階で、WP71デバイス用に90MBを超えたため、WP80のみに行かなければならないことが明らかになりました。 800 * 480解像度のグラフィックコンテンツを作成することは問題ではありませんが、すべてを再パックすると、キーを書き換えることで多くの時間が失われてしまうため、WP71を放棄することにしました。 2014年には、WP71デバイスの割合が非常に大きかった。



最初のマップの開発




彼らは、マイクロペイメントを通じてゲームを収益化することにしました。 私はすでにアプリケーションでバナー広告を使用した経験がありましたが、モノゲームへのバナー広告の統合は簡単ではなく、単に怠lazでしたが、ユーザーの忠誠心が増すはずだったため、拒否しました。 WPのフルスクリーン広告とビデオ広告の形式のバナー広告に代わるものはほとんどありませんでした。



厄介な開発パスは2014年9月にのみ完成しました。



ゲームはWP8プラットフォームで5ランドスケープでリリースされ、その後その数は7に引き上げられました。コインはレースで授与されます。受け取った利益の量は、輸送された石の数、石の種類、かかった時間、石が取られた距離などに依存します要因。 また、ゲーム通貨用に購入できる9台の異なるマシンを作成しましたが、これらは必要な機能ではなく、次の記事で詳しく説明しているため、いかなる方法でも変更できませんでした...



プロモゲーム




結論:



可能な限り古いものにしがみついて、それはあなたを引き戻して、先を見ることを試みることができます、何かが現時点で良いなら、そして多分nか月の開発の後、それは関係ないでしょう。

彼らが言うように-
ディナー用スプーン
2013年の終わりにはこのゲームは需要がありましたが、2014年の終わりにはすでに十分ではなく、2014年の夏にHill Climb Racingなどのゲームがリリースされました。



もちろん、私は非常に貴重な経験を得ましたが、もう少し欲しかったです...



コメントに、どの側面にもっと注意を払うべきか、または一般的に詳細を伝えるべきかを書いてください。



2番目の部分は、 1つの小さなゲームの開発と生活の物語です。 発売日



All Articles