ホームページ >ウェブフロントエンド >jsチュートリアル >次のプロジェクトに最適なモバイル ゲーム プラットフォームを選択してください
この記事では、いくつかのゲーム エンジンとフレームワークを検討し、それぞれが提供する主な利点のいくつかに焦点を当てます。この記事を読めば、次の大ヒット作を作るためのさまざまな選択肢が得られるでしょう。これらのプラットフォームの 2D の側面のみに焦点を当てていることに注意してください。はじめましょう。
Cocos2d は、Swift および Objective-C と互換性のある無料のオープンソース フレームワークです。 iOS と OS X をサポートしており、コードが Objective-C で記述されている場合は、SpriteBuilder Android プラグインを介して Android もサポートします。 Android の Swift サポートは開発中です。
Cocos2d のプロジェクトは、ラピッド プロトタイピングやゲームの構築に使用できるグラフィック デザイン環境である SpriteBuilder を使用して作成されます。ゲームのビルドに SpriteBuilder を使用する必要はありませんが、プロジェクトの作成は SpriteBuilder を通じて行う必要があります。
シーン管理は CCDirector
クラスを通じて行われ、CCTransition
クラスを通じて行うことができます。 CCAnimation
クラスを通じてアニメーションを提供し、CCAction
クラスを通じて移動、拡大縮小、回転などの操作を提供します。 Cocos2d は、CCParticleSystem
クラスを通じてパーティクル システムをサポートし、CCTiledMap
クラスを通じてタイル マップをサポートします。
Cocos2d は、レンダリング エンジンとして OpenGL も使用します。 Chipmunk を物理エンジンとして使用します。 Objective-C または Swift を好み、複数のプラットフォーム (iOS と Android) 向けに開発したい場合は、Cocos2d を検討する価値のあるフレームワークです。
Cocos2d-x は、他の多くのプラットフォームにコンパイルできる Cocos2d の C ポートです。 Cocos2d-x は、iOS、Android、Windows Phone、OS X、Windows、Linux にコンパイルされます。
Cocos2d-x には SpriteBuilder が付属していません。ただし、フレームワーク、シーン編集、デバッグ、ゲーム プレビュー、複数のプラットフォームへのパブリッシュを提供する Cocos Creator など、興味深いプロジェクトがいくつかあります。
Unity は、C# と UnityScript をサポートするモバイル ゲーム エンジンです。UnityScript は、Unity 専用に設計され、JavaScript をモデルにした言語です。クロスプラットフォームであり、PlayStation や Xbox を含む多くのプラットフォームに展開できます。無料版と、より多くの機能を提供するプロ版があります。詳細については、Unity の Web サイトをご覧ください。
画像を視覚的にスライスできる組み込みのスプライト エディタと、アニメーションをレイアウトして整理し、キーフレーム アニメーションをスプライトに追加できるアニメーター ウィンドウがあります。パーティクル システムは、Unity エディターで視覚的に設計することもできます。
Unity は独自の物理エンジンを使用します。 Unity には、ゲーム世界のナビゲートを簡単にするカメラが内蔵されています。シーンを視覚的にレイアウトできます。Unity には、ボタン、スライダー、メニューなどのコンポーネントを含むユーザー インターフェイス システムがあります。スプライトのパッケージ化は Unity エディターでもサポートされています。
Unity はゲーム エンジン用の強力なエンジンです。複数のデバイスをサポートするクロスプラットフォーム ソリューションが必要で、C# または UnityScript でのプログラミングを好む場合は、Unity が良い選択です。 Unity のもう 1 つの優れた点は、ゲームで使用するアセットを検索または購入できるアセット ストアです。
SpriteKit は、Apple 独自の 2D ゲーム開発フレームワークです。 iOS と OS X でのみ動作します。 SpriteKit は、Swift と Objective-C の両方、つまり両方の組み合わせをサポートします。
シーン管理は SKView
クラスを通じて行われ、SKTransition
クラスにはさまざまなトランジションがあります。 SpriteKit の中核は、ゲーム オブジェクトの移動、回転、拡大縮小に使用される SKAction
クラスのインスタンスであるアクションです。アクションを使用してサウンドを再生したり、カスタム コードを実行したりすることもできます。
SpriteKit には、ゲームのレベルを視覚的にデザインできるシーン エディターが備わっています。パーティクル システムを視覚的に設計できるパーティクル エディタも提供されています。火や雨など、事前に設計されたパーティクル システムが多数用意されています。
SpriteKit は物理エンジンとして Box2D を使用します。 SpriteKit は Box2D 用のフレンドリーなラッパーを提供しており、非常に使いやすくなっています。 SpriteKit には、SKCameraNode
クラスを介したカメラも組み込まれており、ゲーム世界のナビゲートが簡単になります。
Apple エコシステムと密接に関係している場合、SpriteKit は非常に良い選択です。
Titanium は、プログラミング言語として JavaScript を使用するフレームワークです。従来はゲームではなくアプリケーションの構築に使用されてきましたが、実行可能なゲーム開発プラットフォームになる可能性があります。開発中は無料で使用できます。ゲームを公開したい場合は、ライセンスが必要です。
Titanium は、iOS および Android の多くのネイティブ コントロールをサポートしています。これにより、ビューや画像を簡単にアニメーション化できます。私は、Titanium を使用して、アニメーションと素晴らしいカードめくり効果を備えたブラックジャック ゲームを作成しました。
Titanium の優れた点の 1 つは、カスタム モジュールをダウンロードするためのマーケットプレイスです。たとえば、Box2D モジュールをアプリケーションにプラグインできます。 Box2D の複雑さが必要ない場合は、単純なバウンディング ボックス衝突システムを使用するだけで問題なく機能します。
チタンは可動部品や粒子の爆発が多いゲームには理想的ではありませんが、単純なカード ゲーム、トリビア ゲーム、および可動オブジェクトの数が限られているゲームにチタンを使用することは、十分に実行可能な選択肢です。
PhoneGap を使用すると、既存の HTML、CSS、JavaScript のスキルを活用して、モバイル アプリとしてパッケージ化できます。その仕組みは、アプリケーションに Web ビューを埋め込み、その Web ビューにリソースをロードすることです。これは、Canvas API を使用してゲームを作成できることを意味します。
PhoneGap を使用すると、デバイスのカメラ、マイク、そしてゲーム開発にとって最も重要な加速度計などのネイティブ API にアクセスできます。
PhoneGap の核心は非常にシンプルです。これは、HTML 駆動のアプリケーションを取得し、Web ビューを使用してモバイル アプリケーションとしてパッケージ化します。
Canvas/WebGL ゲームの作成に使用できる他の 2 つの JavaScript ライブラリ、Phaser と CreateJS を紹介します。
Phaser は、2D ゲームを作成するためのオープンソース JavaScript フレームワークです。利用可能な場合は、Canvas または WebGL を使用します。
Phaser は、スプライトを移動、拡大縮小、回転するためのアニメーション、パーティクル、トゥイーンをサポートしています。タイル マップのサポートが組み込まれており、ニーズに応じて 3 つの異なる物理エンジンを使用します。カメラも内蔵されているので、ゲームの世界を簡単にナビゲートできます。
Phaser には、Particle System Designer や Box2D プラグインなど、多数のプラグインが用意されています。 JavaScript を選択した言語の場合は、Phaser と PhoneGap を組み合わせたものが良い選択になる可能性があります。
CreateJS は、4 つの異なるオープン ソース ライブラリのスイートです:
EaselJS は、WebGL が利用可能な場合に使用できる Canvas API に基づくライブラリです。 TweenJS は要素のトゥイーンに重点を置いているのに対し、SoundJS はオーディオの再生に重点を置いています。最後になりましたが、PreloadJS はリソースのプリロードに役立ちます。
EaselJS は、要素に配置できるスプライト シートとフィルターをサポートしています。ベクトル描画を行う必要がある場合は、Shape
クラスもあります。移動、拡大縮小、回転は、TweenJS ライブラリをゲームに組み込むことで実現されます。
CreateJS にはゲーム開発専用にカスタマイズされた API があまりありませんが、JavaScript で記述されているため、Box2D の JavaScript ポートなど、必要な追加の JavaScript ライブラリを組み込むことができます。 。私が過去に使用して成功したライブラリの 1 つは、EaselJS の衝突検出ライブラリです。
私は Envato Tuts で CreateJS に関する記事をいくつか書きました。これらのライブラリの詳細な紹介を探している場合は、次のリンクが興味深いかもしれません:
Unreal Engine は、プログラミング言語として C を使用するゲーム エンジンです。無料で使用できますが、制限があります。詳細については、Unreal Engine の Web サイトをご覧ください。ゲームを iOS と Android にデプロイできます。
Unreal Engine にはブループリント エディタも含まれており、プログラミングを必要とせずにアプリケーションのスクリプトを視覚的に作成できます。エディターを使用すると、ゲーム レベルを視覚的にデザインし、物理シミュレーション、ユーザー インターフェイス、アニメーション、視覚効果などを追加できます。
Corona SDK は、スクリプト言語として Lua を使用するソフトウェア開発キットです。 Windows と OS X で利用できます。コロナ SDK を使用してゲームやアプリを無料で開発できますが、Perk (Corona Labs を買収した会社) は、ネイティブ ライブラリ/API やその他のいくつかの機能にアクセスできるエンタープライズ モデルを提供しています。価格の詳細については、Web サイトをご覧ください。
Corona SDK は iOS、Android、Kindle、Windows Phone 8 にエクスポートします。 Windows と OS X のエクスポートはベータ版であり、間もなく利用可能になる予定です。
Corona Labs は、Corona Editor、デバッガー、コード補完、その他の優れたオプションを含む Sublime Text プラグインなど、他の魅力的な機能も提供しています。 OS X で利用できる Composer GUI は、ゲームのレベルを設計し、Corona の物理エンジンを使用してオブジェクトがどのように相互作用するかを確認できるグラフィカル環境を提供します。
Corona SDK は、レンダリング エンジンとして OpenGL を使用し、物理エンジンとして Box2D を使用します。その物理エンジンは Box2D のラッパーを提供するため、使いやすくなります。コロナ SDK には、ゲームの構築に使用できる 1,000 を超える API が含まれています。
また、ライター ライブラリを介したシーン管理も組み込まれており、ゲームのグラフィック アセットの移動、拡大縮小、回転を支援する優れたトランジション ライブラリを提供します。
残念ながら、Corona SDK にはスプライト アトラスを構築するオプションがなく、複雑な形状の物理的な衝突検出は難しい場合があります。ただし、テクスチャ パッカーや物理エディタなど、この問題を軽減できる優れたサードパーティ アプリケーションがいくつかあります。
全体として、クロスプラットフォーム ソリューションを探していて、Lua スクリプト言語を簡単に使用したい場合、Corona SDK は検討するのに最適な SDK です。
Gideros は、Corona と同様に、スクリプト言語として Lua を使用します。 Gideros は無料のオープン ソースであり、iOS、Android、Windows Phone、OS X、Windows、および Windows RT にコンパイルされます。
Lua はクラスベースのシステムを備えたオブジェクト指向プログラミング言語ではありませんが、Gideros は開発者がクリーンで再利用可能なコードを作成できるクラスベースの API を提供します。
Gideros には、さまざまなトランジションを備えたシーン マネージャー、アニメーション用の MovieClip
クラスがあり、GTween ライブラリを介してトゥイーンを提供し、エンティティの移動、拡大縮小、回転などを行うことができます。 p>
Gideros は、Corona と同様、物理演算に Box2D を使用しますが、Gideros の Box2D API はオリジナルの Box2D API に近いため、使用するのが若干難しくなります。
テクスチャ パッケージ ツールやフォント クリエーターなどの追加ツールがいくつか提供されており、これらはインストール ディレクトリにあります。 Gideros を使用すると、Wi-Fi 接続を介してモバイル デバイスでプロジェクトを即座にテストできます。
コロナと同様、これは、Lua プログラミング言語を使用した簡単なクロスプラットフォーム開発を探している場合に最適なプラットフォームです。
AndEngine は Android モバイル開発フレームワークです。無料でオープンソースです。ただし、その名前が示すように、Android でのみ動作します。 AndEngine は、他の多くのモバイル プラットフォームと同様に、レンダリング エンジンとして OpenGL を使用し、その拡張として物理エンジンとして Box2D を使用します。
AndEngine は、アニメーション化されたスプライト、パーティクル システムをサポートし、エンティティ モディファイアによるエンティティのトゥイーンを可能にします。 AndEngine は、ゲーム世界内を簡単に移動できるようにする Camera
クラスも提供します。
AndEngine には専用のシーン管理はありませんが、簡単なシーン マネージャーを構築する方法についてはサンプルが豊富にあります。 Android アプリのみを公開し、言語として Java を選択する場合は、このフレームワークが適しています。
libGDX は、もう 1 つの Java ゲーム開発フレームワークです。クロスプラットフォームであり、Windows、OS X、Linux、Android、iOS、Blackberry、HTML5 にコンパイルできます。 libGDX は、レンダリング エンジンとして OpenGL を使用し、物理シミュレーションに Box2D も使用します。
libGDX には、Camera
クラス、オブジェクトの移動、拡大縮小、回転を行う Action
クラス、およびパーティクルを表示するための ParticleEmitter
クラスがあります。 TiledMap
クラスを通じてタイル マップをサポートしており、Tiled エディターで使用できます。
libGDX には、テクスチャ パッカー、パーティクル エディタ、ビットマップ フォント ジェネレータなどの追加ツールがいくつか付属しています。 p>
Java を選択した言語で、クロスプラットフォームのゲームを作成したい場合は、libGDX が検討するのに適したフレームワークです。
###結論は###以上が次のプロジェクトに最適なモバイル ゲーム プラットフォームを選択してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。