制限事項
この記事の素材は、読者が次の一般的な考えをすでに持っていることを前提としています。
- Adobe Flash、AS3
- Stage3D https://en.wikipedia.org/wiki/Stage3D
- スターリングhttps://en.wikipedia.org/wiki/Starling_Framework
- JavaScript http://www.w3schools.com/js/default.asp
- タイプスクリプトhttp://www.typescriptlang.org/
- ゲームエンジンhttps://en.wikipedia.org/wiki/Game_engine
- 背骨http://esotericsoftware.com/
- DragonBones http://dragonbones.github.io/
- HUD https://en.wikipedia.org/wiki/HUD_(video_gaming)
- フロントエンドhttps://en.wikipedia.org/wiki/Front_and_back_ends
について
JoyRocks開発チームは、ソーシャルネットワーク用のゲーム、つまりFB、OK、VK MMなどのCityBuilder BirdsTownを作成します。 Flash、AS3、PHP、MySql、Memcahced、Redisを使用します。 ゲーム開発を加速し、Flashを置き換えることができる新しい技術を常に模索しています。
フロントエンド技術の選択に関する問題
多くの企業、チームは、Web用ゲームの開発から旅を始めます。 クライアントを作成するためのテクノロジーの選択肢は豊富です。Flash+ AS3、JavaScriptをサポートするエンジン、それだけです。 それだけですか? はい、それだけです。 UnityPalyerやその他の異端のあらゆる種類を忘れてしまいますが、時間をかけてFlashにも対処することを約束します。 そして、Flashは殺されると約束されていますが、それは生きているすべてのものよりも活気があり、ほとんどがFlash + AS3を選択します。
フラッシュ
チームの経験に基づいて、Flashを使用する主なポイントを強調します。
- アニメーションエンジン
- 素晴らしいWYSIWYG 2Dアニメーションエディターの存在。
- AS3プログラミング言語
- すべてのプラットフォーム(Windows、Mac)およびデバッグツール用のIDEの可用性。 (IntelliJ IDEAを使用します)
しかし、世界には完璧なものは何もありません。Flashを使用する決定には欠点があります。
- すぐに使えるGUIはありません。 彼は、しかし私たちが必要とするものではありません。 詳細を説明することなく、Flashアニメーションに基づいてGUIを独自に作成します。
- iOS、Android、その他のプラットフォームへの移植には問題があります。 親愛なる読者、オブジェクト-しかし、Starling、Adobe AIRはどうですか? そして彼は正しいでしょう。 Adobeテクノロジーを使用してiOS、Androidアプリケーションを作成できるツールキットがあります。 ただし、ほとんどの場合、ゲームはすでに作成されており、Stage3DをラップするStarlingを使用して通常のFlashアニメーションを表示することはできません。 すべてのアニメーションは、たとえばSpineやDragonBonesを使用して最初に実行する必要があります。
フラッシュ+スターリング
2番目のアプローチは、Flash +スターリングです。
長所:
- SpineまたはDragonBonesアニメーションエンジン
- SpineまたはDragonBonesをアニメーション化するためのWYSIWYG 2Dエディターの存在。
- AS3プログラミング言語
- IDEおよびデバッグツールの可用性。
- iOS、Androidへの移植
短所:
- FlashPlayerの運命。 すべては、Webブラウザーがサポートしなくなるところまで行きます。 最初に苦しんだ人の一人はUnityPlayerです。
Unity3d
すべてが順調です。 ただし、Webサポートは不十分です。 問題が議論されたラウンドテーブルの1つはhttps://www.facebook.com/arthur.ostapenko/posts/10203345574239873?pnref=storyで見つけることができます 。
他に何が飛ぶ?
試したうち、次の候補者は合格しませんでした。
- pixijs +スパイン
- フェイザー+スパイン
OOP JavaScriptは別のテストです。 C ++ / C#/ AS3が理解できるようになった後、誰がJavaScriptでクラスと継承を試みましたか。
JoyRocks Team Engineの要件
CityBuilderの開発に十分な経験があり、さまざまなエンジンを試したため、チームはGame Engineが満たす必要がある要件を策定しました。
- 2Dアニメーション(スパイン、フラッシュ、ユニティ、ドラゴンボーンなど)
- GUI-ボタン、ラベル、ダイアログ、HUDなど
- 2DアニメーションとGUI用のWYSIWYGエディター
- DLC(ほとんどのエンジンでは問題ではありませんが、特に重要であると強調しています)
- デバッグツール
- クイズ、Match3、CityBuilder、Platformerゲームの作成に適しています。
- クロスプラットフォーム:Web、IOS、Androidなど
白gエンジン
Egret Engineは、無料のオープンソースHTML5ゲームエンジンです。 Egret Engineと他の関連ツールを使用して、開発者はWebおよびモバイルプラットフォーム用のHTML5アプリケーションを作成できます。 そして最も重要なことは、開発チームのすべての要件を満たしていることです。
http://www.egret.com/en/
印象
Unityの次は、「はい....、...、...、TS、これが必要なものです!!!」 白positiveの印象はとてもポジティブで強かった。 プログラミング言語は正常であり、デバッグは悪くありません。
中国語の貧弱なドキュメントでさえ、デバッグとエンジンのソースコードへのアクセスを使用して、その動作を調べることができます。 RESマネージャーは、RES.getResByUrl()を使用してロードされたリソースをキャッシュしますか? デバッグを開始して確認します。 GUIスキンは、新年など、HUDを変更する際の生活を簡素化する別の機能です。
白gのコンポーネント
- 白gの翼。 WYSIWYG GUIエディターであるTypeScriptでゲームコードを編集およびデバッグできるIDE。 Microsoftはスタジオレベルに到達していませんが、このツールでの作業に問題はありませんでした。
- 白E検査官。 Egret Windでアプリケーションの借方記入を許可するchomeのプラグイン。 Chromeストアには古いバージョンのプラグインがあります。 マネージャーのEgret Engineをダウンロードして、後者をインストールしました。
- ドラゴンボーン WYSIWYGアニメーションエディター。 詳細はhttp://dragonbones.github.io/で
- Res Depot。 リソースリポジトリを作成するためのGUIツール。 残念ながら、それはまだ英語にローカライズされていません。すべて中国語です。
- テクスチャマージ。 テクスチャ内のスプライトのパッキング。 TexturePacker https://www.codeandweb.com/texturepackerの無料の類似物。 ローカライズも中国語です。
- Egret Androidのサポート。 Androidサポート。 それらのデモをチェックしました-それは動作します。
- 白g IOSのサポート。 IOSサポート。 これらのデモは試していません。
- 白gの変換。 FlashゲームをHTML5に変換します。 ローカライズは中国語ですが。
- 白gの羽。 パーティクルエディタ。
- 湖shore プログラミングなしのゲーム作成ツール。 ローカライズは中国語ですが。
白gのドキュメント
英語版: http : //edn.egret.com/en/ APIのドキュメントはありますが、詳細はもちろん中国語でhttp://edn.egret.com/cn/にあります。 chrome https://support.google.com/chrome/answer/173424?hl=jaでページをある言語から別の言語に翻訳する方法を説明する必要はないと思います 。 ロシア語ではなく英語に翻訳することを強くお勧めします。 英語の問題? 次に、 https://www.google.com.ua/webhp?sourceid = chrome-instant&ion = 1&espv = 2&ie = UTF-8#q =%D0%BA%D1%83%D1%80%D1%81% D1%8B%20%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B3%D0%BE% 20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0 。
これはどのようなエンジンですか? 彼らは彼についてどこに書いていますか?
この世界には、私たちが耳にしたことがたくさんあります。かつて、多くの人がiPhoneが市場の大部分をノキアに属していることを疑っていました。
http://dragonbones.github.io/で見つかった白retの最初の言及。
「DragonBonesはEgret Frameworkをサポートしています。」
2つ目は、Tiled Map EditorのWebサイトhttp://www.mapeditor.org/のスポンサーセクションにあります。
購読するものをどこに書くのですか?
Facebookのプロジェクトページ: https : //www.facebook.com/egrettechnologyinc
CEO Egret Technology Inc: https : //www.facebook.com/cnedwin
おわりに
すでに述べたように、白gは2Dゲームの作成に使用できるゲームエンジンの1つです。 「すぐに使える」豊富なツールがあれば、最小限の経験でチームの開発を開始できます。 何かが足りない場合は、いつでも代替ツールを追加または使用できます。 たとえば、DragonBonesアニメーションスプライトをパックするための標準のTexture Mergeツールの代わりに、TexturePackerを使用しました。 そして、それに応じて、TexturePackerをアンロードするアトラスを操作するには、独自のバージョンのTextureAtlasを作成する必要がありました。 次の記事の実装の詳細。
著者によると、実際には、クイズ、Match3などのゲームを安全に作成できます。 hitTestPoint機能も存在するため、非表示オブジェクトに対して機能するはずです。 クイズ、Match3ゲームのプロトタイプについては、以下の記事で説明します。
CityBuilderを使用する可能性についての未解決の質問は残っていました(例:https: //apps.facebook.com/birdstowngame/)。 多くのコンテンツがあり、機能は単純ではありません。 タイルマップとオブジェクト(アニメーション化された木、石)を使用した技術的なデモは悪くないことが判明しました。
これであるかどうかは問題です。 いつものように、時間だけが教えてくれます。 あなたがHTML 5ゲームエンジンを探しているなら、私の個人的な意見-白Eは立派な候補です。 そして、著者はそれを使用して新しいゲームを開発します。 使用結果については、次の記事をご覧ください。