GreatBOND
@GreatBOND
Начинающий программист

Как реализованы текстовые онлайн игры?

Планирую написать небольшую браузерную игрушку HTML/CSS + PHP/MySQL для опыта. Возник вопрос. К примеру в игре есть ресурсы. Они постоянно добываются. Если игрок вышел из игры, закрыл браузер, потом через некоторое время снова зашёл. Как посчитать сколько у него ресурсов?По формуле расчитать сколько его не было, скорость выработки и т.д. плюс то кол-во которое было уже в БД? Ладно, это ясно. Но вот, а как реализовать такое как к примеру в игре Годвилль, что игрок закрыл игру, а герой продолжает развиваться, качать скилл? Это по формуле уже не рассчитать. Не ну опыт там, или деньги уже ладно, но как сделать что бы герой продолжал без игрока выполнять квесты, качаться, убивать монстров? И самое главное что бы эти действия влияли на виртуальный мир. То есть, к примеру, твой герой убил монстра, а герой другого игрока проходя по той карте заметил уже труп. Это как постоянно работающий скрипт или как? Помогите в этом вопросе, подскажите что гуглить.
  • Вопрос задан
  • 424 просмотра
Решения вопроса 2
hummingbird
@hummingbird
Почитайте про CRON. Почитайте про демонов...
Ответ написан
Antiless
@Antiless
Как посчитать сколько у него ресурсов?

обычно, добыча ресурсов линейна - кол-во в ед. времени. вычисляете сколько времени прошло, умножаете на количество и получаете сколько ресурса.
понятно, что каждую минуту пересчитывать смысла нет - надо определить событие, когда этот ресурс запрашивается, например, при входе игрока в аккаунт или когда его друг/союзник смотрит ресурс. и ресурсом может быть все что угодно, это просто абстракция.

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

в этой ситуации надо уже смоделировать течение времени. например, когда запрашиваются результаты пути героя Б (который труп должен был заметить), нужно посмотреть все что произошло на его пути, посмотреть действия других участников мира игры и важно не забыть про синхронизацию событий, чтобы не найти шкуру неубитого монстра :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы