Пишу подобие онлайн игры клиент работает через браузер но с сервером соединен через сокет вообщем подобие FLASH ну это не важно, вообщем есть сервер это именно приложение не сайт а именно программа.
В игре должны быть некоторые ресурсы, которые должны даваться игроку по истечению времени.
например: у меня построены 2 фермы, от них я получаю 60 еды в час 1 минута равна 1 еде от двух ферм
ну еда должна производиться каждую секунду аля секунда клацнула вот у меня 1 еды еще одна уже 2 еды и.т.д
если у меня одна ферма то я получаю по 1 еде в две секунды. и.т.д (можно сделать чтоб было по 0.5 еды в секунду)
как это реализовать на архитектурном уровне как-то не могу сообразить, например у меня на сервере есть переменная с приростом еды в секунду, и есть переменная с текущим значением.
вариант каждую секунду пробегать по все базе пользователей не вариант потому что это просто загрузит сервер кучей работы.
как реализовать? такую систему начисления ресурсов?
з.ы: клиент вообще не должен в этом участвовать он может быть в Offline.
есть мысль: реализовать так: хранить в базе последнее время обновления и тогдашнее количество ресурсов, и потом по надобности(требованию клиента) перещитывать их и записывать в базу обновленный вариант.
может у вас есть более интересные варианты? которые позволят снизить нагрузку?
и еще как бы правильно хранить это все в базе? сейчас есть только таблица пользователей аля ID,Ligon,Pass,Email.
Спасибо.
система:
Клиент: SilverLight 3.0 (C#)
Сервер: .Net 3.5 (С#) + MySql
Связь с базой ADO через DataAdapter а по сети все через Sockets
Примечание:
katzyn
спасибо.
на щет синхронизации клиент сервер тут вопросов нет я знаю как осталось ток код переписать из головы))
а по поводу подсчета у нас с вами наверное самый правильный вариант.
еще заметил что если чего-то не можешь придумать попробуй написать по этому делу вопрос, пока пишешь сразу появляются варианты решения в голове) так что подождем пол часика вдруг кто-то выдвинет парадоксальную теорию)))
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.