9

ゲームのプラットフォームを検討する際に、マルチプラットフォーム(Win / Lin / Mac)を選択しましたが、ブラウザーとデスクトップのどちらを選択するかは決まっていません。私はまだ開発が進んでおらず、今考え直しているので、あなたの意見をお願いします!


Javaアプレットを使用したブラウザベースのゲーム:

  • 市場浸透率はかなり高いです(バージョン6の場合、約60%だと思いますか?)
  • JOGLを使用すると、3Dのパフォーマンス/品質はまともです。確かに私が作ったくだらない3Dグラフィックスをレンダリングするのに十分です
  • Androidに何かを移植する(小さな?)可能性があります
  • コンピューターを頻繁に切り替えるゲーマーの聴衆に最適です。任意のコンピューターに座って、Webページをロードして再生できます
  • また、ブラウザでゲームをプレイすることに非常に満足しているが、コンピュータにこれ以上のものをインストールしたくないカジュアルゲーマーや知識の少ないゲーマーにも最適です。
  • 私はC++よりも使い慣れた高級言語で書かれていますが、同時に、学校を卒業するとゲーム業界に向かう可能性があるため、C++のスキルを向上させたいと考えています。 ..
  • より簡単な更新プロセス:ページをリロードします。

古き良きC++とOpenGLを使用したデスクトップゲーム

  • 完全なクロスプラットフォームを想定した場合、100%の市場浸透率。ただし、実行可能ファイルをダウンロードしてインストールする人の数を考慮すると、Webページを参照してセキュリティ警告に「はい」を押す場合と比較して、その数は少なくなります。
  • クロスプラットフォームを維持するためのより多くの問題。しかし、繰り返しになりますが、学習の目的で、私は挑戦と私が得る知識を受け入れます
  • すべての周りのより良いパフォーマンス
  • 真のフルスクリーンですが、ブラウザゲームはスムーズなフルスクリーングラフィックスに苦労することがよくあります(特にLinuxでは、私の経験では)
  • Steamなどの配信プラットフォームを利用できます
  • 「本物の」ゲームと見なされる可能性が高いのに対し、ブラウザやJavaゲームは、本物のゲームではないため、「ハードコアゲーマー」によってプレイされないものとして却下されることがよくあります。
  • インストーラーは大きくなる可能性があります。ダウンロード時間についてそれほど心配する必要はありません

両方の長所を活かす方法はありますか?私はJavaアプレットが大好きですが、デスクトップゲームを書く理由も本当に好きです。JavaアプレットプロジェクトとC++プロジェクトの間で常にすべてを移植したくはありません。それは2倍の作業になります!

Unityは、独自のWebプレーヤープラグインを作成することを選択しました。私は自分のWebプレーヤーを何もインストールしない人の一人であり、視聴者にブラウザープラグインをインストールするように説得することができないので、これは好きではありません。

私のオプションは何ですか?Unity以外に、ブラウザバージョンとデスクトップバージョンのゲームの例はありますか?上記の賛否両論のリストに何かを省略しましたか?

4

10 に答える 10

7

最初にゲームを書くことをお勧めします。

そろばんからSkyNetまで何でも実行できる、これまでで最高のゲームを作成する方法に巻き込まれるのは簡単ですが、実際には、実行されるゲームを終了する前に、多くの課題が発生します。あなた自身のPC。

最初に、 1つのプラットフォーム用にゲームを作成します(そのプラットフォームが「DirectXを使用したWindowsネイティブ」、「Javaアプレット」、または「ブラウザー内の純粋なAJAX」であるかどうか)。それができれば、他のプラットフォームに移植する方法を考え始めることができます。しかし、すべてをやろうとすることは、何も達成しないことになる確実な方法です。

または別の言い方をすれば:

マルチプラットフォーム(Win / Lin / Mac)に決めました

だからあなたは実際には何も決めていません。開発するプラットフォームを決定します。次に、ゲームを作成します。次に、他のプラットフォームで動作するようにします。

あなたの「聴衆」が何を受け入れられるかについてはそれほど心配しないでください。あなたのゲームが楽しいなら、そうです、人々は喜んでUnityをインストールします。ブラウザベースでない場合、彼らがあなたのゲームをインストールするのと同じように。しかし、重要なのは「それを再生するために何をインストールする必要があるか」ではなく、「それだけの価値がある」ということです。インストールする価値のあるゲームを作ることに焦点を当てる必要があります。

そして、ゲームの2,000万部を販売してそれを生かす計画がない限り、あなたの「観客」はそれほど重要ではありませんね。重要なのは、興味のある人が試せるようにゲームを公開することです。

しかし、シングルプラットフォームのゲームは、未完成のクロスプラットフォームのゲームよりもはるかに優れています。

Unityのインストールが必要なゲームは、車輪の再発明を主張したために開発にさらに3年かかるゲームよりもはるかに優れています。

于 2010-06-15T14:39:12.293 に答える
5

そのような浸透が本当に必要な場合は、必要なパフォーマンスに応じてHTML 5+javascriptをお勧めします。

于 2010-06-15T13:54:55.920 に答える
5

はい、あなたは両方の世界の長所を持つことができます。

ダウンロードした形式でスタンドアロンアプリケーションとして実行しながら、アプレット(オンラインユーザー用)の両方で実行されるJavaアプリケーションを作成することは完全に可能です。

主なテクノロジーは次のとおりです。

用途があれば、私が書いたTyrantという古いゲームは、アプレットとスタンドアロンのダウンロードされた.jarファイルの両方の実行をサポートしていました。見たい場合は、すべてのソースが開いています。これは、3Dグラフィックスではなく単純なAWTを使用していました。

そして最後に、アプレットを非常に最小限のコードでアプリケーションに変換する別の例を示します。

于 2010-06-15T15:00:59.203 に答える
4

まず第一に、あなたは間違った質問から始めます。テクノロジーの決定は、ゲームの背後にある概念に基づいて行う必要があります。あなたはゲームを書くという考えについて確信しているようです-それで、ゲームの要件が何であるかをあなた自身に尋ねてください。これはあなたの技術にあなたを導きます。「何をしたいのか」がわからない場合。

あなたの賛否両論へ:あなたが決して必要としないか、使うことができないものに焦点を合わせないでください。Steamプラットフォームについて考えることは、趣味の開発者にとっては面白くありません。また、Android用のアプリケーションを実際に出荷したくない場合は、Androidは面白くありません。このプロは実際にはプロになることはありません。

要約すると、この決定は、テクノロジー自体ではなく、あなたのアイデアに基づいて行われるようにします。あなたが何をしたいのか明確な考えを持っているなら、あなたはあなたの答えを得るでしょう。

(そしてところで:ブラウザゲームが意味することを考えてください。ブラウザゲームの背後には、ゲームを実行し続けるためだけの巨大なサービスエリアがあります。そのようなエリアで働く会社は基本的にサービスプロバイダーです。)

于 2010-06-15T14:31:41.337 に答える
2

アプリケーションをCまたはC++(または実際にはネイティブコードにコンパイルされるその他のもの)で記述できるGoogleのNativeClientを調べることをお勧めします。SDKの新機能はLLVMのサポートです。これにより、NaClソフトウェアがGoogleのChromeブラウザが実行されているすべてのプラットフォーム(またはNaClプラグインが動作するすべてのブラウザ-現在x86とARMがサポートされています。IIRC)をターゲットにできます。

于 2010-06-15T14:08:41.530 に答える
1

はい。両方で機能するものを作ることができます。基本的に、プログラムをJPanel内で動作させます。アプレットはJPanelを表示でき、デスクトップバージョンはJPanelが入った単なるウィンドウです。

また、完全なSwing(またはその他の)GUIを使用することもできます。このGUIは、アプレットにある小さな「開始」ボタンをクリックすると、アプレットが新しいウィンドウで起動します。

リソースのロードなど、考慮しなければならない他のいくつかの違いがありますが、私が作成した単純なゲームでは、以前にそれを実行しました。

于 2010-06-15T14:35:12.080 に答える
1

あなたはあなたの質問でAndroidについて言及しました-あなたは純粋にAndroidのためにゲームを開発することを考えましたか?

事実上、両方の長所を享受し、保守が容易で、新しいバージョンをリリースしやすく、収益化が容易で、少額の収入を得ることができます。また、独自のインストーラーや更新メカニズムを作成する必要もありません。

于 2010-06-15T13:35:51.707 に答える
0

個人的にプラグインが賢明な選択であることが気に入らないため、プラグインの使用を拒否するかどうかはわかりません。このオプションを使用すると、デスクトップアプリとしてインストール可能なアプリ、またはブラウザープラグイン(それほど余分な作業は必要ありません)を記述できますが、それでもC ++/GLで記述できます。ユーザーがプラグインをインストールするとは思わないとおっしゃいましたが...どうしてですか?彼らがアプリケーションをインストールするのであれば、基本的に同じものに要約されるプラグインはどうですか?

Flashも見ることができます。これは、いくつかの3D機能を収集しており、ブラウザー内で実行することも、AIRデスクトップアプリとして実行することもできます。しかし、ユーザーはFlashプラグインを必要としますが、おそらくどちらも持っていません。

于 2011-01-15T16:46:39.480 に答える
0

私はあなたが本当に2つを比較できるとは思わない:

私の意見では:

  • アプレット、フラッシュ、およびその他のブラウザベースのゲームは、通常、無料で作成されたか、広告が追加された小さな「おもちゃ」ゲームです。たとえば、AddictingGamesのWebサイトを確認してください。
  • C ++ゲームは、専用の物理エンジン、グラフィックエンジンなどに依存する、スタジオで作成されたヘビー級のゲームである可能性が高くなります(特に、Steamで配布されるゲームに当てはまると思います)。C++は本質的にJava/Flashよりも難しい言語であるため、学習曲線ははるかに急になる可能性があります。

C ++に慣れていない場合は、JOGLを使用してJavaに移行することをお勧めします。そうすれば、C ++に取り組む前に、OpenGLの学習曲線をスケーリングできます。

編集

ブラウザとデスクトップの両方の形式でゲームを実装することに関する質問の他のセクションに対処するために、Javaでゲームを実装し、アプレットとスタンドアロンバージョンを展開することを検討できます。これにより、スタンドアロンバージョンはJavaのフルスクリーン排他モードAPIを利用できます。 。両方のアプリケーションを同じコードベースに基づいて作成できます。サーバー側でデータファイル(ゲームレベルなど)を保持し、必要に応じて動的に取得することで、アプレットのフットプリントサイズを縮小することも検討できます。

于 2010-06-15T13:37:04.967 に答える
0

WebSenseではサイトを直接閲覧することはできませんが、明らかな理由から、この質問を読んだときに最初に頭に浮かんだのはWurmOnlineのようなゲームです。これは、JOGLを使用してJavaで記述され、コンテンツストリーミングとローカルキャッシュを実装し、関心のある多くの点に触れているようです。これは、真の「ブラウザ内」ではなく、デスクトップJavaアプリケーションですが、可能だと思います。それでも、その実装からかなりのことを学びます。

ブラウザ内ゲームは常にウィンドウを閉じたり更新したりする危険にさらされており、すべてがサーバー側に保持されていない限り、突然状態が失われます。これは、通話/応答モデルを使用して同期を維持できる非常に単純なゲーム(Facebookの「MobWars」テキストベースのゲームなど)があるか、F5誰かを最後の「保存されたゲーム」に戻すという不注意な衝突のリスクがあることを意味します。 「」

于 2010-06-15T14:29:40.440 に答える