Страницы

Поиск по вопросам

четверг, 23 мая 2019 г.

Реализация прироста ресурсов в реал-тайме в браузерной (мобильной) ММО стратегии

Как реализуют игровую механику в браузерных или мобильных ММО стратегий, на подобии марш империй, vikings, ikariam и.т.д, а точнее как им удается осуществлять прирост ресурсов в реал-тайме? Сервер запускается и обрабатывает каждую учетную запись прибавляя рассчитанное количество ресурсов в цикле каждую секунду?


Ответ

Могу предположить, что данные о приросте в секунду у каждого пользователя для каждого ресурса хранятся на их серверах.
Сервера мониторят последние таймстэмпы пользователей (от последнего совершенного действия, связанного с ресурсами, например, их трата, или заход\выход из приложения). Рассчитывается все по формуле (currentTimestamp - lastTimestamp) * RPS (Resources Per Second), а затем все это записывается в БД
А если пользователь находится в сессии постоянно, то этот прирост ресурсов просто "рисуется".
И когда юзер начинает с ними какое-то действие (Например, купил что-то и они потратились), сервер добавляет к прошлому значению ресурсов новые (по вышеупомянутой формуле) и уже изменяет значение ресурсов (Вычитает, или добавляет) и сохраняет в БД. Соот-но lastTimestamp присваивается currentTimestamp и так до следующего действия

Комментариев нет:

Отправить комментарий