最高のゲームエンジンはどれか?:GameMakerはあなたに向いているのか
業界に入ったばかりのデベロッパにとって,最高のゲームエンジンを選ぶのは困難な作業だ。ここでは,最も人気のあるゲームエンジンの1つである GameMakerに関する話題を多く取り上げるので,プロジェクトに適切なゲームエンジンかどうかを確認してほしい。
このページですべての主要なゲームエンジンに関するその他の詳細なガイドを読むことができる。
あなたが密かに開発者になることを夢見ているゲームジャーナリストなら,GameMakerに試してみたことがあるかもしれない。
とりわけ,GameMakerは初心者のためのエンジンだ ― アーティスト,ライター,非プログラマ,コードを1行も書いたことがなく,どこから始めるべきか分からないがアイデアを持つ人々のための。しかし,GameMakerもそれ以上のものだ。これは,ハイエンドの2Dエンジン,トップダウンアクションゲームエンジン,パズルプラットフォーマーエンジン,ピクセルアートエンジンでもある。
Vadim Dyachenko氏は,GameMakerとの仕事からキャリアを築いてきた。オンラインマルチプレイヤーMODで有名になったあと,氏はNuclear Throne,Forager,Nidhogg 1と2,Rival of Aether,そしてCaveblazersなど ―すべてGameMakerで作成されている。
「このエンジンはおそらく,それで作られたピクセルアートゲームの多種多様さで最も知られています」と,氏は語る。「しかし,ここ数年,Swords of Ditto,Levelhead,SynthetikもしくはNidhogg 2のような忠実度の高いゲームが増えています」
GameMakerは20年前にYoYo Gamesによって作成され,ドラッグ&ドロップ型のビジュアルスクリプトツールを使用して「開発プロセスを合理化する」という根本的な目標を持っている。エンジンは現在,2017年3月にリリースされた最新のイテレーションである GameMaker Studio 2 (GMS2)で利用可能だ。毎日 1000人以上のユーザーがエンジンの使用登録をしている。
GameMakerは,PlayStation 4,Xbox One,Switch,Windows,Mac OS,Ubuntu,Android,iOS,tvOS,Fire,Microsoft UWP,およびHTML5の12種類のプラットフォームをサポートしている。エンジンには購入可能なさまざまなライセンスがあるが,UnityやUnreal Engine 4とは異なり,GameMakerの無料版がないことには注意したい。試用版のライセンスは30日間しかないが,購入する前に試すことはできる。
WindowsまたはMacOS用に購入できるCreator Licenceの価格は39ドルで,そのプラットフォーム用に作成して公開し,GameMaker Marketplaceへのアクセスを提供することができる。次に,PlayStation 4,Xbox One,またはSwitchでゲームをそれぞれゲームのテスト,デバッグ,ビルド,公開できる 3 つの異なるライセンスである Console Licencesが 799ドルで追加された。このライセンスの4番めのバージョンである究極のConsole Licencesは,3つのプラットフォームすべてに1500ドルでアクセスできる。Console LicencesとCreator Licenceはどちらも12か月間の更新不可ライセンスだ。
最後に,Developer Licenceは永続的であるため,購入は1回だけでいい。これは,99ドル(Windows,macOS,Ubuntu)のDesktop licenceと149ドル(HTML5)のWeb licence,199ドル(アンドロイド,アマゾン,iOS)のMobile licence,199ドルのUniversal Windows Platform licenceのサブカテゴリーにも分かれている。このページで,さまざまなオプションの詳細を確認できる。
また,さまざまなプラットフォームオプションを使用して,学生にエンジンを紹介したい教師を対象としたGameMakerの教育向けバージョンもある。価格は月額10ドルからで,1席あたり10ドルで,最低5席の購入が必要だ。教育機関向けGameMakerの詳細については,このページを参照してほしい。
GameMakerの利点はなにか
●GameMakerは,2Dゲーム用の最高のエンジン
GameMakerの主な強みは,Butterscotch ShenanigansのCEOと共同創設者のSeth Coster氏が強調するように,2Dゲームを作ることにある。CrashlandstLevelheadの共同制作者であるCoster氏は,プログラミングの知識なしの状態から2年以内にフルタイムの開発者になったが,すべてGameMakerを使用していた。
「GameMakerは,あらゆる種類の2Dゲームを作ることにかけて最高のツールです」-Seth Coster氏, Butterscotch Shenanigans
「GameMakerは,あらゆる種類の2Dゲームを作るための最良のツールです」と氏は語る。Teddy Diefenbach氏(Heart MachineのHyper Light Drifterの共同デザイナー兼開発者)は,GameMakerが「簡単な2Dゲーム作り」で輝くことに同意する一方で,「スプライトのレンダリング方法を直接制御できる」と称賛している。
●GameMakerは,すべてのジャンルとスタイルを扱うことができる
GameMakerはスプライトベースの2Dゲームを構築する際に最高だが,Home, Alone with YouとWorse than DeathのクリエイターであるBenjamin Rivers氏によると,もっとまざまなジャンルに適用することができるという。
「我々の経験では,このツールセットを使用すると,大小を問わず,想像できるあらゆるゲームを作ることができます」と氏は語る。「チュートリアルやビデオは,ピクセルアートを使用するゲームに焦点を当てることがよくありますが,GMS2は高解像度で多様なアートスタイルも扱うことができます。2次元で対応できなかったジャンルは一つも考えられません」
Hyper Light Drifterと Swords Of Dittoのプログラマ,Julian 'Juju' Adams氏は,さまざまなジャンルでGameMakerの経験を積み,その汎用性を確認している。
「ツールとしてのGameMakerにはいくつかのハードリミットがあります:私は3Dゲームを作り,ローグライクを作り,私はメトロイドバニアを作り,マルチプレイヤー格闘ゲームを作りました」と,氏は語る。私は14歳の頃の私が誇りに思うようなゲームを作ります。GameMakerは,私が子供の頃に探検することを夢見た世界を作っています」
●GameMakerは(非常に)高速
GameMakerは,無数の理由から初心者のための頼れるエンジンとなっているが,リストの一番上にあるのはその速度だ。簡単なゲームを記録的な時間で実行しながら,簡単に繰り返し,プロトタイピングすることができる。
「GameMakerのワークフローは非常に高速です」とCoster氏は語る。「スプライトを画面にレンダリングする場合は,1行のコードです。フォントを追加する場合は,2段階の手順で説明します。サウンドを再生する場合は,1行のコードです。ほかのエンジンでは,一般的に,そのアイデアを得るために何らかの一連の手順が必要になりますが,GameMaker はほとんど努力を行わないで行えます」
●GameMakerはシンプル
GameMakerはまた,ほとんどプログラミングなしでゲームを作るためのプラグ&プレイシステムを使用しており,学ぶにもシンプルなエンジンだ。
「GameMakerを使用すると,プロジェクトを設定する際のオーバーヘッドが大幅に削減されます。-Benjamin Rivers氏
「GameMakerを使用するとプロジェクトを設定する際のオーバーヘッドが大幅に削減されます」と,Rivers氏は語る。「もっと汎用的な3Dエンジンを使用すると,ゲームの種類に応じて必要なエンジン内ツールを設定するため,多くのフロントエンド作業を行う必要があり,ときにはツールセットモード全体を選択する必要があります」「GMS2の2Dツールセットは,オブジェクト,スプライト,サウンドなどの最も一般的なものを簡単に処理します。必要なものの大半が入っており,2Dタスクと3Dタスクの両方をジャグリングしていないので,より軽量で,膨張が少なく,インターフェイスに集中しています」
●GameMakerは,学ぶことが容易な独自言語を持つ
単なるドラッグ&ドロップ ツールを超えたい場合でも,GameMaker は独自の言語を使用するため,プログラミングの知識は必要ない。
「GameMaker Language(GML)は,エンジンが使用するコード言語です」とDief氏は説明する。「C# や C++ のような一般的な言語ほど堅牢でもオブジェクト指向でもないので,プロジェクトが複雑になると天井に当たることがあります。しかし,GMLで十分な時間を過ごすと,あなたもそれを愛するようになるでしょう。それはほかの言語で得られない奇妙なクセとショートカットを持っています」
「C# はより堅牢ですが,"重い" です。GML はワイルドウェストで,結果が速く出るコードです。それは美しく,野生で,ときには恐ろしいものです。
GMLは,初心者とプログラマの両方にとって,学ぶことは簡単だ。Jon Peterson氏は10年以上にわたりGameMakerを使用しており,スプライト,サーフェス,背景を描画するシステムであるRetro Palette Swapperを含むエンジン用のツールとガイドを作成して名前を上げてきた。
「GMLは,タイプが少なく,構文要件が少ない,非常に寛容な言語です」と氏は語る。「必要ありません。各行の最後に,かっこなしで 'if' チェックを記述でき,新しい変数はほとんどいつでも定義できます」
●GameMakerは複数のプラットフォームへの移植を簡単にする
GameMakerが開発者の生活を簡素化するもう1つの方法は,適切な発行ライセンスを持っていれば,あるプラットフォームから別のプラットフォームにゲームを簡単に移植できることだ。
「GMLはワイルドウェストコードで結果が早く出るコードです。それは美しく,野生で,ときには恐ろしいものです」-Teddy Diefenbach氏
「実際にはプラットフォームを選択し,準備ができたら『エクスポート』ボタンを押すだけです」と, Rivers 氏は説明する。「我々は,1つのプロジェクトファイルから5つの異なるプラットフォーム上で,最新のゲームWorse Than Deathを出荷しました。これは,とくに複数の視聴者のためにタイトルを立ち上げ,管理したい小さなスタジオにとって大きな勝利です」●GameMakerのファイルサイズは最適化されている
GameMaker のシンプルさと柔軟性は,ファイルのサイズを見れば明らかであり,多くのことをしても軽量なままだ。
「GameMakerで作られたゲームは,ファイルサイズ,RAMの使用量,一般的なオーバーヘッドの面でかなり最適化される傾向があるので,かなり精巧なものを作ることができます」と,Coster氏は語る。「たとえば,ForagerとLevelheadでは,多くの場合,一度に何千ものインスタンスが実行されており,GameMaker はそれをうまく処理します」
「Levelheadはサウンドトラックに数十曲,数百のサウンド,何千ものスプライト,約90,000行のコードを持っています。250MB前後のファイルサイズに出てくるものすべて,ゲームは約350MBのRAMを使用します。どんなにコンテンツを入れても,それは小さなままです」
●GameMakerはデバッグが得意
デバッグは,あらゆるクリエイターにとって開発の重要な部分であり,GameMaker エンジンの見落とされがちな強みだ。
「デバッガーは優れていますが,十分に賞賛されていません」とAdams氏は語る。「それは私が使用したことのあるほかのエンジンと比べても頭一つ抜きん出ています」
●GameMakerは,ゲーム内のツールを構築することが容易
Teddy Dief氏によると,Heart MachineではHyper Light DrifterにGameMakerのドラッグ&ドロップシステムを使用せず,代わりにヒットゲームのカスタムメカニズムを書き込んている。Dief氏によると,GameMakerはスタジオがこれを簡単に行うためのツールを作成できるという。
「レンダリングシステムがシンプルなので,ほかのエンジンよりも簡単にゲーム内に独自のツールを構築することができます」と,氏は付け加えた。
GameMakerの欠点はなにか
●GameMakerは無料ではない
GameMakerの最大のパラドックスの1つは,初心者がすぐに何かをするのを助けることを意図しても,無料版はないということだ。たとえば,Unityを使用すると,個人は収益の上限までは無料で商用ゲームを作成できる。GameMakerの場合はそうではない。
「愛好家や教育セクターのユーザーは,GameMakerはお金がかかると指摘します」-Vadim Dyachenko氏
「GameMakerで認識されている欠点は,尋ねる人によって異なりますが,愛好家や教育セクターのユーザーは,お金がかかることを指摘します」と,Dyachenko氏は語る。「ゲーム開発ツールのコストは長年にわたって大幅に削減されましたが,そもそも予備資金があまりなければ使えません。「GameMakerは,1か月間の試用版を提供することで,これを実現しようとします。しかし,誰もが(それに1か月を)捧げるのに十分な時間を持っているわけではありません」
●GameMakerは3D用ではない
GameMaker の汎用性を賞賛する開発者もいれば,YoYo Games のエンジンが 3Dに関しては遅れているという指摘もある。Dief氏は,GameMakerが「3Dよりも2Dではるかに強い」と確認する一方,Peterson氏は3Dプロジェクトに対して「適切なサポートを欠いている」と付け加えている。
Peterson 氏は,「3D は可能ですが,3D アセット (モデル,テクスチャ,アニメーションなど) を操作するためのツールは存在せず,GMS2 の UI はMODできないため,3Dプロジェクトをより管理しやすくするためのツールを構築することはできません」
●GameMaker languageは悪い習慣につながる可能性がある
GMLは両刃の剣だ。:そのシンプルさは,開発者がGameMakerに引き寄せられる理由の1つだが,同じシンプルさは,そのうち多くの課題につながいうるものとなる。Teddy Dief氏によると,GMLはとくに大規模なプロジェクトを扱う場合,「長所と短所の両方」がある。
Peterson氏は,「GMLはとても寛容なので,開発者が別の言語に移行した場合に開発者を妨げる悪い習慣につながる可能性がある」と指摘する。
Adams氏は付け加える:「GameMakerでクリーンな名前空間を維持するのは困難です。これは,ゲームの複雑さと規模に対するハードリミットとして機能し,ライブラリと拡張機能の実装が難しくなります。再利用可能なコードを書くのは困難です」
●GameMakerの求人は困難
利点は十分にあるが,GameMakerの言語は採用の問題を引き起こす可能性がある。Rivers氏によると,「C#や同様の言語を好む熟練した開発者を説得するのは難しいです。C#を知っていれば,そちらで働きたいと思っています」
「GameMaker でクリーンな名前空間を維持するのは困難です」-Julian Adams氏
多くの開発者は,ほかのエンジンで作業した期間のあとでGameMakerを放棄する傾向があり,経験豊富な新入社員を見つけるのは比較的困難だ。「大規模なチームを運営し,エンジンを経験した多くの開発者を雇いたい場合,GameMakerは最近のメガロポリスエンジンであるUnityやUnrealよりも難しいです」とDief氏は語る。
●GameMakerのエコシステムは小さい
初心者向けエンジンとしてのGameMakerのステータスに起因するもう1つの問題は,とくにUnityやUnreal Engine 4と比較すると,その限られたアセットストアだ.
「GameMakerのアセットエコシステムはUnityよりも小さいです」とDyachenko氏は語る。「Webサイトやサービスは,GM向けにすぐに使用できる拡張機能をあまり提供していません。ほとんどの C++ SDK は,GM で簡単に使用できるようにラップできますが,それでも余分な作業は必要です」
●GameMaker は自動デプロイメントをサポートしていない
GameMaker はゲームを異なるプラットフォームに簡単にエクスポートできるが,すべてのプラットフォームのパッチを一度に自動的にパッケージ化してデプロイできるわけではない。Butterscotch ShennanigansのCoster氏によると,これは「現状のGameMakerで最大の問題」だ。
「ゲーム市場は今日では信じられないほど断片化しており,エクスクルーシブによる制限のないインディーズスタジオであれば,生計を立てる最善の方法は,できるだけ多くのプラットフォームにゲームを置くことです」と,氏は語る。そのためには,展開を自動化してビルドを作成し,サポートされているすべてのプラットフォームにパッチを一度に送信できるようにする必要がある。
「GameMaker用に独自の自動デプロイメントパイプラインを構築しましたが,それを実現するには多くのハッキーな回避策が必要でした。ほとんどのチームはそれを実現するための時間やリソースを持っていません」
●GameMakerは,より多くの機能を必要とする
全体的に見て,GameMakerの弱点のほとんどは,その小さなエコシステムから出たものだ。YoYoゲームは,単にEpic GamesやUnity Technologiesほどのリソースを持っておらず,それはエンジンの能力に示されている。
「上級ユーザーと中級ユーザーは,一般にスクリプト言語で,より多くの機能を必要とします」と,Dyachenko氏は語る。「複雑なアセットパイプラインを持つ人々は,組み込みエディタを拡張するためのツールを望んでいます。これは非常に有効なものですが,正しく実装するためには膨大な時間投資が必要です」
「上級ユーザーは一般にGameMakerのスクリプト言語で多くの機能を望んでいます」-Vadim Dyachenko氏
Adams氏は,GameMakerのビジュアルスクリプトシステムについて懸念を持っている:「それはUnrealで利用可能な強力なツールの影であり,2つの比較はGameMakerに有利ではありません……。私はこの点で明るいアイデアを持っていません。GameMakerは遅れています」GameMaker は,いくつかの主要な言語でもサポートを受けている。Downwellの開発者,麓 旺二郎氏は,GMS2が「日本語にローカライズされたので,開発者にもっと勧めたい」と願っていると語る。
新しいGameMakerユーザーへのアドバイス
●試してみて,主要な分野でその機能をテスト
エンジンを理解する最善の方法は,実際に使用してみることだが,GameMakerでは,ビルドするプロジェクトのニーズに対してテストすることがとくに重要だ。
「GameMakerには,公式の学習ページに多くのチュートリアルシリーズがあります」と,Dyachenko氏は語る。「2回くらいゲームジャムに参加する ― 1〜2日間のジャムが最適― ことは,『現実的なの条件』でツールをテストする機会を提供し,間違いを犯してもあまりリスクはないので,お勧めです」
Rivers氏は付け加える:「パフォーマンス,ネットワーキング,協力,2Dワークフローなど,重要な柱をテストしますが,何もできないとは思ってはいけません。GMでリリースされた驚くべき創造的なプロジェクトの膨大な多様性が,何度もそれを証明しています」
「GMS2が適切なエンジンであるかどうかを判断する前に,どのような種類のゲームを作成し,どこでリリースしたいのかを確認しておきます。とくにほかのエンジンから来ている場合は,誰もがGMS2のプログラミング言語やその一般的な流れと適合するわけではありません」
●ドラッグ & ドロップをスキップして GMLの学習を開始する
GameMakerのドラッグ&ドロップ機能は,初心者ユーザーに関しては強みだが,プロのゲーム開発者になることを意図している場合は,さらに先に進む必要がある。
「ドラッグ&ドロップはクールな機能ですが,プログラミングの経験がまったくない方にのみお勧めします」と Peterson 氏は語る。「できるだけ早くGMLに飛び込むことをお勧めします」
「また,チュートリアルからコードをコピーして貼り付けないでください。自分でコードを記述し,すべての関数と変数の名前を変更します。コードを独自に学んで,作るほうがはるかに良いのです」
●GameMakerのコミュニティに頼る― 彼らは喜んで手伝う
GameMakerは,喜んであなたを助けてくれる愛好家や専門家の非常に強力なコミュニティを持っている。Adams氏によると,エンジンのコミュニティは「ほかのものとは違う」という。
「経験豊富なプロの開発者と初心者との距離は小さいです」と氏は語る。「新しい技術が発明されるとすぐに次の世代の手に渡ります。我々は常にゲーム開発に対する理解を深めており,自己改善はGameMakerのDNAに深く組み込まれています」
Dyachenko氏は,何か問題が発生した場合に見るべきコミュニティ主導の場所をいくつか挙げている:「適切にモデレートされ,中長期的な議論に役立つ公式フォーラムがあります。7000人のメンバーのDiscordサーバーと関連する大きなGitHub組織があり,小さいながらも多数の質問がある場合は,おそらく最適な場所です」
Adams氏によると,そのコミュニティ感覚は「歴史全体の弱者」であるGameMakerではとくに強いという。小さいなりの,いくつかの欠点はあるが,競合他社が真似できない特異な利点がある。
「我々は境界を押し広げ,自分で物事を発見し,正直で美しいものを作ります」と氏は説明する。「ゲームエンジンは確かに道具ですが,文化でもあり,私はその文化に留まっています。技術が加速し,製品が集積し,絡み合っている世界では,GameMakerを異なるものにしているのはコミュニティスピリットです。だから私はここに留まっているのです」
すべての主要なゲームエンジンに関する詳細なガイドは,ゲームに最適なテクノロジーを見つけるのに役立つ― このページは定期的に更新され,新しいエンジンがリストに追加される予定だ。あなたが最も人気のあるゲームエンジンを見ている場合は,すぐに我々のUnityガイドにジャンプするか,ここでUnreal Engineの詳細を読むことができる。
※本記事はGamesIndustry.bizとのライセンス契約のもとで翻訳されています(元記事はこちら)