4

幸せな感謝祭、まず第一に、Visual Scripting がゲーム エンジン用に作成された新しいものかどうかを調べていました。ビジュアル スクリプティングの例をいくつかお見せしましょうビジュアル スクリプティング

もう 1 つは、IDE で C++ コードを記述するような通常のコーディングです。両方を試してみましたが、理解しようとしてきた問題は、両方を試したので、ビジュアル スクリプティングの方が簡単で、理解しやすいように思われるということです。少なくとも私は、「プレイヤーコントローラー」のようなコードを書いているときと比較して、ノードを接続するときは理にかなっていると感じています。c++でプレーヤーコントローラーのコードを書くのに約2時間かかりましたが、ノードを接続してビジュアルスクリプトを使用してプレーヤーコントローラーを作成するのに1時間しかかかりませんでしたが、プロセスは簡単で高速でしたが、気分が良くありませんでした、ノードを接続するだけでなく、C++ コードを書くことの利点についてもっと考え始めました。ここに質問があります:コードを書く利点は何ですか? ビジュアル スクリプトを使用する利点は何ですか? 両方の欠点は何ですか?Visual Scripting のこの利点は、C++ コードを書くほど複雑ではないことを知っています。

また、「既に作成されたスクリプト」(Visual Scripts) よりもコードの記述が高速になります。

最後の質問ですが、どちらかを選択する必要がある場合、ビジュアルとコードのどちらを選択しますか?

注: ゲーム エンジンの Web サイトではなく、ここで質問することにしました。これは、ほとんどのゲーム エンジンの Web サイトでは、(ビジュアル スクリプティング) ではない「幸せな方法」を好む「プログラマー」を見つけることができるためです。 (コードを書く)「悲しい方法」

今回は、反対票が多すぎる結果になるような「悪い」質問をしなかったことを願っています:)感謝祭なので気をつけてください;)

更新: Unreal Engine の Web サイトから入手した、Unreal エンジンで使用している Visual Scripting に関する詳細情報を次に示します。Unreal Engine のブループリント ビジュアル スクリプティング システムは、ノードベースのインターフェースを使用して Unreal Editor 内からゲームプレイ要素を作成するというコンセプトに基づいた、完全なゲームプレイ スクリプティング システムです。このシステムは非常に柔軟で強力です。設計者は、通常はプログラマーのみが利用できるほぼすべての概念とツールを使用できます。ブループリントを使用することで、デザイナーは次のようなほぼすべてのゲームプレイ要素のプロトタイプ、実装、または変更を行うことができます。 ゲーム - ゲーム ルールの設定、ゲームプレイ条件の微調整など カメラ - 新しいカメラ パースペクティブのプロトタイプを作成するか、プレイ中にカメラを動的に変更します。入力 - プレイヤー コントロールを変更するか、プレイヤーがアイテムに入力を渡すことができるようにします。アイテム - 武器、呪文、ピックアップ、「何か複雑なものを作らなければならない場合、そのためのコードを書かなければならないというようなことはないと思います (私の意見です)。

4

3 に答える 3

8

Visual Scripting は、Unity、Construct 2、Unreal Engine などの多くのゲーム エンジンでよく使用されます。

何故ですか?はるかに簡単だからです。
VS で記述されたコードは理解しやすく、多くの場合、1 つのノードで 100 行の通常のコードを置き換えることができます。
それに加えて、はるかに理解しやすく、何が起こっているのかを理解するのが簡単になります。
さらに重要なことは、習得が簡単で、知識の少ない人でも実際に使用できることです。
このようなスクリプトの背後では多くの処理が行われており、実際にスクリプトを使用するために何が起こっているかを知る必要はありません。

通常のコードを入力するときは、自分が何をしているのかを知る必要があります。これにより、熟練したユーザーははるかに高い柔軟性とパフォーマンスを得ることができます (ビジュアル スクリプトにはこれが欠けていることがよくあります)。このようなプロジェクトを編成するのははるかに難しく、コードは簡単に手に負えなくなります。しかし、ええ、パフォーマンスと柔軟性、それは本当に大きなことです.

たとえば、いくつかのエンジンでは、Player Jump などを記述するだけで、それがどのように発生するかを気にする必要はなく、ゲームの仕組みや物理的な仕組みなどを知る必要さえありません。

どちらかを選ばなければならないとしたら、プロジェクトに応じて選びます。これは同じ質問
です。ゲーム エンジンでゲームを作成できる場合と、コードを使用してゼロから作成できる場合、どちらを選びますか?

私たち全員が独自の好みを持っています。大企業は、独自のテクノロジーとエンジンを作成して、作業を高速化し、作業を容易にする傾向があります。

したがって、長所/短所:

VS:
+ 迅速な開発
+ 保守が
容易 + 習得が
容易 + チームでの作業が容易
+ 移植性が高い
+ 気にする必要のない多くのものが隠されている
+ はるかに明確
+ 「コードエラー」が含まれていないことが多い
+不器用にやさしい (セミコロンを忘れない)
- 柔軟性の欠如
- 何が起こっているのかよくわからない
- 問題を解決する方法は学べるが、特定のエンジン以外ではそれを実行できない
- 多くの場合、コードよりもはるかに遅い
- パフォーマンスの更新はできません
- エンジンに依存します (それぞれ別のコーディング方法を使用します)
- 各エンジンの仕組みを学ぶ必要があります
- エンジンのバグがある場合、修正できません。パッチを待つ必要があります
- 多くの場合、有償であるか、可能性に欠けています - そうです
、可能性は限られています

コード:
+ 実際に何かを行う方法を学ぶことができます
+ 道を譲りますより多くの可能性
+ コーディング方法を学べば、何でもコーディングできます
(エンジン スクリプトを学べば、それに制限されます。ゲーム以外のアプリケーションを作成することはありません)
+ 基本的に制限はありません (技術的なこと以外)
+ 1 つ学べば+他の現代言語を理解するのははるかに簡単です
+ あなたは実際に起こっていることをコントロール
できます + アルゴリズムの書き方やプログラムの仕方についての真の知識を与えてくれます
+ コードは企業から独立している
+ ほとんどのものは無料
+ スクリプトよりもはるかに高速である可能性がある
- 高度なことを学ぶのが難しい -
大きなプロジェクトを維持するのが難しい -
不器用で何かを壊すことができる-
他の人が理解するのが難しいことが多い
- ないVisual Scripting と同じくらい明確
- ある時点で維持するのが難しい
- プラットフォームに依存するものがたくさんある
- 実際に何かを行うには、かなりの量のことを学ぶ必要がある

どちらを選択するかは、状況、会社、チームの好み、締め切り、プラットフォーム、目的などによって異なります。

私はあなたのためにそれを整理したことを願っています:)。

于 2014-11-28T01:36:13.080 に答える
7

UML を見ると、コードで実行できるすべてのことをほぼ網羅したモデリング言語であり、システムのモデリングには最適ですが、プログラム生成に使用すると不十分です。基本的に、非常に複雑な相互作用を記述するには、同等のコードを記述するよりも、はるかに多くのダイアグラムとダイアグラムが必要です。

シンプルな 5 通りの switch ステートメントを考えてみましょう。書くのは簡単、描くのは難しい。システム内のさまざまな経路をモデル化することは、非常に面倒で、あっという間にできてしまいます。

コード生成のドラッグ アンド ドロップ接続モデルは、単純なデータ パスがある場合は非常にうまく機能しますが、ステート マシン間の複雑な相互作用について話すと、非常に複雑になります。過去に、この種のビジュアル モデリング システムは、複雑さに対応するために接続に関するスクリプトを作成することになることに気付きました。これにより、多くの場合、単純なコードよりも理解が難しくなり、何が起こっているのかを見つけるのがはるかに難しくなります。

最後に、言語のレベルが高ければ高いほど、パフォーマンスと制御の点でより多くのトレードオフを行う必要があります。したがって、これらが重要であるほど、選択する言語のレベルは低くなります。タイム クリティカルなデバイス ドライバ関数を作成している場合は、最終的にアセンブラを作成することになりますが、自動化のための高レベルのメニュー システムは、スクリプト言語で問題なく作成できます。ビジュアル言語は非常に高水準の言語であるため、トレードオフは非常に高くなる可能性があります。ただし、市場投入までの時間は、言語レベルが高くなるほど短くなる傾向があります。そのため、何かにどれだけの時間と労力を費やしたいかも要因になります。

于 2014-11-28T01:14:49.367 に答える
2

「ビジュアル プログラミング」は「新しい」概念でも、ゲーム プログラミングにとって新しいものでもありません。

これは非常に広い概念でもあります。「ビジュアル プログラミング」の考え方には、さまざまな分野で多くの用途があります。

あなたは「ゲームプログラミング」について言及しました。もう一つは「教育」です。例えば:

Hour of Code: アナとエルサとのコーディング

于 2014-11-28T01:21:01.793 に答える