軽くて重いigrostroy:COO InventainのDmitry Degtyarevの経験

ゲームデザインの分野は現在、世界で最も急速に成長している分野の1つです。 ゲーム業界の年間平均成長率 4.8%であり、2020年までに市場価値は900億ドルに達すると予想されています。



この市場は、大部分がモバイルプロジェクトによって「活気づけられています」。 statista.comによる 、2017年にモバイルデバイスユーザーの数は23億2,000万人に達するため、モバイルゲーム市場の価値は高まっています。



少し前に、私はこのトピックに興味を持ちましたが、これまでのところ、ゲーム構築に関する本格的なポッドキャストとは程遠いです。 実生活で成功しているプロジェクトの1つを例に、この業界と知り合うことにしました。InventainCOOのDmitry Degtyarevが、テクノロジーを扱うための彼のアプローチを私と共有しました。



免責事項:別の会社の例について話していることを考慮して、私はこの資料を「I am PR」というハブに入れることにしました。



/会社のオフィス写真



Inventainは、狭く専門的な専門家の輪を持つ小規模なモバイル企業です。 これにより、ルーチンに気を取られず、製品の作成に完全に集中できます。



現在、同社はゲームとスタートアップの方向という2つの活動分野を積極的に開発しています。 前者の場合はゲーム製品について、後者の場合はゲーミフィケーション要素を持つユーザー向けのアプリケーションについて話します(それなしでは、ユーザーに何か新しいものを見せて「視覚的な揺れ」を与えることは困難です)。



多くのサービスの主な問題の1つは、マスタリングの難しさです。 ゲーミフィケーションにより、サービスをゲームとして習得するプロセスを提示できます。ユーザーからの努力が必要な場所、彼の目標は何であるか、そして彼の努力に対してどのように報酬を与えるかを計算します。 クライアントを維持するために、同様の方法が使用されます:クライアントがいつサービスに戻るべきか、どのような目的で、どのように彼がそれについて学ぶかなど。



さらに、UIの利便性とユーザーが製品を使用する場所(たとえば、公共交通機関でゲームを開始する場所)を理解するという観点から、芸術的要素とユーザーエクスペリエンスに大きな関心が寄せられています。 これはすべて「空中」に存在することはできません。プランナーとデザイナーの作業は最適な技術スタックに実装する必要があります。そのため、完成した製品を公開し、聴衆に「届ける」必要があります。



開発とインフラ



Inventainでは、アプリケーションはSwiftプログラミング言語とUnityエンジンを使用して開発されています。 Unity 3Dはゲームプロジェクトの作成に使用され、そのシンプルさ、機能性、アクセス性から選ばれました。 また、選択時には、価格はアンリアルエンジンの価格よりも忠実でした。 Unityゲームエンジンは、他のソフトウェアよりも開発者の間ではるかに人気があります。 たとえば、トップ1000の無料モバイルゲームの34%はUnityで開発されています。



Swiftに関しては、ゲーム以外のプロジェクトに選択されました。 SwiftとUnity 3Dの人気も絶えず高まっています。Tiobeインデックスによると 2017年に最も使用されているプログラミング言語のトップ10に入りました。 この場合、Swiftはその機能的な利点(短い構文とパフォーマンス)のためにObjective-Cを置き換えました。



開発の「機動性」と「使いやすさ」を実現する重要なアプローチの1つは、既製のツールを使用することです。 複雑なタスクに着手する前に、開発チームは既存のソリューション(有料ソリューションを含む)を分析します。



自転車を発明するために自分で時間と労力を費やすよりも、何かを用意する方が安くて速いです。 チームの最終的な目標は製品であり、それへの道は最も最適なものを選択する必要があります



-COO Inventain、Dmitry Degtyarev


Unityには独自のAsset Storeプラットフォームがあり、何千もの既製のソリューションとリソースを収集しています。 Swiftの場合、Githubなどのサイトに存在するオープンソースソリューションを使用できます。 同時に、実装は1対1の形式で行うべきではありません。公開されているソリューションでは製品のすべての機能を考慮することができないため、特定のアプリケーション向けにさらに開発する必要があります。



さらに、プロフィールブログのトピックで公開されている資料にも注意を払う価値があります。 例は、線形回帰を実装するためのコードです。 このようなメモを使用して、特定の問題を再確認し、独自のソリューションの実装に戻る必要があります。



別の優れたソリューションは、プロジェクト間で使用される独自の開発プールを作成することです。 最も簡単なウィキから始めることができます。



テストについて話す場合、Inventain(および同様のプロジェクト)などの会社の規模で、ユニット全体を作成することは意味がありません。 ここでは、1つのQAスペシャリストでベクターを設定できます。 このタスクの実装は、テストでバランスの取れたコードカバレッジを達成しようとする開発者に提供する必要があります。 優先事項は、テスターの日常的な行動に費やす時間を回避し、自動化による潜在的な「間違い」を排除することです。 したがって、膨大な数のシナリオと、アプリケーションの「隅」で発生する可能性のあるエラーが常に制御されます。



日常業務に労力を費やしたくないという願望は、インフラストラクチャの組織に反映されています。クラウドのベクトルはすぐには選択されませんでしたが、クラウド(AWS)です。 クラウドの管理ははるかに簡単です。 AWSの場合、特別な特殊なインフラストラクチャデータは必要ありません。非常に完全で構造化されたドキュメントを読むだけです。 ソフトウェアエンジニアはすべてを管理でき、システム管理者は必要ありません。 さらに、クラウドを使用すると、単純なハードウェアを過剰に支払うことなく、実際の負荷に適応し、サーバーを動的に追加(削除)することがはるかに簡単になります。 これはすべて、価格と柔軟性の点で真のメリットにつながります。実際に使用した分だけお支払いいただきます。



特定のもののみが「重く」なります



最新のテクノロジーの進化に対応し、製品で人気を博しているソリューションを使用するには、時間と労力を費やす必要があります。 これは、業界で最高の製品やチームと競争するための費用です。



この場合、機械学習やモーションキャプチャテクノロジーなどの分野での独自の専門知識の蓄積について話します。 具体的な例と言えば、Inventainチームは、人の顔を認識して画面上に3次元のアバターを作成するようにニューラルネットワークを教えたことを自慢できます。 機械学習とニューラルネットワークでの作業のコンテキストでは、これはイメージスタイルを他のオブジェクトに転送する実装に加えて、ユーザーの顔に仮想マスクを適用し、移動中にそれらを保持する機能です。



このような「カスタマイズ」は、オープンプロジェクトと「クイック」ソリューションの検索だけでは不可能ですが、まさにこれが製品の「コア」であり、重要な一時的投資を正当化します。



All Articles