こんにちは、Habrasociety
この出版物は、ユーザーインターフェースの革新に無関心ではない人々や、 拡張現実に情熱を傾ける人々にとって興味深いものです。
人間の脳の働きを詳しく見てみると、それが実行するタスク、特に当たり前のタスクを再現してみてください。脳によって実行される計算の数がどれほど大きいかがわかります。 たとえば、動きの検出と追跡、または複数のオブジェクトの違い、互いに対する相対的な動き、それらの速度と距離。
Kwiki The Birdとそのようなゲームの開発は、 当社の主な焦点ではないことにすぐに注意します 。 このゲームの目的は、コンピューターのWebカメラの動きを判断/追跡するためのさまざまなアルゴリズムの機能をテストすることでした。
私たちは何を得ました:
ここでゲームをプレイできます: http : //kwikithebird.com
マーケティング部:
ゲームのプロモーションのために、 kongregateのような無料のインディーズゲームの配信プラットフォームを選択しました 。 私たちの意見で最高のものはhttp : //www.kongregate.com、http : //www.gamemontage.comでした。 公開日の視聴回数/ゲーム数は500人で、追加のプロモーション方法はありませんでした。
ゲームコンセプト:
現在アルゴリズムが存在する( リンクの下にある )モーション認識テクノロジーは、かなり粗雑です。 追跡の不正確さ。 当初、私たちはこのような不正確さをゲームの本来のアイデア、つまり制御が難しい酔っ払いの鳥に隠すことを考えました。
私たちのタスクは、ユーザーを長時間ゲームにとどめることではありませんでした。 このようなゲームではこれが不可能であるため、カメラを制御するため(ほとんどの場合、ラップトップ、iMacのトップパネルに組み込まれ、モニターの上に立っているだけです)、手は非常に早く疲れます。 つまり、これは常に空中にあるコントローラーです。 したがって、私は観客の間でゲームのウイルスの広がりを見たかった。
実際、統計によると、これは判明しました(ゲーム中に撮影した写真からわかるように、ゲームをプレイした各ユーザーは友人を連れてきました)。
したがって、このアイテムを多かれ少なかれ成功させたいと思います。 それでも、新しいコントロールインターフェース、つまりWebカメラを備えたゲームはバイラルであり、拡散する可能性があります。
次に、飛ぶ方法がわからず空に向かって努力するキウイ鳥についての人気のあるビデオを見た後、 キウイ (YouTube Most Most Adorable video of 2006)。 私たちは、技術の欠点のいくつかを隠すことになっているキウイ鳥のアイデアを使用して、ある種の続編を作ることにしました。
技術部:
デザイナーの仕事 -20時間
1.メインキャラクターの画像の作成-クイック。
2. 20のゲームレベルを設計します。
3.トロフィーのデザイン(レベルのサブグループごとに3つ-地球、夜の地球、空、宇宙)。 トロフィーには特別な意味はありませんが、ユーザーの関心を高めます。これは一般に、ゲームを刺激し、より高く飛ぶようにします。
4.ユーザーがポイントを奪われるキャプチャのために、各レベルごとに独自の「悪いオブジェクト」。
5.「致命的な」敵。衝突はゲームの終了を意味します。
Work Flash Programmer (ゲームロジック)-40時間
ロジックでは、少数の変更がありました。 最初は1つの画面があり、オブジェクトは単純に上から下に落ちました。 Quickieが良いオブジェクトを食べるたびに、彼は夢に向かってnピクセル移動し、それに応じて、悪いものを食べるとダウンします。
驚くべきことに、同僚/友人の間でこのゲームの最初のテストを開始し、多くの人々が技術の欠如とさまざまな照明条件(暗い/明るい部屋)にもかかわらず、鳥を制御することに成功しました。 そのため、上級レベルのグループに「致命的なオブジェクト」を追加することが決定されました。
これは雷雲、飛行機、UFOであり、もちろんhabranloではありませんが、レベルの最後のサブグループであるCosmosでは十分に印象的です。
さらに、一部のテスターは、画面の上部でのみ鳥を読み取り、チート、制御し、すべての悪い/良いオブジェクトを収集し、最大数のポイントを獲得することさえできました。
プログラミングジョブ(facebook) -20時間
なぜなら 私たちはすでにFacebookアプリケーションを作成した経験があり、このゲームではFacebook市場への参入を試みることにしました(ただし、自分自身の目標を考えれば大声で言われますが)。
主な側面が追加されました:
- スタンドアローンアプリケーション(サイトからのゲーム)のためのFacebook接続
- ニュースフィードで結果を自動公開する機能、
- Facebookでの検索結果の配信に影響を与えるスタンドアロンサイトと[I Like]ボタンからゲームのアクティビティを直接表示する機能が最も優れています。
ジェスチャー認識アルゴリズムを使用する -80時間
ここで、おそらく、あなたと共有したい最も興味深いこと。 使用したアルゴリズム、変更したアルゴリズム、そして最も重要な理由は次のとおりです。
グラント・スキナーともちろんマリオ・クリンガーマン(別名クアシモンド)の作品に触発されました。 ちなみに、後者には、C、openCVからフラッシュに移植されたかなり多数の例があり、顔認識と追跡、さらにはNFT(Natural Feature Tracking)と色付きオブジェクトの追跡と呼ばれます。
リストの最後のアルゴリズムですが、私たちにとって最後ではありませんが、最初に注目したいのはジャスティンウィンドルのモーション認識アルゴリズムです。
なぜなら 鳥はここを飛ぶ必要があります。動きを決定するだけでなく、追跡も行う必要があります。
実際、アルゴリズムの類似点は、画面をグリッドに分割することであり、各セル/セグメント内の色を一定の間隔で平均します。 各セグメント内の輝度の差(ある計算から次の計算まで)は、画面のこの領域に実際に動きがあったかどうかを決定します。
すべての作業を分析した後、このアプローチが最も正確であることが判明しました。 実際には、Pixel()を取得し、Pixel()を設定し、これらの結果をオブジェクトの色、彩度、輝度に変換するには多くのアクションが必要ですが、それぞれがコンピューターの頭脳であるプロセッサに十分に重いです。 もちろん、優れたコンピューターはこれに簡単に対処できます。たとえば、iMac 3.06GHzはこれに簡単に対処できます。
これがFlashでどのように機能するかをまとめます。
- カメラオブジェクトが作成されると、 MotionTrackerクラスに渡され、 Pointオブジェクトが拡張されます。 MotionTrackerクラスには2つのBitmapDataオブジェクトが含まれます。1つはWebカメラからの現在のデータを表し、もう1つは前のフレームを保存するために使用されます。
- メソッドの更新が呼び出されると、フィルターの差を使用して、前のフレームの上に新しいフレームが描画されます。
- 結果はColorMatrixFilterによって取得され、画像のコントラストを高め、暗い領域(動きが少ない)を背景にさらに落とします。
- ノイズレベルをさらに低減し、より多くの動きが発生する領域から「動きの運命」を形成するために、ぼかしフィルターが適用されます。
- ゴミ箱は、実際にはBitmapDataの結果として呼び出されます 。その結果、黒ピクセルの隣のグリッドは無視され、すべての明るいピクセルには「動き検出」が割り当てられます。
ゴミ箱のレベルは、比較的明るい部屋から暗い部屋に移動するシンプルなスライダーを使用して、ゲーム設定で調整できます。
構成するパラメータは、同じメッシュのセグメントの明るさ、ぼかし、コントラスト、および間隔です。
今後の計画
- 2番目のベータバージョンを作成し、すべてのバグを修正した後にVKontakteを起動します。
- ゲームモードのトレーニングまたは方法を追加します。
- アクティブなカメラの自動検出。
- デザインとサウンドエフェクトを追加します。
- Quickiのアクションアニメーションを変更します。
- Facebookの友人の壁にユーザーの写真を投稿し、共有パラメーターを増やします。
- バックグラウンドミュージックを変更します:)。
ご清聴ありがとうございました。
最後に、ビデオのファン「Quickieのプレイ方法」: