web-dev-qa-db-ja.com

グラフィックスキルのないHTMLキャンバスゲームの開始

趣味のゲーム開発をしたいのですが、不幸なハンディキャップがあり、迷いました。私には芸術的な才能がなく、3Dグラフィックスの経験もありません。でもこれは趣味のプロジェクトでどこにも行かないかもしれないので、気になるものを開発したいです。ゲームの可能性が高い場合は、グラフィックの「スタブ」をより洗練されたものに置き換えることができます。ただし、グラフィックエンジンで最終目標に近いものをレンダリングする必要があります。

ゲームはタイルベースで、各タイルは正方形です。各タイルには標高もあります。私のターゲットプラットフォーム(変更される可能性があります)は、2DまたはWebGLコンテキストのいずれかを使用したHTML5キャンバスへのJavaScriptレンダリングです。

ゲーム開発の経験がある方への私の質問は、2Dグラフィックエンジンとスプライトを使用してアイソメトリックゲームを開発する方が簡単か、それとも基本的な3Dプリミティブと基本的なテクスチャを使用して3Dゲームを開発する方が簡単かということです。等角投影には制限があることに気づきますが、使い捨てグラフィックエンジンの開発が容易になれば、導入される視覚的ないぼでも大丈夫です。それとも、実際の3Dエンジンで3Dの世界を表現する方が簡単ですか?

4
Jacob

一般的に言えば、2Dおよび疑似3D(等角投影法やその他の軸測投影法など)は、多くの点で3Dよりもはるかに簡単です。

まず第一に、3Dゲームロジックは2Dよりもはるかに複雑です-衝突検出や物理学などの多くの単純な手法は3Dでは機能しません。機能する場合でも、3Dでは何が起こるかについて頭を包むのは非常に困難です。 。 (結局のところ、私たち人間は比較的平坦な表面に住むように構築されているため、私たちの脳は本質的に2.5Dです)。

もう1つの問題は、3Dアートワークがはるかに複雑であるということです。 2Dグラフィックスでは、考慮すべき視点は1つだけです。スプライトがエディターで見栄えがよい場合は、ゲームでも見栄えがします。 3Dでは、通常、メッシュモデルを使用しており、それらは動的にシェーディングされ、視点と光の方向の両方が事実上何でもかまいません。モデルは常に説得力があるように見える必要があるため、2Dスプライトよりも作成がはるかに困難になります。

そして、Webには技術的な制約があります。

  • WebGLはまだ普遍的に利用可能ではありません。これをまったく実行するには、一部のプラットフォームでかなりの黒魔術が必要です。たとえそれが機能しても、パフォーマンス特性はまったく信頼できません。対照的に、2Dキャンバスは、最近のブラウザやOSですぐに使用できます。 2Dキャンバスで3Dグラフィックスを実行することは完全に可能ですが、部分的なオクルージョンを正しく行うにはかなりのトリックが必要であり(ポリゴンを互いにクリッピングするか、次善の画家のアルゴリズムを使用する)、テクスチャプリミティブはほとんど不可能です。また、すべての照明コードを自分で作成する必要があります。ただし、一般的なアイソメトリックグラフィックエンジンは、2Dキャンバスで完全に実行できます。
  • Javascriptはシングルスレッドであり、スムーズなグラフィックスに必要な正確な低粒度のタイミングを提供することを目的としていませんでした。アニメーションの滑らかさのヒックアップは、3Dシーンがほとんど静的であり、カメラの移動を伴わない場合を除いて、3Dよりも2Dゲームの方がはるかに許容できます。
6
tdammers

これは非常に遅い答えですが、まだそれを続けているか、最近同様のことに取り組んでいる場合は...

ずっとスプライト!私は長い間3Dグラフィックスで働いていましたが、それは複雑です。研究は常に変化しており、ゲームエンジンは非常に高くなっています。たとえば、最新のエフェクトやシェーダーを実装する方法を学ぶだけで、何ヶ月も費やしてしまう可能性があります。開始時にボーン付きのキャラクターをアニメートするだけでは、シーングラフとモーション階層の設計からIKソルバーに至るまで、かなりの時間がかかります。

3Dモデリングにも時間がかかります。単純なモデルを作成するだけで個々のフレームをすべて描画する必要がないため、非常にブロック状の3Dの外観などを作成する場合は、速度が向上することがあります。複雑なテクスチャを使用して精巧な3Dモデルを作成しようとしている場合、UVマッピングとペイントおよびリギング/スキニング(キャラクターの場合)のプロセスだけで、1ダースのスプライトシートを耕すよりも時間がかかることがあります。

アイソメトリックはそれを少しトリッキーにします-アイソメトリックグラフィックを描くのは難しいです...私はそれを以下で説明します。

私には芸術的な才能がなく、3Dグラフィックスの経験もありません[...]

レトロなスタイルはいかがですか?復活しつつあります。つまり、次のような本当に分厚いピクセルアートを意味します。

enter image description here

それは昔ながらのスタイリッシュで、この種のスタイルは実際に商用インディーゲームに合格することができます。

ゲームはタイルベースで、各タイルは正方形です。各タイルには標高もあります。

それは絶対に等尺性でなければなりませんか?アイソメトリックグラフィックを描くのは本当に難しいです。私は昔、ピクセルアートをやっていましたが(アーティストとしてではなく、飢えたインディゲーム開発者として)、アイソメトリックは非常に困難でした。私の芸術的スキルの欠如は、私が物事を適切に遠近法で描くことができなかったので、そのような視点でほとんどを示しました。

上のスクリーンショットのように間抜けな視点を使用する方が簡単ですが、トップダウンビューを使用する方が適切です。戦術的なRPGや戦略ゲームのように、仰角の概念が視覚的に伝えるのに絶対に重要ではない場合、それを表すようなタイルをいつでも使用できます別の方法の概念。例:

enter image description here

...ターンベースのゲームであれば、この種類のタイルビューを山や森などさまざまな標高で使用できます。仰角の概念を視覚的に直接伝えることはありませんが、そうすることが重要でない場合は、ゲームプレイにもっと集中するのに役立ちます。この種のスタイルは、依然としてWebやモバイルで人気があります。コンテキスト。

少なくとも、上記のこの即時ゲームのようにスプライトとタイルを描画するために使用しましたが、それでも時間がかかりました。 2Dの方が簡単だと思いますが、Isometricはいつも食べてしまいます。このゲームのように、標高の概念が視覚的に伝達することが重要である場合は、アーティストのバディと接続すると便利かもしれません。

enter image description here

3
user204677

2Dアイソメトリックスプライトベースのゲームは、HTMLキャンバスの3Dよりもはるかに簡単です。

1
Dave