기권; 나는 자바와 안드로이드 플랫폼으로 많은 것을하지 않았다 .
그러나 Windows 플랫폼과 함께 Windows 모바일 플랫폼에서 '.net'언어에 대한 더 광범위한 경험은 Bluetooth 또는 네트워크 데이터 연결을 만들고 유지하는 데 필요한 모든 코드의 75-90 %가 유지된다는 것입니다. OS에 액세스하거나 하드웨어에 액세스해야하는 라이브러리에서 지원됩니다.
지금까지 이것은 Android에서도 마찬가지입니다 .OS는 블루투스 또는 인터넷을 통해 데이터 연결을 만드는 방법을 노출하고 각 하드웨어를 활성화 / 비활성화합니다.
구현하는 데 가장 비용이 적게 들기 때문에 (서버 없음) Bluetooth가 선호되는 연결 방법이라고 생각합니다. 그리고 더 많은 지역 모임 / 게임을 허용하십시오. 블루투스는 사용하기가 상당히 쉽습니다. 연결하려는 장치를 알고 있으면 일반 네트워크 소켓과 유사하게 작동합니다.
Bluetooth v2.0 / v2.1이 현재 큰 데이터로드를 지원할 수 없다는 점에서 다른 것은 정확합니다. 이것은 v3.0 이상의 최종 스프레드에 따라 변경됩니다. 이 한계를 극복하는 방법이 있습니다.
지금은 간단한 개념이지만 복잡한 솔루션이 있지만 시도해 볼 수 있습니다. 나는 그것을 잠시 동안 사용 해 왔으며, 그것은 피어 투 피어와 비슷하지만 모든 장치에서 동시에 게임을 호스팅하는 것과 관련이 있습니다. 이런 식으로 연결이 일시적으로 끊어 지거나 느려지거나 어떤 이유로 플레이어가 드롭 되더라도 다른 플레이어는 영향을받지 않습니다. 이를 통해 다른 플레이어 나 자신의 게임에 지장을주지 않으면 서 진행중인 게임에 다시 참여할 수 있습니다.
CON : 각 플레이어는 실제로 게임의 고유 한 인스턴스를 재생하는 데, 다른 플레이어와 연결되어 게임이 서로 너무 동기화되지 않도록합니다.
단점 : 지원 코드 는 광범위하고 복잡하며 달성하려는 목표에 따라 머리를 감쌀 수 없습니다.
PRO : 중앙 서버 나 장치가 필요하지 않습니다! $$$ 유지가 필요하지 않습니다.
PRO : 많은 양의 데이터 교환은 플레이어가 다시 참가하거나 게임이 초기화 된 경우에만 발생합니다. -모든 게임이 생성되도록 보장하고 모든 플레이어가 동일한 방식으로 진행함으로써이를 줄일 수 있습니다. 네트워크 사용량이 많아서 발생하는 에너지 소비를 잠재적으로 줄입니다.
PRO : 장치는 다른 플레이어 없이도 게임을 계속하는 데 필요한 모든 데이터를 이미 가지고 있기 때문에 데이터의 시간이 덜 민감 해집니다. 플레이어 그룹이 아닌 개별 사용자의 실제 게임 경험에 더 집중할 수 있습니다 .
이를 활용하는 완전한 게임 엔진을 구현할 시간이 부족했습니다. 내가 만든 게임은 Monopoly 및 Uno와 비슷한 게임을 다시 작성하는 것으로 제한되어있어 매우 잘 작동하는 것 같습니다.
가장 쉬운 방법은 우노를 모방 한 것입니다. 나는 플레이어가 모든 게임에서 이길 수 있도록 플레이어가이긴 후에 패자의 갑판을 쌓았습니다. 95 % 이상이 다른 사람들과 똑같은 게임을하고 있지 않다는 것을 알 수 없었습니다.
나는 Master of Orion II와 비슷한 게임을 만들기 시작했지만 게임 자체는 나 자신이 수행하는 것이 조금 컸습니다.