Закрытая тема
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 22
  1. #1
    Администратор
    Регистрация
    26.09.2011
    Сообщений
    221

    Восклицание Перемещение персонажей в провинциях игры: ошибки и модификации

    Приветствую всех игроков RomeWar!

    Эта тема должна была появиться здесь несколько раньше, но её изначальный формат устарел почти сразу после анонсирования, ввиду успешного решения имевшихся проблем.
    В итоге, эта тема будет на 95% повествовательной и только, в самом конце, немного дискуссионной.

    Как вы знаете, в игре ряд игроков периодически сталкивались с лагами при перемещениях в провинциях. Другие – лагов не замечали. При этом никакой явной связи с характеристиками их ПК, интернетом или браузерами не было.
    Мы проводили отдельные тесты по этому поводу, в которых приняло участие большое число игроков. Хочу их всех поблагодарить за активность в этом вопросе!

    Оказалась, у лагов было 2 причины.

    Первая:
    На сервере просчитано время, в течение которого можно сделать шаг (и не дается делать шаг чаще). Это, во-первых, защита от кликеров, во-вторых – уравнивает скорость передвижения игроков (в теории, см. вторую причину), независимо от скорости их интернета или конфигурации ПК, браузера.
    У игрока в браузере также не даётся сделать шаг, пока сервер не ответит на предыдущий запрос.
    К сожалению, из-за изначальных ошибок в реализации провинций, эти ограничения работали только при ровном нажатии на зелёные стрелочки. Если нажимать чуть мимо – направление передвижения всё равно срабатывало, а вот проверка нет и запрос отправлялся всё равно.
    У игрока лошадь/повозка передвигалась, а сервер на эти запросы не реагировал. И в итоге персонажа отбрасывало назад. А если таких запросов набегало у игрока много – сервер считал, что это ускоритель или кликер и соответственно “карал”.
    Приношу от лица администрации RomeWar извинения всем игрокам, которые попали в подобную ситуацию.
    Сейчас это исправлено.

    Вторая:
    Если объяснить по простому: при клике в провинциях, запрос уходит от игрока на сервер игры, обрабатывается и возвращается обратно для проверки местонахождения персонажа.
    При этом, сам по себе этот запрос- абсолютно незначительный, на его обработку сервер тратит десятые доли миллисекунды и на трафик игрока он тоже никак повлиять не может. По этой причине, скорость интернета также не влияла на этот процесс, потому что эти запросы почти ничего “не весят“. Однако, путь от игрока до сервера и обратно он пройти всё же должен. И эта скорость уже зависит от того, сколько узлов запрос пройдут по “дороге туда-сюда”.
    Повлиять на нее игрок не может никак, как и мы. Это зависит от многих факторов и может регулярно меняться. Нагрузку серверу эти запросы не создают тоже.
    Если запрос идёт "пользователь-сервер-пользователь" довольно долго, то игрок бежит медленнее (персонаж не сдвинется дальше, пока не придёт ответ с сервера), если запрос возвращается к игроку быстрее - то и лошадь соответственно раньше можно отправить на следующую точку.
    Мне посоветовали посмотреть “игру, название которой тут нельзя произносить” и их лес. Якобы там этот вопрос как-то решили. Решили. Пока персонаж там проходит от пункта А к пункту Б, можно выкурить сигарету (но не нужно, потому что это вредно для здоровья!) и разумеется любые запросы успевают вернуться к игроку, где бы он не находился на этой планете.
    По этой причине, мы замедлили перемещение в наших провинциях (“время, в течение которого можно сделать шаг”, упомянутое в первой причине, увеличено).
    Изначально, именно этот вопрос хотели оставить для обсуждения игрокам, но в итоге пришли к выводу, что одинаковая и понятная скорость перемещения у всех лучше, чем "как повезёт сегодня".

    При этом, само передвижение в провинциях ещё можно модифицировать:
    - сделать перемещение по зажатию клика (не только для флеша),
    - передвижение до точки назначения по клику (даже если эта точка находится далеко от персонажа),
    - передвижение с помощью основных и дополнительных (“калькулятор”) клавиш клавиатуру,
    - автоматическое перемещение по дорогам между городами до развилки или встречи с противником (да-да, я это подсмотрел там же)

    Собственно, данный вопрос мы бы и хотели обсудить с игроками. В каком направлении лучше двигаться для упрощения передвижений? Например, пункты 1 и 2 взаимоисключающие и можно сделать только какой-то один из вариантов.

    Всем спасибо за внимание и за игру!
    Последний раз редактировалось Support3; 12.12.2018 в 12:17.

  2. #2
    Местный
    Регистрация
    07.11.2011
    Адрес
    Санкт-Петербург
    Сообщений
    1,328
    - передвижение с помощью основных и дополнительных (“калькулятор”) клавиш клавиатуру
    Господа, если я забыл кого-то оскорбить, примите мои извинения!

  3. #3
    Пользователь
    Регистрация
    08.04.2012
    Адрес
    Canada
    Сообщений
    57
    - передвижение до точки назначения по клику (даже если эта точка находится далеко от персонажа)

  4. #4
    - передвижение с помощью основных и дополнительных (“калькулятор”) клавиш клавиатуру,

  5. #5
    Новичок
    Регистрация
    26.09.2011
    Сообщений
    17
    - передвижение до точки назначения по клику (даже если эта точка находится далеко от персонажа),
    - автоматическое перемещение по дорогам между городами до развилки или встречи с противником

  6. #6
    Новичок
    Регистрация
    21.11.2014
    Сообщений
    3
    Все вышеперечисленные, были бы приятным дополнением.

  7. #7
    - сделать перемещение по зажатию клика (не только для флеша)

  8. #8
    Новичок
    Регистрация
    26.09.2011
    Адрес
    Бар
    Сообщений
    17
    - передвижение до точки назначения по клику (даже если эта точка находится далеко от персонажа) ------ "+"
    - автоматическое перемещение по дорогам между городами до развилки или встречи с противником -------- "+"

  9. #9
    - сделать перемещение по зажатию клика (не только для флеша)

  10. #10
    Пользователь
    Регистрация
    26.09.2011
    Сообщений
    63
    "...что одинаковая и понятная скорость перемещения у всех лучше, чем "как повезёт сегодня"." - какая в итоге выбрана скорость передвижения? 1 клетка в секунду или другая? Этот вопрос чтоб понимать правильно ли у меня работает передвижение.
    На мой взгляд проще всего сделать не зажимание кнопки мыши для бега, а сделать кнопку "бег", нажатие кнопки включает /отключает режим при котором персонаж бежит в сторону курсора мыши. Для удобства дублировать какими-то комбинациями например две кнопки мыши одновременно включают/отключают режим бег на глобальной карте. Или нажатие колесика мыши или шифт+контрл например.

 

 

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения