まずは自明のプログラマー/デベロッパーです。ご迷惑をおかけいたします。このトピックは、プログラミングよりも設計上の問題です。モバイルゲーム用のnode.jsとsocket.ioでシンプルなバックエンドを構築する
私はa.t.mのAndroidゲームをプレイストアでライブしています。私はサードパーティのバックエンドとネットワーキングソリューションを使用しています。今私は自分のシンプルなバックエンドとネットワーキングソリューションを構築したいと思っています。どうして?なぜなら:
- の自由な新しい機能を追加する機能は、(サーバー側)
- は、バックエンドの開発について(ないP2Pネットワーキングについて学ぶ
- を学ぶ
- クライアントからサーバ側へgamelogicを移動しますサーバー側の開発や技術
の経験を取得するので、何のパンチなし)
今私の質問:
私は私のバックエンドシステムを作成するためのNode.js、socket.ioとのMongoDBを使用することを考えています。
これらは私が何をしたいです:
ネットワーキング:
- ちょうど.emit( 'ねえ'
- io.to(ソケット#ID)をサーバからクライアントに送信し、その逆 クライアントへ)(サーバー)
- socket.Emit( "JoinRoom")サーバーへの(クライアント)
バックエンド機能:
- ユーザー認証
- は、彼らが一緒に
- など再生することができますので、フレンドリストの登録
- スコアを毎回更新プレーヤ情報(名前、一意のID、スコア、日付 作成、など)
- を登録します。私gamelogicは、各部屋のために(ATM私のgamelogicはハッキングや不正行為に非常に脆弱で、ば完全にクライアント側で)何をするか
:
- 部屋を作成すると、他の人が参加できるように、10秒間待ちます10秒がベット を選択
- AIを起動 プロセス
- ランダム化52デッキのカードを処理する関数を呼び出して、終わった
- AI選ぶ切り札それはゲームが人々ので部屋を開ける終了するとデータベース
- に
- 更新のスコアを獲得した
- が決定次のターンを持って決定する彼のターン
- だ
- AI演奏
等ままと ゲーム
また、ネットワーキング部分にはnode.jsとsocket.ioを使用し、ゲームロジックには別のテクノロジー(例:asp.net)を使用する必要がありますか?私はnode.jsがCPUの重いタスクではうまくいかないと読んでおり、gamelogicの部分はCPUが重いと思います。
私のシステムがサポートするプレイヤーの数を知りたい人がいますか?まあ私は毎日20 CCU持っているが、私のゲームは3週間の店であり、私は最初に強いバックエンドシステムが必要なので、私は多くを推進していない。私は私のバックエンドが10000 CCUを処理できるようにしたい、おそらく私はそれに到達することはありませんが、それは私の目標です。
私は自分が何を望んでいるかについてはっきりしていたと思いますが、皆さんが私を助けてくれることを願っています。私がやりたいことが可能で効率的であれば、私は一週間見ました。
非常に広い質問ですが、長い説明にもかかわらず、おそらく詳細が不十分です。ゲームロジックのためにサーバーがCPUに縛られる心配はありますが、その複雑さについてはほとんど詳しく説明していません。また、ほとんどの作業が「ターン」でのみ行われるため、同時ユーザーはおそらくここでは適切な手段ではありません。より良い方法は、期間ごとのターン数です。 – jcaron
@jcaronほとんどの重い作業はゲームの始めにあり、AIはゲームをプレイしています。 - 開始時に52枚のカードからなる配列がシャッフルされます(文字列の配列) - AIのトランプゲームでは、最悪の場合4回、AIが1回(最大13枚)デッキをループします。 開始から始まる1ゲームセッション: - 最大4ターン最大10、最も多くのカードを獲得するプレイヤーの間で賭ける - 賭けに当選したプレーヤーはトランプを選ぶので、ここで1回転します。 - その後、ゲームが開始され、各プレイヤーはデッキが終了するまでプレイしなければなりません。 ゲームセッションあたり合計で最大63ターンです。 –