Esenthel EngineとUnityの違いを簡単にまとめてみた
2010年8月にUnity3Dにハマって2013年8月にゲームを出し、
3D新作はUnity一択かな…今からOpenGLは学習コスト高過ぎるしSeleneやDXライブラリのようなラッパはOS間の互換性がライブラリのバージョンに引っ張られ過ぎる
— 野生の男@松江 (@yasei_no_otoko) 2010, 8月 19
コミケ会場でティンと来た電子工作&ゲームをご紹介――やっぱり日本のインディーズはスゴい! http://t.co/2DO20QxNhT @dengekionlineさんから
電撃オンラインでC84作品のPerilous Dimensionを紹介して頂きました!
— サークルハイドレンジャー (@CircleHydrangea) 2013, 8月 31
2013年12月にEsenthel Engineというゲームエンジンにハマりました。
Esenthel Engineというゲームエンジンが予想外に面白かったのでメモ on @Qiita http://t.co/hSXDqYM8On
— 野生の男@松江 (@yasei_no_otoko) 2013, 12月 9
Esenthel、今一番ナウいゲームエンジンです http://t.co/gxmRBG38nu
— 野生の男@松江 (@yasei_no_otoko) 2013, 12月 9
はてなブログの練習も兼ねてEsenthel EngineとUnity3Dの違いをこの記事にまとめることにしました。
エンジンの発祥
デンマーク生まれMac発のUnity3D
Unity3Dはスカンジナビア半島の最南端の国デンマークで生まれました。
元々はゲーム会社でしたが、「Macにゲームが無い」→「Macでゲーム作ろう」→「Macにゲームエンジンなんて無いよ」→「じゃあゲームエンジン作ろう」という経緯で2001年に開発が開始されました。
現在は米国に本社があり、御存知の通り日本法人も設立されています。
ポーランド生まれWindows発のEsenthel Engine
Esenthel Engineはドイツの隣にある国ポーランドでWindows向けのゲームエンジンとして生まれました。
1999年から開発が始まっており、未だにポーランド在住の作者個人で開発を進めています。
開発言語
Mono Frameworkで動作するUnity
マイクロソフトが開発した.NET Frameworkのオープンソースクローンとして作られたMono Frameworkは、Windowsだけでは無くLinux、Mac、iOS、Androidでも仮想マシンが動作します。
UnityはMonoを独自拡張したバージョンを使用しており、現在ではMacからWindows、Linux、iOS、Android、Windows Phone/Store、Blackberryなど多くのプラットフォームでの動作に対応しています。
ネイティブアプリだけではなく、PCブラウザプラグインで動作するWeb Playerも存在します。
Unityの公式で使える言語はC#/Unityscript(拡張ECMAScript)/Boo(Mono版Python)の3つとなっており、付属のMonoDevelopでコード編集とデバッグを行えます。
C++でネイティブコードにコンパイルされるEsenthel Engine
Esenthel EngineはC++を開発に採用しており、Visual C++コンパイラとXcode付属のgcc/clangコンパイラでアプリケーションをネイティブコードにコンパイル可能です。
エンジン上で動作するエディタ専用のEsenthel Scriptもあり、簡易な記述とVisualAssistXをリスペクトした強力な補完機能でゲームコードを記述することが出来ます。
Esenthel Scriptはコンパイル/プロジェクトファイルエクスポート時にC++のコードに変換され、Visual StudioやXcodeのエディタ・デバッガを使うことが出来ます。
また、どのプラットフォームでも動作することが出来るC++を用いているので、現在ではWindows/Mac/Linux/iOS/Androidに対応しています。
エディタの外観
2D機能
Unity3DからUnity2DになったUnity
UnityはUnity3d.comというアドレスの通り3Dゲームエンジンでしたが、2Dゲームを作りたいという需要が余りにも大きくアセットストアでは2D Toolkitがバカ売れし、2013年のUnity4.3ではついにUnity2Dという名前で標準2Dフレームワークが付きました。
Unity - Unity PRESS RELEASE – Unity、2D向けゲーム開発機能とクラウドサービスを新たに提供
エンジンの拡張
ライセンス形態
プラットフォーム別課金のUnity
Unityには無料版のFreeと、商用に耐え得る品質のPro版が存在します。
無料版のFreeでは機能が限られている代わりにWindows/Mac/Linux/iOS/Android/Web Player出力に対応していますが、Professional版ではWindows/Mac/Linux/Windows Store/Web Player以外のプラットフォームでは個別に料金が必要となります。
Professional版の価格は現在1500ドルとなっており、PC/iOS/Androidのマルチプラットフォーム開発の場合は1500ドル×3=4500ドルとなります。
また、エディタ上でのバージョン管理機能や出力プラットフォーム切替時のキャッシュ機能を提供するTeam Licenseも別売り500ドルで用意されています。
月額75ドルのサブスクリプション版や、99ドルの非商用アカデミックライセンス、各定価の半額で購入可能な商用アカデミックライセンスも存在します。
Professional版やTeam Licenseの体験版は30日限定で用意されており、期限が切れると以後永久にFree版として動作します。
Oculus Rift DKやGlobal Game Jamなど、期間限定でProfessionalを使えるシリアルコードも配布することもあります。
感想
4年前にtwitterで呟いた(当時はUnityの日本法人も日本語サイトも無かった)頃の想像を遥かに超えてUnityが流行っている昨今ですが、Free版はエンジン拡張が出来ない等の制約が多く、Professional版は価格が高いため採用はゲーム会社や強豪のインディーデベロッパーに留まり、趣味層での利用はまだまだHSPやDXライブラリと言った国産の無料ゲームライブラリに追い付けていないように思えます。(知り合いのUnityユーザーが現役ゲーム業界人と自分のような元ゲーム業界人ばかりで学生が皆無)
Esenthelはまだ触って1ヶ月なので軍配は下せませんが、少なくとも安価でマルチプラットフォームなゲーム開発を始められるという点でコストパフォーマンスはUnityに圧勝しています。
C++ - Esenthel Engine怒涛の付属チュートリアルサンプルプログラム一覧 - Qiita [キータ]
のようにEsenthelは付属のチュートリアルコードも充実しており、直近のロードマップにドキュメントとチュートリアルビデオの拡充も含まれているので今後更に学習しやすいゲームエンジンになっていくんじゃないかと思われます。
ゲームエンジンは用量用法を考えて正しく使いましょう。