За последние 24 часа нас посетили 18293 программиста и 1634 робота. Сейчас ищут 1707 программистов ...

Игра, обновлять, координаты, направление

Тема в разделе "Решения, алгоритмы", создана пользователем zorbis, 2 сен 2010.

  1. zorbis

    zorbis Активный пользователь

    С нами с:
    17 авг 2009
    Сообщения:
    37
    Симпатии:
    0
    Адрес:
    Кишинев
    Добрый день,

    Столкнулся со следующей задачей. Многопользовательская игра. У нас есть поле (квадратный див 800х800) по которому постоянно (без остановок) движутся персонажи (квадратики 10х10). При клике по своему персонажу, наш персонаж меняет направление на случайное и движется пока не столкнется со стеной, по пути собирая всякие бонусы. Соответственно, нужно отслеживать перемещения не только своего персонажа, но и чужих.

    Пока что единственное решение, которое я представляю -- раз в n секунд аяксом подгружать новые координаты чужих игроков и текущее направление их движения (благо направлений всего 8). Но может есть более изящные решения?
     
  2. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    флеш рассматриватеся? сильверлайт?
     
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    сам по себе веб не рассчитан на мнгновенный отклик.
    если бы скорость игры была меньше - можно было бы использовать аякс,
    потому что запрос на аяксе может быть достаточно долгим в реальных условиях.

    а так может получиться разный результат и позиции, не совпадающие у разных игроков.
     
  4. zorbis

    zorbis Активный пользователь

    С нами с:
    17 авг 2009
    Сообщения:
    37
    Симпатии:
    0
    Адрес:
    Кишинев
    Мне знаний флеша и сильверлайта не хватит, чтоб что-то такое реализовать. И во-вторых, мне хотелось бы именно на js+php реализовать (и опять же клиент просил жс+пхп).

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

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    zorbis
    мож приостанавливать ход юзеров. Ну на одной игрухе онлайн помню было так - там сменил свое положение на ход вперед, например, надо подождать пару сек. Так складывается ощущение ходьбы игроком + промежуток времени для запроса и обработки данных.
     
  6. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    zorbis
    на такой скорости нифига не получится у тебя. Нужны какие то паузы или типа того, что бы можно было грузить инфу с сервера. Вот лучше спроси 440 Hz у них там почти тоже но у них есть таймауты и на флеше с AJAX работает, но у них архитектура блин, а у тебя что? хрень..
     
  7. zorbis

    zorbis Активный пользователь

    С нами с:
    17 авг 2009
    Сообщения:
    37
    Симпатии:
    0
    Адрес:
    Кишинев
    Да, наверное тогда действительно сделаю, чтоб ходить можно было только с каким-то интервалом. А то что супер быстро обновлять не получится -- и сам догадывался. Ну и ладно.