4

趣味でゲームを作ろうと思っています。これらの言語でプログラミングする利点は何ですか?
Unity と Java には組み込み可能な独自のアプレットがあり、C# には Windows Phone、XBOX 360、および PC 向けのゲームを開発するためのソフトウェア パッケージ (XNA Game Studio) があると思います。

いくつかの基準:

  • 言語のプラットフォームの互換性はどのくらいですか (Mac で実行できますか、PC で実行できるようにしたい)
  • ゲーム開発用のライブラリはありますか (これらを含めてください)?
  • ランタイムの基本性能は?(クラッシュは頻繁に発生しますか?)
  • Webブラウザで実行できますか?
  • ユーザーはランタイムをインストールする必要がありますか?
  • 言語を良くするその他のこと...

PC向けゲームを開発したい。

4

5 に答える 5

9

私のサポートをC#、特にXNAの背後に置くことを許可します。

Mono(MonoTouchやMonoDroidなどの有料ライブラリを含む)を使用すると、C#をほぼどこでも実行できます()。C#は確かにゲーム開発に十分な速度です。そして、ランタイムは非常に安定しています。Silverlightを介してブラウザー内で実行できます。

私の意見では、C#は、特にゲーム開発において、特にツールとライブラリのサポート、特にXNAを考慮すると、言語としてJavaよりも優れています。

XNAはゲーム開発ライブラリ(範囲はDirectXに似ています)であり、XNA用に構築されたライブラリもたくさんあります。さらに、利用可能サンプルコードの最高のライブラリがあります。

XNAは、Windows、Xbox 360、Windows Phone 7、および(古いバージョン)Zuneでネイティブに実行されます。

PCでは、C#とXNAはそれぞれランタイムを必要とします。MicrosoftのClickOnceインストーラーを使用すると、これが非常に簡単になります。これにより、ユーザーにブートストラップインストーラーが提供され、必要に応じてMicrosoftからランタイムがダウンロードおよびインストールされます。.NET 4.0クライアントプロファイルは41MB、XNA4.0は7MBです。この回答には詳細があります。

さらに、XNA(2D APIのみ)を他のプラットフォームに移植するプロジェクトがあります。私は現在、高品質の2D XNA実装をブラウザー(Silverlight)、iOS、Android、およびMacに導入することを目的として、ExEnというプロジェクトに資金を提供しています。

ExEnを待つことができない場合は、ExEnのベースとなっているライブラリのいくつか(SilverSprite(Silverlight)およびXnaTouch(iOS))を試すことができます。SilverSpriteはかなりバグがあり、XnaTouchの方が少し優れています。

(現時点では、これらのプラットフォームで3Dゲームを実行したい場合は、Unityの方がおそらく優れたオプションです。)

于 2011-02-21T11:01:45.177 に答える
5

明確にするために、Unity は言語 (C# や Java など) ではなく、オーサリング ツールおよびランタイムです。ゲームのロジックは、C#、UnityScript (JavaScript 風)、または Boo (Python 風) で記述します。オーサリング ツールは非常に安定しており、強力で、小規模なチームに 3D モデル、テクスチャ、サウンド、シェーダーなどを追加するための素晴らしいパイプラインを提供します。

ゲーム開発者としての (かなり長い) プロとしてのキャリアの中で、Unity よりも優れたオーサリング ツールを 1 つだけ使用しました。それは、一流のエンジニアのチームによって長年にわたって開発された社内独自のツールでした。

私が認識している Java の世界には、Unity に相当するものはありません。XNA は、C# をそのまま書いている場合に有利なスタートを切ることができますが、達成できることに近づく前に、多くの基本的なもの (物理学、粒子システム、衝突検出) を作成/統合する必要があります。 Unity との 1 日目。

スタンドアロンの Unity ゲームは、Mac または Windows 用にビルドできます。スタンドアロン ビルドでは、ユーザーが Mono をインストールする必要はなく、私の経験では非常に安定しています。また、Mac および Windows の A クラス ブラウザでゲームを実行できるようにする Unity Web Player もあります。Web プレーヤーは、約 3,500 万のブラウザーにしかインストールされていません (多いように聞こえますが、Facebook のユーザー数は 5 億人を超えていると考えてください)。

私はサクラのように聞こえますが、Unity は本当に優れたツールです。

于 2011-02-21T17:43:37.803 に答える
1

ゲーム開発では、C#はJavaやJavaScriptよりもはるかに優れています。Unity3D
を使用している場合は、JavaScriptではなくC#を使用できます。

Unity3D

長所:

  • Unity3Dの動作:Windows、Mac、XBOX、PS3、WII、iPhone、Android
  • Unityには物理エンジンが組み込まれています(これを2Dゲームで使用する場合は、プログラムで軸を特定する必要があります)。

短所:

  • PCまたはMac以外のプラットフォームには費用がかかります。

XNA

長所:

  • XNAは次で実行されます::Windows、XBOX、Phone7。
  • XNAはすべてのプラットフォームで無料です。

短所:

  • Microsoft製品に限定されます。より多くのコーディングが必要です。

始めたばかりで3Dゲームを作りたい場合は、Unity3Dを調べます。2Dゲーム
をやりたい場合は、XNAまたはUnity3Dが適しています。 残念ながら、どちらもLinuxでは動作しません。:(

于 2011-02-22T17:36:04.633 に答える
1

私はもうプログラミング言語については考えていません。ターゲットプラットフォームによって異なります。

  • xbox + pc> xna、.net
  • android> java
  • html5> javascript
于 2011-02-21T09:53:17.303 に答える
0

私は Unity をかなり広範囲に使用してきましたが、断固としてお勧めします。すべてのプラットフォームに対応しています (ライセンスを購入する必要があります) が、非常に優れたエンジンです。一見の価値あり!さらに、モノを使用するため C# で開発できるという事実は、大きなプラスです。

于 2011-02-21T10:03:49.473 に答える