モバイルゲームまたは世界初の「ビデオ」ゲーム(モバイル)の写実的なグラフィック

ウィキペディアによると、ビデオゲームは、電子機器によって生成された画像を使用したゲームです。







画像







私たちの場合、「ビデオ」ゲームは実際のビデオに基づいたビデオゲームです。









このタイトルが黄色すぎて、以前に作成した「ビデオ」ゲームがある場合は、コメントでそれを書き、タイトルを修正します。 当時、私たちは同様のゲームを見つけず、覚えていませんでした。







更新 :ここではモバイル向けのゲームを意味していましたが、解説者のおかげでタイトルが修正されました。 また、YouTubeでビデオクエストが人気だったことを追加します。 他のビデオへの移行は、組み込みのYouTube機能を使用して実際のビデオに結び付けられており、特定の双方向性が得られました。 最初のケースを捕まえた人質







記事は広告とみなすこともできません。 ゲームの開発と公開からかなりの時間が経過したため、開発者アカウントの有効期限が切れ、Apple AppStoreでゲームを利用できなくなりました。







この記事では、ゲームを準備するプロセスと、Adobe AIRのiOSおよびAndroidでビデオを操作する機能について説明します。







それはすべて、明るく晴れた5月のサンクトペテルブルクの朝に始まりました。 いいえ、これは起こりません。 空は雲で覆われ、ビデオを撮影するために行った通常の5月の日の後半に、それはすべて激しく始まりました。







画像







私たちは自己紹介をします。私たちは2人の開発者です。Andreyは、実際にはゲームを作ることに決めたゲーム開発からは程遠いサーバープログラマーです。







しかし、いや、それはすべて以前に始まった。 どういうわけか、アイデアは、実際のビデオ撮影に基づいてゲームを作成するようになりました。 この場合、ビデオはゲームにインタラクティブに関連付けられている必要があります。 ビデオは美しいはずだった。 このゲームは、面白くて面白くてシンプルです。 そのため、PiterJumpのアイデアが生まれ、すべてが実現しました。









撮影の準備



サンクトペテルブルクの通りの完全なリストを作成するスクリプトが作成されました(通り名は正規化されています:avenue、avenue、streetなど)。Googleにクエリ(サンクトペテルブルクネフスキープロスペクトなど)を行い、結果の数を受け取りました。そのため、通りの名声評価がまとめられました。







通りがより有名なので、それがより興味深いと仮定して、ゲームのためにこれらの通りの射撃を使用することが計画されました。 アイデアは受け入れられないことが判明しました。 リストは歴史のために保存されています、私はその始まりを与えます(「名声」の降順でソートする)。







結果の数 役職
313000000 ロシア通り
244000000 VOの18行目
170,000,000 サンクトペテルブルクアベニュー
139000000 19パッセージ
59,400,000 レニングラードスカヤ通り
56000000 カルチャーストリート


あなたが見ることができるように、特に都市の住民、通りは最も重要ではありません。 たとえば、おそらくサンクトペテルブルクの最も有名な中央通りであるネフスキー大通りは、評価の273位にあり、380万件の結果があります。







私は最も単純な道に沿って行かなければなりませんでした-都心の調査を使用してください。







ルートを作成(A4シート8枚でサンクトペテルブルクの中央部の地図)







画像







ナビゲーターでの追跡の記録で一度運転しました







画像







取得したルートの長さは30キロメートルです。







ビデオの準備



そのため、明るい日を選びましたが、均一な照明のための明るい太陽がありませんでした。







カセットが入った充電済みバッテリー。







カメラ(Canon XH A1)、三脚、設置、固定を行いました。







画像







特別なサイン







画像







撮影中







画像







計画では、約30分間の美しいビデオを撮影し、簡単に分割してゲームのレベルを作成しました。 現実は残酷であることが判明しました。







ビデオは非常に判明したため、途中で追加のカセットを購入する必要がありました。 合計で、1時間40分のビデオを取得しました。







窓からの美しい景色は、目で見たほどビデオでは美しくありませんでした。







ビデオは、カットアウトする必要があり、最終的には約40分のゲームプレイを得るために必要な非常に多くの面白くない瞬間であることが判明しました。







開始演算子のエラー



撮影時の移動速度が速すぎます。 私は約30〜40 km / hの速度で運転しようとしました。 速すぎて、いくつかのビデオに欠陥があることが判明しました。







第一に、歩道が道路に近い場合、歩行者の相対速度が速すぎるため、歩行者を飛び越えるのに十分な反応速度がないという事実につながります。 ゲーム中、私はこの瞬間を考慮に入れて自動ジャンプをしなければなりませんでした。







第二に、ビデオは小さいが、顕著なストロボ効果で判明しました。 おそらく、これはカメラの設定で修正できますが、カメラの画面では、ビデオはきれいに見えたようで、私たちはプロのオペレーターではありません。 将来、私はビデオエディターでこれを修正するために長い間試み、さまざまなフィルターを課しました。 その結果、2つのフィルターを同時に採用しました。小さな水平方向のぼかし(動きがぼやける)と、ビデオをわずかに改善した安定化フィルターです。







撮影のための間違ったポイント選択。 サンクトペテルブルクの中心は車で構成されています。







画像







より正確には、マシンからマシンへ。 すべての通り、通り、路地には車が並んでいます。 最近、市はこの方向に少し文明化されました、有料駐車場が導入されています。 しかし、その瞬間はそうでした。 はい、カメラはかなり高く取り付けられましたが、十分ではありませんでした。 その結果、場所のビデオは、サンクトペテルブルク、家、人々の美しさではなく、ほぼ連続した一連の車であることが判明しました。 理想的には、Yandex / Googleパノラマを撮影するマシンと同じ高さで撮影する必要がありました。







ゲームライティング



最初は、アドバイスで、Unityでゲームを書くことを考えました(それでもUnity3D)。 しかし、Unityには致命的な欠陥がありました。 何度も実験を重ねた結果、モバイルデバイスでは、ビデオオブジェクトをテクスチャとしてオーバーレイすることはサポートされていませんでした。 それをサポートするプラグインがありました。 しかし、1つは支払われ、2つ目はビデオを写真に分割して再現し、「ビデオ」の期間が長いと、フレームレートがゲームに適さないものになりました。







Xcodeを見ました。 すぐに明らかになりました。Xcodeでゲームを作成するには、スーパーヒーローであるか、すべてのゲームで使用できる既成の実績が必要です。 実際、最初にグラフィカルゲームエンジンを作成し、次にゲーム自体のみを作成する必要があります。 私はそのような偉業の準備ができていませんでした(さらに、角括弧からの言語の異質な構文...)。







Adobe AIRの使用方法-覚えていません。 フラッシュは非常によく知っていました(前後にこのような便利なグラフィック/アニメーションエディターを見たことはありません)、ActionScript 2.0 / 3.0ですが、AIRについてのうわさだけを聞きました。モバイルテクノロジーにはこのようなテクノロジーがあります。







アドビは、サンセットフラッシュにもかかわらず、AIRの新しいバージョンを定期的にリリースしていること、AIR用のさまざまなプラグインを作成するコミュニティ(および1.5人からは程遠い)があり、Appleのアプリ内購入などの基本的なモバイルテクノロジーの統合があることをご存知ですか? Google、Google / Appleゲームプラットフォームに必要なすべての統合?







Flash Develop + FLEX + AIR SDKを使用して、新しいテストを開始しました。 ビデオは驚くほど簡単に起動しました-GPUを使用してレンダリング設定を設定するだけで十分でした。 後で、レンダリングを「直接」に変更する必要がありました。 GPUは、アルファ付きのビデオ画像のオーバーレイをサポートしていませんでした。







AS 3.0は、ステージビデオアップロード技術を使用して、AS 3.0でビデオを表示します。 ドキュメントと例は必ずしも明白ではなく、すぐに動作しませんでしたが、一般的には、すべてが非常に簡単です。







StageVideoが利用可能なイベントハンドラーを設定します







main.main_stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, init_video);
      
      





StageVideoの可用性を確認した後、init_videoコールバックが呼び出されます







 public function init_video(e:StageVideoAvailabilityEvent):void
      
      





ネットワーク/ファイルからビデオをストリーミングするオブジェクトが作成される場所







 var nc:NetConnection = new NetConnection(); nc.connect(null); ns = new NetStream(nc); ns.client = this;
      
      





StageVideoが利用可能な場合(iOS、Androidの一部)、オブジェクトを作成し、ストリーミングオブジェクトを添付します







 stageVideoAvail = (e.availability == StageVideoAvailability.AVAILABLE); if (stageVideoAvail) { sv = main.main_stage.stageVideos[0]; sv.addEventListener(StageVideoEvent.RENDER_STATE, onRender); sv.attachNetStream(ns); }
      
      





アクセスできない場合(Android部分、PCのエミュレーター)、通常のビデオオブジェクトを作成します







 video = new Video(Data.video_width, Data.video_height); video.y = int(Data.height / 2 - Data.video_height / 2); addChildAt(video, 0); video.attachNetStream(ns);
      
      





次に、ストリームの再生が開始されます







 var fl:File = File.applicationStorageDirectory.resolvePath(quality + "/level_" + level + ".mp4"); ns.play(fl.url);
      
      





この場合、ViewPortを設定する必要があります。これがないと、StageVideoモードでビデオが表示されません。







 public function onRender(e:StageVideoEvent):void { sv.viewPort = new Rectangle(0, Data.height / 2 - Data.video_height / 2, Data.video_width, Data.video_height);
      
      





AIRでビデオを操作するときは、エミュレーターモードのPCでテストするために、「ソフトウェアレンダリング」モードでフラッシュドライブをコンパイルする必要があることを考慮する必要があります。 または、「GPUレンダリング」モードでは-iOSで動作しますが、アルファチャネルを使用した画像のオーバーレイはサポートされておらず(ビデオは消えます)、Androidでは正常に動作するようです。 または、「ダイレクトレンダリング」モードで-iOSで動作しますが、おそらくより多くの電力消費を与えます。







ゲームプレイ、リファクタリング、アルファ版のプロトタイプの開発中に、特定のAdobe Gaming SDKの言及があった記事がHaberosに非常にうまく登場しました。







このパッケージは、モバイルゲームの多くの有用な開発を開発者に提供します。 インターフェース、ネイティブIOS / Android API、その2Dおよび3Dエンジンへのアクセス。







当時、ゲームのアルファ版はすでに準備ができていて、2Dエンジンの既製のコンポーネントを使用してゲームを再度リファクタリングする意味がありませんでしたので、ゲームセンターと製品ストアにアクセスするためにネイティブIOS機能のプラグインのみを使用しました。 AIRのプラグインは、既製のパッケージ化されたANEモジュール(AIR Native Extensions)の形式で実装されます。これは、xmlファイル(ネームスペースとアクセスインターフェイスを記述)とパッケージ化されたコンパイル済みswfファイルを含む通常のzipアーカイブです。







メインビデオ表示機能の実装後、ゲームを作成することは不可能でしたが、他のすべては特に難しくありませんでした。シンプルなグラフィックスを描画し、フラッシュを入れ、組み込みツールでアニメーションを作成し、ゲームの「ビジネスロジック」のさまざまなクラスを記述し、Apple AppStoreに承認を送信します。







まとめ



ゲームを書いている時点で、ダウンロードストリームがすぐに開始され、サーバーを追加する必要があると考えました(ビデオはオンザフライでアップロードされ、合計約3 GBの異なる品質で占められていたため)、お金はかかります(購入はゲームに組み込まれました:最初の4つのレベル-残りに自由に行く-1ドル)、さらなるモスクワジャンプ、パリジャンプ、ニューヨークジャンプの開発が始まり、人々は自分の携帯電話で写真を撮って新しいレベルを追加することができ、他の人はそれらを再生し、評価を与え、コメントを共有し、再生します一種の社会的エンに変わります 最近のゲームポケモンのログ。







実際、そうは思いませんでした。 ゲームのすべての欠陥を見ました。 今すぐゲームを開始するには(新しいゲームアプローチでも)、お金とプロモーションが必要です。 ゲーム自体の品質が向上し、興味深いチップがゲームに組み込まれ、グラフィックスがわずかに良くなり、ビデオが良くなります。







その間、結果として、Adobe AIR + Flashは、今では忘れられているものの、非専門家でも簡単にモバイルゲームを作成できる優れたテクノロジーであると言えます。







ストーリーについては、 完全なゲームプレイ 、YouTubeのゲームのすべてのレベルの完全なビデオを公開し、誰かがビデオで自分自身を認識している可能性があります:)プライベートリポジトリからgithubにソースコードを転送しました。








All Articles