Среда, 18 Декабря 2024, 15:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Браузерная стратегия
michael443959Дата: Суббота, 07 Января 2012, 12:48 | Сообщение # 1
был не раз
Сейчас нет на сайте
Решил написать браузерную стратегию, но появились вопросы по реализации основных частей.
Собственно необходимо как-то прибавлять ресурсы всем пользователям, даже когда они не в сети. Я предполагал сохранять время последнего прибавления, и когда пользователю необходимо узнать своё кол-во ресурсов, то выполняется расчёт, сколько ресурсов накапало и сколько есть сейчас. Но этот алгоритм не поможет, когда на прирост ресурсов влияют другие факторы. Например, я начал строить ферму. Время конца строительства фермы записывается в бд и когда пользователю необходимо узнать кол-во ресурсов спустя некоторое время после строительства, происходит расчёт ресурсов до строительства и после него.
Но мне этот алгоритм кажется не совсем рациональным.
Посоветуйте, как лучше это сделать.

P.S. Silverlight + Tcp сервер.
lokinamДата: Суббота, 07 Января 2012, 12:51 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Нафига писать скачай исходник измени.
DDTAAДата: Суббота, 07 Января 2012, 16:18 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
michael443959, смотри, какие варианты приходят в голову:
1) Действительно, как ты и описал, создать формулы и по ним просчитывать при каждом входе юзера в игру, запоминая время последнего входа. Потом, зная время постройки "фермы", ты можешь добавляющийся прирост от неё в общей формуле, либо раскладывать как сумму прироста без неё с момента выхода юзера+прирост от фермы с момента её постройки. То есть, если юзер вышел в момент времени 9990, ферма достроилась в 10 000, а юзер снова зашёл в 10 002, то ты можешь прирост за это время посчитать как прирост ресов за время (10002-9990)+прирост от "фермы" за время(10002-10000).
2) Первый вариант вроде бы не сложен, это как с формулами процентов в банке, только звучит всё страшно) Но если надо извратиться, имея постоянно в онлайне сервер, можно прибавлять всё и всем, хотя это гораздо менее рационально. Зато есть всякие Cron'ы и париться с формулами не придётся. Как вариант, раз в н минут проверять всех(например, с помощью того же Cron'а или в сервер функцию встроить) на завершение строительства у всех и перерасчитывать прирост. Хотя это всё гораздо геморнее, чем первый вариант, гораздо геморнее.

По оффтопу:


Да, я новичок, поэтому вопросы у меня иногда глупые......
Да, у меня действительно такой ник.......
...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
michael443959Дата: Суббота, 07 Января 2012, 17:27 | Сообщение # 4
был не раз
Сейчас нет на сайте
DDTAA, Большое спасибо за совет. Буду первый вариант скорее-всего использовать, ибо проход по всем пользователям- это слишком.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг