ゲーム関連

インスタント 2D: ゲームとプレイアブル広告

Unity の高度にモジュール化された最新のランタイムと Editor モードが小さくて軽く、しかも高速の 2D インスタントゲームとプレイアブル広告の制作を可能にします。

プロジェクトをスタートする方法

Project Tiny は「Tiny Mode」と呼ばれるパッケージで提供されます。

インストールの方法:
2018.3 Package Manager を開き、

Preview Packages を有効にし、

Tiny Mode をインストールします。

Unity Personal、Plus、Pro のすべてのバージョンで利用できます。プレビューパッケージのダウンロードには Tiny Mode ユーザーマニュアル、API ドキュメント、サンプルのプロジェクトが含まれています。 フォーラム  ではさらに詳しい情報を手に入れることができます。次のトレーニング動画もご利用ください。 こちら

Tiny Arms のデモ

こちらは Project Tiny を利用して作った 2D インスタントゲームのサンプルです。Project Tiny の初期の圧縮されたサイズは 969 KB (エンジン 162 KB、ゲームコード 199 KB、アート 597 KB)。ゲームプレイ中にさらに 861 KB がオーディオファイルとしてロードされ、プロジェクト全体で 1.8 MB になります。

特徴と機能

Tiny Mode エディターの特徴

ECS エディター
Tiny Mode には、ECS による開発の簡略化に重点を置いたエディターの作り直しが含まれています。Unity を使用する開発者は、ワークフローがなじみ深く使いやすいことや、データ指向のアプローチのおかげでさまざまなデバイスでのスピードを最大化するためのサイズと能力の微妙な調整が可能であることに気づくはずです。  

Live Link
Live Link は、モバイル端末でのテストに際して、新しい作業の仕方を提供してくれます。開発者はエディターに接続されたデバイスがどれだけ多くても、プレイボタンが押されるたびに自動更新を行うことができます。さらに、プライマリデバイスの現在の状況のスナップショットを撮り、その状況をエディターに反映することができます。

ビルドサイズのレポート
ビルドサイズのレポートのツールは肥大化している部分を特定し、サイズの最適化をすべき場所を知るために欠かすことができません。

プレハブ
Tiny Mode は ECS にプレハブを持ちこみ、コンポーネントやプロパティを備えたエンティティをディスクに保存することを可能にします。それらはテンプレートとして機能し、それを使ってプロジェクトで新しいエンティティインスタンスを作成することができます。プレハブアセットに対して行われた変更は、それをもとに作られたすべてのインスタンスにただちに反映されますが、各インスタンスのコンポーネントや設定を個別にオーバーライドすることも可能です。

コアエンジン

Core
このモジュールは、スリムなランタイムにおいて最も重要な部分です。高度にモジュール化されたデータ中心のアーキテクチャがファイルサイズの微妙な調整を可能にし、その結果、軽量デバイスでの高速パフォーマンスと超高速の配信および起動時間が実現します。

Core2D
Core2D モジュールは、トランスフォーム階層、2D カメラ、指やマウスによる入力をサポートします。

Math
Math モジュールは、標準数学の機能の効率的な実行を可能にし、他の依存モジュールをサポートするために必須のツールです。

EntityGroup
EntityGroup モジュールは、ランタイムにおけるシーンやプレハブフラグメントのインスタンス化と破壊を可能にし、レベルの切り替えはもちろん、ゲーム世界の大胆な構築を実現します。

Watcher
Watcher モジュールは、コンポーネントを監視し、変化が起こったときに反応できるようにします。Watcher が一定の方法で値が調整されたことを検知すると、コールバックが誘発されます。これは UI を作成するときに特に便利な機能です。

インターフェース

UILayout
UILayout モジュールは、軽量の UI システムで、UI のレイアウトと UI の構築要素をサポートします。アンカーベースのシステムは、オートスケールをサポートし、モバイル端末の方向の変化に対応します。また uGUI と類似のワークフローを持っています。

Text
Text モジュールを使うと、UI 用に定型化された、テクスチャベースのフォントを用いることができます。テクスチャベースのフォントはサイズを大きくすることができ、ダウンロードしなければならない文字の数を制限できるときに最適です。

TextHTML
このモジュールは、広くサポートされているデバイス搭載のシステムフォントへのアクセスを可能にします。すでに用意されているフォントを使うことによって、サイズを縮小することができます。入力欄など、そこで使われる文字の範囲を開発者が制御しにくい場合などに最適です。

UIControls
UIControls モジュールは、ユーザーを魅了できるインターフェースをより短時間で作成できるようにします。現在サポートされているのはボタンと切り替えスイッチのみですが、今後、増やす予定です。

アセット

Audio
Audio のモジュールは BGM やサウンドエフェクトで製品に命を吹き込みます。再生、一時停止、ループの機能を持ち、.mp3、.wav、.ogg などを始め、ウェブでサポートされているすべてのオーディオファイルのフォーマットに対応しています。

Image2D と Sprite2D
Image2D と Sprite2D モジュールは、2D 体験の制作に欠かせない画像とスプライトのレンダリング機能を提供します。フリップブックのようなスタイルのスプライトのアニメーションも可能です。

Particles
Particles のモジュールは、体験に花火や雨や爆発などの要素を追加してプロジェクトに磨きをかけます。パーティクルシステムを使えば、この種のタイプのエフェクトを実現するための小さな 2D 画像を大量かつ効率的に作りだしたり動かしたりすることができます。

Tilemap
Tilemap は、複雑な 2D のレベルを作成するときに、豊かな風景を迅速かつ簡単に作りだすのに役立ちます。 このモジュールを追加することによって、タイルマップのサポートやツーリングにアクセスできるようになります。

Video
Video のモジュールは、体験に動画を組み込みたい場合に、HTML5 の全画面表示の動画再生のランタイムを拡張します。

物理と衝突

HitBox2D
このモジュールがあれば、画面上の 2 つの要素の衝突を重い物理なしに正確かつ迅速に検出することができます。HitBox2D はエンティティの間のヒットや衝突を検出することによってこの機能をサポートします。

Physics2D
Box2D をベースとするこのモジュールは、2D プロジェクトでの物理の使用、さらには衝突検出や 2D 物理シミュレーションのような種々の物理要素を実装するためのツールの使用を可能にします。

アニメーション

Tween
このモジュールは、2つの値の間のスムーズな推移を迅速かつ簡単に実行するためのものです。色、位置、スケールなど、どのようなコンポーネントの値にも適用できます。

Animation
このモジュールは、エディター内で 2D アニメーションを作成、修正するのに使われます。スプライトや UI 要素の移動、サイズ変更、回転を簡単にします。Unity 2019.1 ではこのモジュールの全機能が利用可能になります。

プラットフォームの統合

HTML
このモジュールは、あなたが作った軽量で高品質なすばらしいゲームを受け取り、ウェブで配信できるようにビルドするためのものです。 このモジュールがあれば、HTML5 配信用のゲームをビルドすることも可能です。

PlayableAd
PlayableAd モジュールがあれば、簡単にプレイアブル広告を制作することができます。MRAID ライフタイムイベントを統合し、標準規格(MRAID 2.0)をサポートするネットワークに広告ユニットとしてプロジェクトを供給することができます。Unity’s Ad のネットワークならワンクリックで出荷できます。さらにテスト用アプリケーションのおかげで UnityAds の環境を使ってデバイスでのテストも行えます。

開発者ツールとサービス

プロファイラー
このモジュールは、開発者にプロジェクトのパフォーマンスとリソースの使用状況に関する情報を提供することによって、プロジェクトがパフォーマンスの目標を達成するのを手助けします。 CPU のタイミングデータのフィードバックを利用して、ゲームを実行しているデバイスから直接届くデータをエディターで確認、分析することができ、それによってゲームを最適化できます。

Project Tiny のチュートリアル

このチュートリアルのプレイリストは、コアの ECS アーキテクチャのコンセプトとそれと Project Tiny との関係、そしてこの新しいアーキテクチャを使ってプロジェクトを構築する方法の基本について解説します。               

質問がある場合やフィードバックを提供したい場合は、フォーラムに移動してください。

よくある質問

Project Tiny はいつリリースされますか?

プレビュー版は今すぐダウンロードできます。使用開始の方法については以下の質問をご参照ください。Project Tiny は 2019 年に全面公開されます。

Project Tiny をスタートする方法を教えてください。

Project Tiny は「Tiny Mode」という名のパッケージで提供されます。インストールするには、最初に 2018.3 Package Manager を開いて Preview Packages を有効にした後、Tiny Mode をインストールします。Unity Personal、Plus、Pro のすべてのバージョンでご利用いただけます。

Project Tiny では 3D や AR もサポートされるのですか?

第 1 段のリリースでは 2D ゲームが中心になります。Unity は 3D エンジンであり、Project Tiny の将来のバージョンでは 3D や AR もサポートされます。

どのようなドキュメントやトレーニングマニュアルが利用できますか?

ダウンロードされるプレビューパッケージには Tiny Mode、ユーザーマニュアル、API ドキュメント、サンプルプロジェクトが含まれます。このページの下ではトレーニング動画をご利用いただけます。またフォーラムではさらに詳しい情報を入手していただけます。

Project Tiny に最適なのはどのようなプロジェクトですか?

現時点では 2D のメッセージングあるいはソーシャルゲーム、そしてプレイアブル広告です。最初のバージョンの機能はこの 2 つのユースケースに重点を置いています。

その 2 つのユースケース以外の他のケースでも Project Tiny を利用することは可能でしょうか?

現時点では Project Tiny は一般的なウェブへのエクスポートを目的としています。当初は最初の 2つ のユースケースに重点を置いているものの、大半の機能はより幅広いオーディエンスに向けたものになる予定です。

Unity の機能はすべて含まれるのでしょうか?

いいえ。サイズを縮小するために Unity のシステムの多くが書き換えられ、コードサイズの大きな従属物は削除されました。最初のリリースでは高性能で安定したコアを優先し、先にあげた 2 つのユースケース、つまり 2D ゲームとプレイアブル広告をサポートするための機能に特化しています。今後のリリースではさらなる機能が追加される予定です。

コアのランタイムはどのくらいですか?

コアランタイムは 100KB (JavaScript と比較して)以下です。今後モジュールを追加することによって機能が拡張されますが、サイズも増えます。

ランタイムの本来のサイズはいくつですか?

HTML5 での配信用にビルドされた基本的な 2D ゲームを作成するのに最低限必要なモジュールを集めた場合、そのサイズは、転送のために圧縮された状態で最大 142 KB、圧縮されない状態では 730 KB です。一般的に圧縮されないエンジンのサイズは 4 倍から 5 倍ほどになります。圧縮されたエンジンはサイズが最適化されており、解凍したときに起動時間とパフォーマンスが最適化されます。

プレイアブル広告やゲームのロード時間はどのくらいですか?

アセットの複雑さやサイズにもよりますが、単純なプレイアブル広告では 1 秒以内です。ただし、広告をリリースする先のハードウェアやビルドの方法によって大きく変わります。

今あるアートアセットは利用できますか?

はい。ランタイムにサポートされていれば利用できます。Project Tiny は Unity のアセットパイプラインを利用して、既存のコンテンツやワークフローの互換性を最大限に確保します。サポートされるアセットの種類やツールの種類は、今後拡大する予定です。

ゲーム論理の開発用としてはどのようなプログラム言語がサポートされるのですか?

現時点では TypeScript がサポートされており、作業では C# が使われます。C# は Unity のエコシステムで使用される主要な言語であり、より小さく、より速いコードを提供します。したがって、準備が整い次第、今後は C# のみをサポートする予定です。

既存のプロジェクトのコードを Project Tiny で使うことはできますか?

Project Tiny では、既存の Unity プロジェクトのコードを修正なしに使用することはできません。ランタイムは ECS ベースで、異なるコーディングが必要です。2019 年の全面公開が近づいたころにプロジェクトを変換するためのチュートリアルを発表する予定です。

アセットストアで購入したツールは利用できますか?

現時点ではできません。ランタイムとエディターの API は根本的に異なるものです。将来はアセットストアのパブリッシャーがそれぞれのパッケージに Tiny のモジュールを追加することによって Tiny を拡張できるようになります。

サポートされているプラットフォームはどのようなものですか?

Project Tiny は HTML5 のターゲットをサポートしています。さらに 2D WebGL や 2D Canvas のレンダリングのターゲットもサポートし、その際 WebGL をデフォルトとし、2D Canvas をフォールバックにすることも可能です。エンジンはマルチプラットフォームに対応できるよう設計されています。2019 年にはネイティブなランタムのサポートが導入されます。

既存の WebGL ビルドターゲットは将来どうなりますか?

WebGL のエクスポートターゲットは Unity の機能の大半をサポートし、デスクトップ Web のデプロイメントが必要なユースケースの多くを有効にします。現時点では需要がある限り、サポートを継続する予定です。

WebGL ビルドターゲットと Project Tiny の違いは何ですか?

2 つのプロジェクトには確かに重複する部分があります。WebGL ビルドターゲットは Unity がリリースの際に使用する機能のほとんどをサポートします。その代償として最終的にプロジェクトが大きくなり、その結果、転送と起動にかかる時間が長くなります。デスクトップのブラウザで実行するようなウェブベースの複雑なシミュレーションをパブリッシュする場合は、こちらの方がはるかに適してます。

一方、Project Tiny はきわめて軽量で、ロード時間もかなり短く、出荷時のサイズも小さく収まります。これは Project Tiny ではどのコードモジュールを含めるかを細かく調整できるからです。Project Tiny はモバイルでの実行を目的に設計されたものであり、したがって最初のリリースは、メッセージングアプリやソーシャルメディアのプラットフォームで実行するプレイアブル広告やゲームにすることをお薦めします。

Project Tiny は他のユースケースにも使用できますか?

はい。ただし、そのためには開発者が何を望むのかを確認する必要があります。最初にリリースされるのは、先に述べた 2 つのユースケースに必要な限られた機能のセットだけです。将来のリリースでは、さらに幅広いユースケースに対応するための機能が追加される予定です。  

Project Tiny HTML5 の出力はデスクトップブラウザでも機能しますか?

はい。私たちはモバイルとデスクトップの両方でテストを行います。最優先事項はモバイルで正常に機能することであり、機能のセットは主に既存デバイスの実状に合わせて調整されています。

どのようなサポートを受けられますか?

プレビュー(公開ベータ版)の間、開発者はフォーラムを通じて限られたサポートを受けることができます。

再生可能広告

Unity で作ったゲームをプレイアブル広告としてエクスポートすることは可能ですか?

できません。既存の 2D アセットは使えますが、現時点ではゲーム論理とシーンを直接移行することはできません。

広告を(ここに広告ネットワークを挿入する)にパブリッシュすることはできますか?

はい。出力は HTML5 広告であり、ほとんどどこででも使用することができます。インターフェースを簡素化することによって Unity 内で簡単にリリースできるようにする予定です。現時点では HTML5 出力のみをサポートしています。

作成される広告は MRAID に準拠していますか?

はい。Unity Ads ネットワークに必要な一部の MRAID 規格に準拠しています。

プレイアブル広告を作るためにはコードを書く必要がありますか?

もちろん、製作者にあります。

Project Tiny を使って Unity で作ったゲームからプレイアブル広告を作ることは可能ですか?

同一のプロジェクト内でプレイアブル広告を Unity のゲームとして作ることは可能ですが、広告のゲーム論理を作成しなおす必要があります。ただし、大半の 2D アセットは再利用できます。

どのようなプラットフォームがサポートされていますか?

作成される広告は標準の HTML/Web ベースの広告コンテナで稼働します。

広告はどのようなプラットフォームにもリリースできますか?

いいえ。リリースできるのは HTML プレイアブル広告のみです。今後はさらに幅広いオプションを提供する予定ですが、最初のリリースは HTML5 のみを対象にしています。

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーのポリシーのページをご覧ください。

OK