게임 :
이
ID - 255 (게임이 큰 경우 INT (11) 자동 증가가 밖으로 실행할 수) VARCHAR
START_DATE - 날짜
종료일 - 날짜
CURRENT_USER는 - 11 (가능성이없는 당신이 배출됩니다 int입니다 이 많은 사용자)
map - int 10 (얼마나 많은지도가 있는지 또는 무작위인지에 따라 다름)
gamestate -이 부분은 상태를 앱에 보내는 방법에 크게 의존합니다.
토큰 - varchar 50 (승인 할 항목) 에 대한 enticate)
상태 - TINYINT 1 (또는 열거 보류중인하려는 경우, 준비, 폐쇄)
행동 :
ID - VARCHAR 255
GAME_ID - VARCHAR 255
USER_ID - 11
날짜를 int로 - 날짜 시간
작업 - tinyint 1 (얼마나 많은 작업을했는지에 따라 다릅니다.열거 공격, 이동, 방어 등)
데이터 - 수행하지만,이 데이터는 통계입니다 있었는지에 대한 몇 가지 세부 사항 만이 아닌 다른 사용자에게 보낼 수
사용자 :
이 ID - 11
을 int로 사용자 이름 - (예를 들어) VARCHAR (50)
등 ... ID가 우리가 여기서 관심 유일한 때문에 그렇게 중요하지 않은 사용자
나는 등 기본적인 아이디어 InnoDB의 대 부호,의 MyISAM과 같은 모든 세부 사항을 설명 야생 갈 didnt는 관련 게임 데이터가있는 게임 테이블과 액션 관계형 테이블 o 나중에 통계 나 일정을 처리 할 수 있습니다.
여기서 중요한 것은 gamedata와 token이 게임 사이를왔다 갔다하고 있기 때문입니다. 이상적으로 토큰은 각 게임마다 고유 한 앱에서 비교할 해시이므로 사용자는 브라우저 나 무언가를 사용하여 게임에 대한 업데이트를 게시 할 수 없습니다. 이것 뒤에는 전혀 중요하지 않을 수도있는 다른 철학이 있습니다.
그래서 gamedata는 직렬화 된 배열, 텍스트, 얼룩 등일 수 있습니다. 전달하는 데이터의 양 및 형식에 따라 다릅니다. 직렬화되지 않은 응답은
[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 분야에 있어야한다고 말하고있는 것입니다. 그래서 당신은 게임 자체에 대한 더 많은 정보로 더욱 분명해질 수있는 필요에 맞는 데이터 유형을 사용하게 될 것입니다.
관계 옵션을 살펴볼 수도 있지만 게임 자체의 친밀 성을 모른 채이 기본 샘플은 작은 게임에 적합합니다.
어쨌든,이 대답은 내가 원하는 것 또는 원격으로 닫을 수있는 것이 전부는 아닐 수 있습니다. 그러나 아마 원래 게시 한 것보다 낫습니다. 그래도 게임에 행운이 있기를 바랍니다. 게임을 만드는 즐거움과 지금은 이스트와 안드로이드를위한 시간입니다.
이 질문은 StackOverflow에 맞추기에는 너무 광범위합니다. 이와 같은 개념적 질문에 대해서는 http://gamedev.stackexchange.com 또는 http://programmers.stackexchange.com을 고려하십시오. –
죄송합니다. 여기에 게시하는 데 새로운입니다. 내가 gamedev로 옮길 수 있다면 그렇게 할거야. – Firefly