ゲームエンジンを使用する利点と欠点は何ですか?[閉まっている]


28

ゲームエンジンを使用するかどうかを知るにはどうすればよいですか?Android用の比較的複雑な2Dゲームを作りたいです。ゲームエンジンを検索、インストール、学習するか、すべてを手動で実行するかを決定するには、どの要素を考慮する必要がありますか?


ここで、ゲームデザインが最適なタグであるかどうかはわかりません。しかし、エンジンはブラックリストに登録されています。この質問はおそらく削除するだけです。
-Gnemlock

回答:


25

利点:

  • すべてではありませんが、ほとんどのコーディングが自動的に行われるため、心配する必要があるのはコンテンツ、レベルレイアウトなどだけです。

  • これらのラインに沿って、メモリ管理、アセットの読み込み、照明(複雑なエンジンの場合)などがすべて設計され、テストされています(うまくいけば)。

  • 以下で説明するように、エンジンがクロスプラットフォームの場合、ゲームを移植するためにほとんど作業を行う必要はありません。

短所:

  • 何かを変更する場合は、新しいコードベースに慣れる必要があります。
  • エンジンにバグがある場合、オープンソースでない限り修正できません。
  • このエンジンはゲーム専用に設計されたものではないため、ゲーム専用に記述するコードよりも効率が悪い場合があります。
  • 通常、ゲームエンジンは無料ではありません。
  • ゲームが小さい場合、エンジンを使用するオーバーヘッドは、自分でコードを記述するために費やす時間の価値がない場合があります。
  • ゲームエンジンにもエディターやツールがある場合は、それらをアーティストに引き渡すか、自分で信頼する前に、それらもビルドおよびテストする必要があります。

欠点のリストが長くなるという事実を許可しないでください:必要なすべてのシステムのコーディングとテストに費やす時間が生産サイクルに対して長すぎる場合、またはコードよりも芸術のスキルがある場合、ゲームエンジンを使用するのは間違いなく良いアイデアです。

この質問では、ゲームエンジンの比較が行われています。さまざまな3Dゲームエンジンの長所と短所


3
これは全体としてかなり良い答えですが、最初の文で眉をひそめました。「すべてのコーディングが行われていない場合でもほとんどの場合」を「ほとんどの低レベルコーディングが行われている」に言い換えることを強くお勧めします。「コーディングを必要としないゲームを作ろう!」という神話を永続させることは無責任な点に誤解を招きます。
冗談

また、エンジンは簡単にできることを制限する場合があります。たとえば、MinecraftやDwarf-Fortressスタイルの修正可能な地形をサポートしていない人がほとんどです。必要のないゲームには適していますが、Minecraftのクローンを使って幸運を祈ります。
user253751

15

私の場合、ゲームエンジンのために何もしなくてはならないことに多くの時間(月)を費やしました。私は現在、それらを疫病のように避けるのが一般的ですが、それらは賢明かつ適度に使用されるべきだと理解しています。

私にとっては、すべての可能性に夢中になりますます!エンジンXの機能の長いリストを見ると、「すごいこれが全部できるんだ!私のゲームは素晴らしいかもしれない!」だから私はそれをダウンロードし、デモを実行し、それらの機能に目を奪われます。その後、IDEで新しいプロジェクトを作成し、どこから始めればよいのかわかりません。私はいくつかのコードを書いて、デモプロジェクトから学び、それをベースにするかもしれませんが、それらは単なるデモでした。

何もないところから始めて何かを作る方法を知りませんでした。私は最初のステップを知りませんでした。エンジンのアイデアが大好きで、感銘を受けて何かを作る意欲がありましたが、実際の開発に関する知識は非常に限られていたので、ビルドパスにエンジンを追加する方法を知っていて、おそらく数行を書いてエンジンを停止してから再びシャットダウンしましたが、それ以上の価値はありませんでした。

私ははるかに赤ちゃんのような人です。むしろ、自分のゲームを1ステップずつ作成し、便利な機能をリファクタリングし、それらの機能をライブラリに集めて、いつかは「エンジン」と考えるかもしれません。だから今のところ、私はエンジンの誇大広告を避け、低レベルのものだけに固執します。

そして、エンジンには場所があります。エンジンを見つけて、「これはまさに私が書くことです!彼らはすでに私のために仕事をしました。車輪を再発明する必要はなく、それをゲームにフックする方法を正確に知っています。すでに開始していること(または少なくとも完全に計画されており、開始する準備ができていること)」とすれば、おそらく適切です。使用方法と、エンジンを使用して有用なものを作成するための独自のコードの記述方法を正確に理解できます。しかし、エンジンを手に入れるのは、台所の流し以外のすべてがあり、巨人の肩の上に立っていると思うなら、あなたは非常に間違っています。目の前に巨大な立ち姿があり、肩まで登る必要があります。

だから、私にとって大きな不利な点は、あなたができることすべてに巻き込まれないことです。どのエンジンを選択しても、潜在的な可能性は膨大です。しかし、実際に可能性を活用する方法がわからない場合、それがあなたのライブをより簡単にしたり、仕事を終わらせたりしない場合、なぜそれを使用しているのですか?


4

ゲームエンジンの最大の欠点は、学習しなければならないことです。プログラミング全般に慣れていない場合、それはエンジンが箱から出して処理するすべてのことを行うためのコードを書くことを学ぶよりもまだ速いかもしれませんが、経験があれば、座る時間はかかりませんダウンしてコーディングを開始しますが、なじみのないエンジンを回避するためのかなりの時間を事前に費やしてください。

ゲームエンジンは完璧ではなく、頭を読めないため、最大のサポートはサポートです。ある時点で何かにこだわることになります。そう:

  • ドキュメントはありますか?
  • ドキュメントは実際に何か良いですか?
  • テクニカルサポートはありますか?所要時間は何ですか?
  • 質問を投稿して実際の回答を得ることができるコミュニティフォーラムはありますか?
  • エンジンの使用を開始する方法を示すチュートリアルはありますか?サンプルソースコードは含まれていますか?これらをスピードアップするのにどれほど役立ちますか?

2
ドキュメンテーションを目立つように
前もって

3

ソフトウェア開発の経験が豊富で、最近ゲームをゼロから開発しようとした人として、ここに私の2セントがあります。

これまでの回答は、長所と短所の長いリストを提供してきました。ゲームエンジンを使用しない最も重要な理由を説明します。チャレンジと報酬のために純粋にゲームを書くことを学ぶタスクを引き受けたので、OpenGLとSDLだけでエンジンなしでゼロからそれをすることにしました。ことにしました。その抽象度以上のすべて。私はその決定を後悔していない。私のゲームは、2D Asteroidsの素敵なスクロールバージョンで、基本的ですがスムーズです。私は非常に優れたゲームと競争しようとはしていませんが、ゲームを配布し、人々はそれを楽しんでいます。ゲームをマルチプレイヤーにするのに同じアプローチを取ります。これは大きな課題であり、ライブラリを使用すると簡単になりますが、私の目標は簡単にすることではありません。私の目標は学ぶことであり、私にとってはパートタイムの活動なので、あまり時間がなく、進歩は遅いです。しかし、このアプローチには理由があります。それを「高等学習」と呼びます。

それで、あなた自身の質問に答えてください、あなたはこの学習がもたらすかもしれない利益のためにゲームエンジンが代わりにあなたのためにすることをする方法を学びたいですか?その場合、ゲームエンジンを使用しないでください。


2

「複雑な」という意味を詳しく説明する必要があります。優れたゲームエンジンは、次のすべてを処理します。

  • 安定したフレームレートでのレンダリング
  • 入力処理
  • ユーザーインターフェース
  • 音/音楽
  • リソース管理(画像、音声、データファイル)
  • ゲームの保存/読み込み
  • 物理学(2dまたは3d)

自分で考えて、これらのそれぞれをコーディングする方法を知っていますか?それぞれをプログラムするのにどれくらい時間がかかりますか、また、これらのそれぞれをエンジンにさせる方法を学ぶのにどれくらい時間がかかりますか?


1

最大の利点:多くのことがあなたのために行われます。車輪を再発明し続ける必要はありません。

別の利点:ゲームエンジンはクロスプラットフォーム(Unity)でもあります。

欠点?コントロール?エンジンはいくつかのことを処理します(レンダリングなど)ので、バグやパフォーマンスの問題がある場合は、単純に自分で修正することはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.