基本的に、タイトルはそれをすべて言います。私は、Django、Rails、およびCake PHPを少し見てきました。カジュアルな2Dブラウザーベースのゲーム開発をサポートするのに優れたフレームワークがあるかどうか知りたいのですが。私が見た中で最も近いのはフラッシュですが、何かオープンソースを見つけたいです。グラフィックスとデータベースへの通信の両方を処理できるものが理想的です。助言がありますか?
基本的に、タイトルはそれをすべて言います。私は、Django、Rails、およびCake PHPを少し見てきました。カジュアルな2Dブラウザーベースのゲーム開発をサポートするのに優れたフレームワークがあるかどうか知りたいのですが。私が見た中で最も近いのはフラッシュですが、何かオープンソースを見つけたいです。グラフィックスとデータベースへの通信の両方を処理できるものが理想的です。助言がありますか?
回答:
統合できるゲームエンジンやWebサービスのリストなど、私が役立つJavaScriptゲーム開発に関連するリソースのリストを管理しています。
クライアント側のプレゼンテーションとサーバー側の処理という2つの異なる概念を追跡する必要があります。カジュアルなフラッシュスタイルのゲームを開発している場合、完全なゲームはおそらくクライアント側のプレゼンテーションであり、ハイスコアなどのWebサービスと組み合わせられます。ただし、ソーシャル、マルチプレイヤー、またはmmoスタイルのゲームをたくさんやりたい場合、不正行為を防ぐためにほとんどのゲームがサーバー上にあり、クライアントはダム端末のように振る舞います。その処理方法はおそらく別の質問のトピックです。
ブラウザーとサーバーの間でリアルタイムで通信したい人にとって興味深いのは、古いブラウザーでフラッシュを使用してフォールバックするWebソケットの上の抽象であるsocket.ioです。
HTML5では、いくつかのゲームエンジン/フレームワークが登場しています。興味深いリンクがいくつかあります。
Rocket Engineとは別に、これらのエンジンはゲームのクライアント側をカバーするだけです。したがって、データベースへの直接の通信はありません(Google Gearsなどを使用している場合を除きます)。
ゲームによっては、Ruby、Java、PHP、ASPなどでバックエンドを実装する必要があります。私見通常のウェブアプリケーションフレームワークはそれのために十分です。ゲーム(JavaScript)と同じ言語でバックエンドを実装できるため、Node.jsはおそらく特筆に値します。
Web開発では、プレゼンテーションの大部分は通常、サーバー側で行われます(ある種のテンプレートシステムを組み込んだフレームワークを使用して、HTMLをクライアントに出力します)。インタラクティブゲームを実行する場合、多くの作業はクライアント側(ブラウザ内)で行う必要があるため、問題はHTMLの生成方法ではなく、ユーザーの画面上での移動方法にあります。
このクライアント側の部分については、前述のとおり、FlashまたはJSのいずれかを選択できます(最新のブラウザーにCanvasを使用している可能性があります)。
client-server-db通信部分については、あなたが言及したテクノロジーはどれも問題ありません。ブラウザとサーバーは、必要に応じて従来のajax呼び出しを使用して通信できます。
私は両方の問題を処理するフレームワークを知りませんが、それはおそらくそれらが本当に異なるためであり、クライアント/サーバーミックスの異なる側で発生しているためです。