ゲーム:
ID - varchar型255(あなたのゲームが巨大であれば11自動インクリメントが不足する可能性がint型)
START_DATE - 日時
END_DATE - 日時
CURRENT_USERは - あなたが排出されます可能性がない(11 int型
map-int 10(持っているマップの数やランダムになっているかどうかによって異なります)
gamestate - この部分は、アプリケーションに状態を送信する方法に大きく依存します
トークン - varchar 50(認証するもの)
ID - varchar型255
game_id - varchar型255
のuser_id - 11
日時をint型:TINYINT 1(または列挙あなたが保留中の場合は、準備ができて、閉じた状態)
アクション -
状態)に対するenticate - datetime
アクション - tinyint 1(あなたが持っているアクションの数によります..列挙型攻撃、移動、守る、など)
データ - 行われたかについて、いくつかの詳細が、統計だけでなく、他のユーザーに
ユーザーに送信するために、このデータは次のとおりです。
ID - 11
int型ユーザ名 - (例えば)varchar型50
等... idは私たちがここで気に唯一のものですので、それほど重要ではありませんユーザー
私は等の基本的な考え方はInnoDB対符号なし、MyISAMのようなすべての詳細を説明する野生行くdidntのそれに関連するゲームデータとアクションリレーショナルテーブルを持つゲームテーブルを持つことですo後で統計やタイムラインなどを処理することができます。
ここで重要なのは、gamedataとtokenです。これらはゲームの間を行き来するためです。理想的には、トークンは、各ゲームに固有のアプリで比較するハッシュであるため、ユーザーはブラウザや何かを使用したり、ゲームのアップデートを投稿することはできません。これの背後には、現在重要ではないかもしれない他の哲学があります。
したがって、gamedataは、シリアル化された配列、テキスト、BLOBなどである必要があります。どのくらいのデータを渡し、どの形式であるかによって異なります。したがって、シリアル化されていない応答は、
[0] => [ // player 1
[0] => [ // army position and status
[0] => '2,2,98,1', //x, y, health, mode (1 => defense, 2 => offense, etc)
[1] => '120,10,45,2', // could also break down into another array layer
[3] => '222,155,100,1'
],
[1] => [ // bases
[0] => '130,45,34', //x, y, health
[1] => '356,25,10'
],
[2] => [ // game data
[0] => '12245' // money
[1] => '41324131232' // timestamp of when last turn began
[2] => 0 // bool whether or not they are up at bat
]
]
のようになります。これはプレイヤー1のデータです。だから、あなたはこれをシリアライズして、それを暗号化することができます。しかし、これは私がgamestate分野にあるべきだと言っていることです。したがって、必要なデータ型を使用することになります。このデータ型は、ゲームそのものに関する詳細情報で明らかになります。
また、リレーショナルオプションを調べることもできますが、ゲーム自体の親密さを知らなくても、この基本的なサンプルは小さなゲームに適しています。
いずれにしても、この回答はあなたが望むものではなく、遠隔で閉じることもあります。しかし、おそらく私が最初に投稿したものよりも優れています。あなたのゲームで幸運。ゲームを作る楽しさのトンと今は間違いなくiosとアンドロイドのためにそれを行う時間です。
この質問は、あまりにもStackOverflowに収まるように幅広いです。このような概念的な質問については、http://gamedev.stackexchange.comまたはhttp://programmers.stackexchange.comを参照してください。 –
私はここに投稿するのが初めてです。私がgamedevにそれを移すことができるなら、私はそうするでしょう。 – Firefly