3

全くの初心者として、私が構築しようとしているWebゲームのフロントエンドを磨くことに集中したいと思います。ただし、ゲームには、プレーヤーの属性に一致させる必要のある約5000〜10000の異なるテキストが含まれます。どういうわけか、これらのスニペットをJSON形式でブラウザーに送信する必要があります。短くシンプルに保つ方法は?

参考までに、これはカードゲームなので、ターン制で読み取り専用です。これは、サーバーの負荷が非常に小さいことを意味します。html / js / cssとJSON文字列だけで、プレーヤーごとに1分間に数回。CouchDBは、そのビューなどにJavascriptを使用できると聞いて検討しましたが、これ以上時間をかける前に、他のオプションについて学びたいと思います。バックエンドプログラミングを学ぶのに何週間も費やすよりも、すでにゲームをプレイしたいです。

編集:テキストスニペットにはすべて特定の要件があります。プレイヤーのデータはセッションデータに保持されます。プレイヤーが弱いか斧がない場合、スマッシングはあり得ません。

{ 'action':'You smash you opponents head!',
  'player1': {
      'equipment': 'axe',
      'strength': 3
}

したがって、保存に加えて、要件に適合するすべてのアクションをふるいにかけ、クライアントに送信されるアクションをランダムに選択する必要があります。

4

8 に答える 8

5

これらのテキストは静的ですか?その5000-10000はそれらすべてをカバーしていますか?

その場合は、それらすべてを単一の静的ファイルとして提供しないのはなぜですか。サーバーの負荷をさらに最小限に抑え、アプリを高速化するには、遠い将来のExpiresヘッダーを設定します。

非常にシンプルなセットアップ、組み込みのキャッシュと圧縮、セキュリティの脆弱性なし、HTTPリクエストのオーバーヘッドの最小化。

于 2010-10-20T12:34:25.153 に答える
2

シンプルで一般的な構文を使用して、自由に利用でき、広く使用されているスクリプト言語を使用します。それは私にPHPまたはルビーを示唆しています。

于 2010-10-20T12:27:29.303 に答える
2

フロントエンドに焦点を当てており、10000個のテキストスニペットのうち1個を提供する必要がある場合は、CouchDBや関連するバックエンドは使用しません。

私自身のお気に入りのバックエンドはRubyonRailsですが、最初にPHPを選択し、すべてのテキストスニペットを単一のMySQLテーブルに配置するか、静的な場合はcsvファイルに配置します。PHPを含むほとんどのWebフレームワークは、jsonを非常に簡単にすることができます。

于 2010-10-20T12:31:18.133 に答える
1

プレーヤーは通常、セッションごとにこれらの文字列をいくつ必要としますか?サーバーへのリクエストごとに大きな余分なオーバーヘッドがあるため、長いセッションが予想される場合は、最初にロットを送信するのが最も軽いタスクになる可能性があります。

データに関しては、サイズが問題になる場合は、JSONをスキップして自分でスタックします。この例では、データよりもオーバーヘッドが大きくなります。例のすべてのキーは、データを正しい順序に保持する場合にのみ省略できるもののように見えます。

更新:
あなたは100未満と答えます、それは両方のアプローチがほぼ同じコストである限界の周りだと思います。ただし、ロットを送信すると、特に待ち時間の長い接続で、より流動的なゲームプレイが提供される可能性がありますが、初期読み込み時間が長くなります。

最も低いレベルでデータをパックすることをいじることは、ほとんどの開発者の目には死んだ規律かもしれません(ここに投稿するために、主題へのガイドを見つけることができなかったと言っています)が、実際には、すべてのバイトについてあなたはできます単一の文字列のデータから切り取ると、コレクション全体から5〜10 kBを切り取ることができ、削除するのに多くの作業を必要としないバイトがたくさんあります。

実装を大きな仕事にすることなく脂肪の大部分を削減するために、私は次のようなものをお勧めします:

すべてのデータを1つの配列に配置します。すべての文字列に対して、配列内の2つの文字列エントリを使用します。1つはテキスト文字列用で、もう1つは単一の文字列としてエンコードされたすべてのメタデータ用です。たとえば、各要件を2文字で記述できます。最初の文字は要件のタイプを示し、2番目の文字は値を示します。したがって、数字と文字のみを使用するように制限すると、最大62種類の要件を設定でき、それぞれに62のいずれかが含まれます。可能な値であり、1個あたり2バイトしかかかりません。

于 2010-10-20T21:36:02.457 に答える
0

ASP.Netを選びます-「最も単純な」と見なすべきかどうかはわかりませんが、賢明な推奨事項のようです。

  • 少なくとも他のバックエンドと同じくらい良い
  • Webには、チュートリアル、記事、その他のヘルプがたくさんあります。
  • Visual Studio Expressの形式の無料のIDEがあり、IDEの選択の複雑さを解消します。

また、「バックエンド」Web開発にもっと関与して興味を持ったことがあれば、ASP.Netは人気のある選択肢であり、それでも十分に役立ちます。

于 2010-10-20T12:25:13.063 に答える
0

私たちはあなたのニーズを実際に感じるためにあなたの要件についてもっと知る必要があります。そうは言っても、バックエンドが本当に単純であれば、どのテクノロジーでもかまいません。最新のテクノロジーのほとんどは、単純なことを簡単に実行できるようにし、すべてがJSONを出力できるようになります。ですから、よく知っているものを選んでください。頭に浮かぶいくつか:

  • PHP
  • Java / Java EE
  • C#/ .Net
  • Ruby / RoR
  • Python / Django
  • Scala/リフト
  • C / C ++でさえ解決策になる可能性があります(...)

編集:あなたの要件を考えると、上記の答えはまだ当てはまります。どんなテクノでもあなたのために働くでしょう、そして単純な要件のためにすべては比較的使いやすいはずです。

于 2010-10-20T12:32:23.357 に答える
0

あまり開発していない場合は、クライアント側(JavaScript)を処理するためにPHPjQueryをお勧めします

まず、phpでコーディングする方法について小さな稲妻コースを受講することをお勧めします。これを読んだ後は、PHPのドキュメントを自由に試して読んでください。とても良いです!

非常に安価なソリューションが必要な場合は、データを保存するためにMySQLを使用します。ただし、SQLServer2005または2008の使用を強くお勧めします。

SQLデータモデルを作成した後。次に、ゲームの作成を開始できます。このページには、PHPや他の多くの言語の例である多くのヒントがあります。

幸運を!

于 2010-10-20T12:49:40.997 に答える
0

私はPythonとSqliteデータベースをお勧めします。これらはSMSアプリケーションに効果的に使用されます(少量のテキストを検索して返すという点で似ています)。パフォーマンスは素晴らしく(DBはメモリに保持できます)、Pylons@jsonifyデコレータを使用するとJSONを簡単に返すことができます。Djangoには、JSONを処理する簡単な方法(シリアル化、simplejson)もあります。

確かに、これはおそらく最も単純な方法ではありませんが、1〜2時間で実行できるようになり、将来の機能と拡張のためにすべての要素が用意されています。

編集:さらに調査すると、webpyは最も単純なように見えます。Makoテンプレート(またはまったく使用しない)、SQLiteおよびSqlAlchemyをORMに使用する(またはデータベースをまったく使用しない)ことができ、インストールは「pipweb.py」と同じくらい簡単です。

于 2010-10-20T13:25:44.203 に答える