Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тик времени в браузерных играх 
:(
    Опции темы
ShellRaiser
Дата 1.5.2012, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


еще чуть и закоммичу
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 20.7.2007
Где: Белaрусь, Гродно

Репутация: 1
Всего: 1



У меня возник вопрос, как сервером обычно отрабатывается следующая логика:
-добыча урана 5 едениц в час. 

1) просчитывает ли сервер эту информацию в режиме реального времени, 
либо как мне сейчас пришла мысль в голову:
2) при запросе данных игрока, произвести калькуляцию добытого урана с момента прошлого обновления по текущее?

просто тут еще возникает момент например:
-строится рудник по добыче урана, который даст еще +5 к добыче в час
-теперь при запросе надо прочитать время и добытые ресурсы до постройки + тоже самое только после постройки?
* к примеру в таком случае как я видел в играх добыча приостанавливалась

во втором варианте более экономно по ресурсам будет как я понимаю

собственно как этоти моменты прощитываются в обычных браузерных играх?


Это сообщение отредактировал(а) ShellRaiser - 2.5.2012, 01:44
PM MAIL ICQ Skype   Вверх
Yahmos
Дата 22.6.2012, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.6.2012
Где: Москва

Репутация: нет
Всего: нет



Если 5 единиц в час, то в сессии игрока ставится счетчик на число выполнений в час, который обнуляется при первом обновлении в след. часе. 
PM MAIL WWW   Вверх
nucer
Дата 3.11.2012, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: нет
Всего: 0



Кстати, вопрос интересный, и касается он не только браузерных игр, но и риалтаймовых в том случае, если игрок ушёл в оффлайн, а шахта продолжает качать smile А таких шахт/лесопилок/рудников/свиноферм/итдитп может быть несколько десятков и даже сотен тысяч...

1) Делать что то навроде очереди (демона отдельным потоком, либо cron в случае браузерок) и проверять раз в n-времени каждый объект... Вариант рабочий, но при большом количестве объектов интервал проверки каждого объекта будет достаточно велик.
а) Нужно предусмотреть механизм немедленного (досрочного) обновления объекта - например, при заходе игрока онлайн или же изменении параметров объекта. Например, если в отсутствие игрока шахту вдруг разрушили, тогда нужно добавить ему в "копилку" то, что ей было добыто до этого.
б) Также нужно предусмотреть механизм синхронизации. Особенно для браузерных игр, где возможна ситуация, когда скрипт, работающий по крону выбрал из базы "пачку" объектов для обновления и в этот самый момент заходит юзер...

Может кто то подскажет более эффективные решения, чем демон или крон?))
PM MAIL   Вверх
DeLuxis
Дата 6.12.2012, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 13.6.2012

Репутация: нет
Всего: нет



Я бы данную проблему решил через события.
Каждая шахта добывает ресурсы допустим раз в пять секунд, определенное количество.
И каждые пять секунд у шахты созавать событие на добычу ресурса.
Обработчик ловит событие и добавляет ресурсы в копилку. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0731 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.