Как работает игровая механика боя.

Тема в разделе "Обсуждение и вопросы по игре", создана пользователем I5Rek, 1 май 2011.

  1. I5Rek

    I5Rek Проверенный

    Сообщения:
    7
    Симпатии:
    2
    Добрый день.
    Вопрос к программистам игры.
    Подскажите как осуществляется запуск скрипта боя, в отведенное для него время?
    Например юзер отправил флот в атаку,выключил свой браузер, а тем временем на сервере через 45 минут должен произойти бой, произошли изменения и записались в бд. Через 50 минут вернулся юзер и посмотрел результат боя.
    Вот не могу в инете найти как сделать такой процесс, чтоб запускался скрипт в заданное время юзером.
    Как и чем можно такое осуществить или кто отвечает за запуск такого процесса?
     
  2. Necra

    Necra Космонавт

    Сообщения:
    10.343
    Симпатии:
    4.647
    Э.. чё? :)
     
  3. I5Rek

    I5Rek Проверенный

    Сообщения:
    7
    Симпатии:
    2
    Эх как бы поточнее обьяснить.
    Вот зашел юзер на страничку, там окно ввода времени и кнопочка, которая отвечает за то чтоб переменной А добавить переменную Б в PHP коде через указанное время в окошке времени.
    Юзер нажал кнопочку, закрыл страничку и браузер.
    Как можно сделать чтоб запустился php код в указанное время юзером на сервере.
    Вот у вас я отправил флот в атаку, указывается время что через 1час произойдет бой между моим флотом и чужим игроком. Кто запустит данный процесс боя именно через час.
    За этим следит Сервер апач? или у вас на хостинге запускается Cron и запускает каждую секунду скрипт который смотрит где и когда произвести манипуляцию боя.
    Аль просто срипт php как то написан,хотябы примерно план действии может скрипта подскажете.
    или все это намного сложнее и этого не добится с помощью php ajax javascript и т.п. языков програмирования для веб приложении.
    Или у вас там специальная прога работает, держит все в памяти эти данные о времени по обработке данных.
    Спрашиваю на форумах по разработке игр для браузеров и нито не может и подсказать и вообще на подобие таких тем очень тухло все. Все тока и твердят юзай Cron.
    Лан поиду еще подумаю как бы поточнее сформулировать вопрос :-(
     
  4. drakon2007

    drakon2007 Сфера

    Сообщения:
    228
    Симпатии:
    71
    возможно он имеет в виду как сделать таймер запускающийся пользователем и через какое то время (например заданное пользователем) выполнял поставленную задачу.
     
  5. Necra

    Necra Космонавт

    Сообщения:
    10.343
    Симпатии:
    4.647
    I5Rek, А вам зачем? Хотя, конечно, догадываюсь. :)
    Если я вас верно понял, то замечу, задача которую вы хотите решить весьма простая и если вам она пока не дается, то лучше погрузиться в изучение основ.

    Верно твердят, это один из вариантов. Второй вариант написать демона.

    Опишите задачу которую пытаетесь решить.
     
  6. I5Rek

    I5Rek Проверенный

    Сообщения:
    7
    Симпатии:
    2
    Основы то я уже подучил php java javascript mysql, задачка простая ямогу её осуществить если не выключать браузер :) Но это не то. Использование Cron слишком будет для этой задачи ресурсо емким, постоянный запросы делать когда они не нужны.

    Задача то такая.
    1 - юзер дает команду в браузере чтобы в БД у Васи через 1час появилась 2 бутылки кефира.Все юзер покидает страничку.
    2 - Через час после отданой команды юзером(кто то хз кто, но точно не кто то из юзеров, запускает например функцию которая даст Васе 2 к тому прокисших бутылки кефира:)

    Вот я хочу просто узнать кто может запустить эту функцию в заданное время.
    Может это и делает Демон, пойду поищу по поводу этого инфу.

    Вы уж извините что отвлекаю вас,решил просто на прямую спросить у профи, так как на подобных форумах по созданию вебприлжении бесмыленно там сидят одни новечки.Профи обычно в таких местах не ходят.И очень трудно самому разобраться.
    Написать Демон - это что то новенькое видимо где то пропустил, пойду поищу инфу спс что уделили время.
     
  7. sinboroda

    sinboroda Надежный

    Сообщения:
    6.410
    Симпатии:
    2.056
    Нууу..Я не профи в таких делах,но могу сказать одно-для того,что бы тебя поняли,нужно хотя-бы писать внятно по русски;)
     
  8. Necra

    Necra Космонавт

    Сообщения:
    10.343
    Симпатии:
    4.647
    1. В памяти сидит демон и проверяет (например раз в секунду), прошел ли час после того как юзер отдал команду на появление 2х бутылок кефира, если прошел то начисляет Васе 2 бутылки кефира и со спокойной совестью ждет новых указаний.

    2. Раз в какое-то время запускается крон который проверяет, а прошло ли 2 часа с того момента как была отдана команда на начисление кефира для Васи. Если прошло, то начисляет. Недостаток метода что возможно задержка поставок кефира. Но это зависит от того как часто запускается крон.

    3. Суперпозиция первых 2х методов :)
     
  9. I5Rek

    I5Rek Проверенный

    Сообщения:
    7
    Симпатии:
    2
    Демон рулит!!!
    Огромный респект и уважуха Necra. Большое спасибо очень помог!!!