Хранение мобильных многопользовательских игр в клиенте - PullRequest
0 голосов
/ 15 ноября 2011

Мы работаем над многопользовательской игрой в Unity. Игроки могут иметь оружие. Оружие и его атрибуты хранятся в базе данных на сервере базы данных. Но как мы можем показать все оружие в игре (не только игрок владеет) игроку. Нужно ли создавать базу данных на стороне клиента? (мобильная игра, поэтому мы не предпочитаем базу данных) или отправляем всю информацию клиенту, когда он входит в игру?

Я думал о том, чтобы сохранить информацию в XML-файле на стороне клиента и инициализировать оружие скриптом, но, с другой стороны, игроки могут достать этот файл и изменить его. (не проблема безопасности, но мы не хотим, чтобы они это делали). Можете ли вы сказать мне некоторые другие подходы?

1 Ответ

0 голосов
/ 30 апреля 2012

В основном это зависит от того, как вы используете оружие в своей игре.Я полагаю, что ваш сервер должен быть синхронизирован с версией клиента и оружием, которое ваш клиент может обработать в игровой логике, иначе, когда ваш персонаж получит новое фирменное оружие, которое он не сможет обработать игровой логикой, вы ничего не добьетесь.*

С другой стороны, если у вас есть общее оружие (оружие с скорострельностью +1) с игровой логикой, которая может справиться с изменением скорострельности, не будет проблем с добавлением оружия со скорострельностью +3 на стороне сервера безОбновление клиента.

Так что, если мы говорим о первом случае, нет необходимости обновлять клиент, если вы не хотите отобразить список нового оружия, доступного для клиента, в следующей версии.Во втором случае вы можете синхронизировать список оружия при входе в систему.

...