• Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, братан я пока только в документациях Leafletjs разбираюсь.. Я честно херней не маюсь, читаю, пытаюсь..
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, я начал писать. Я сейчас работаю над картой. Мне нужно реализовать логику передвижения по миру. Продумать пространство в игре. По клетка там все будет, или же как то иначе. По клеткам делать я не хочу. Мне нужно реализовать карту, по функционалу схожую с 2ГИС. Понять как работает схема составления маршрутов. Изучил Алгоритм Дейкстры для поиска коротких маршрутов. Как хранятся дороги в БД. И тд и тп.

    Тут дофига и дохера что нужно читать.
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Exploding, мне очень нравится ход ваших мыслей и то как вы их рассказываете)) И я тоже думал об этом, причем не мало. Но стоит признать, что все гениальное, делается просто. Я пока не нашел четкого решения всему этому, могу только изложить ход своих мыслей.

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

    Каждый сектор, это отдельная таблица с записями. Каждая запись имеет свою степень важности для персонажа. Остается реализовать взаимодействие между всеми этими секторами.

    Берем конкретный пример в виде укуса собаки. Происходит событие, в котором есть взаимодействие с собакой. Но для этого, чтобы все это работало, стоит реализовать сами Действия которые может совершать персонаж. Что это значит? Все просто. Есть персонаж, есть предмет взаимодействия, и есть исходный результат.

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

    И снова, вернемся к нашему примеру. Произошло действие. Исход данного действия, это накинуть определенный модификатор на персонажа. Какой еще модификатор? Модификатор изменения определенных характеристик этого персонажа. Берем его храбрость, встревоженность, внимательность, и все остальное в таком порядке, и просто изменяем их значения.

    Каждое действие будет храниться отдельно, в таблице, в папке, не важно. Главное что с каждым действием будет рядом хранится его индивидуальный скрипт. Его логика. То, что будет происходить при выполнении данного действия.

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

    Действие "Сесть под деревом"? Да запросто, логика такого действия будет - накинуть на персонажа модификатор, который изменяет на определенное время Эту, Эту и вот Эту характеристику.

    Действие "Собака в поле зрения"? Логика - берем из сектора Памяти объект Собака, подтягиваем к нему из сектора Эмоций объект, смешиваем с рандомными значениями (если таковы требуются), учитываем настоящий момент (в какой атмосфере находится персонаж) и отдаем Пользователю энтузиасту все эти данные. Конечно в UX-дизайне, и пускай тот творит свой креатив и создает логику данного действия.

    Остается только реализовать отдел по модерации этих самых действий.

    Я вот тоже остановлюсь тут пожалуй)) "а то поплохело уже)))"
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Можешь мне помочь с начальной настройкой Node.js? Деньги не проблема, возьму такой сервер, какой понадобится.
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Алексей Сергей, ты случайно не в курсе на чем сделана эта игра? Там есть как раз то, что мне нужно.
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, болезнь творца на то и болезнь творца. То, что я хочу, это не игра для массовой аудитории, я не хочу монетизации, не хочу какого-то одобрения от кого-то. То, что я хочу, это чувствовать как там, что-то живет в данный момент. Что-то, что создано мной. Что какой-то мой созданный персонаж, в данный момент думает куда ему устроиться на работу, на ком жениться, жениться ли вообще, и все такое и все такое. А я каждый вечер, буду открывать этот мир, и умиляться происходящим. Разговаривать с каждым своим творением, чувствовать его стремления и неудачи. Буду до конца своих дней, совершенствовать этот мир. Я не хочу пустой, бездушный обман, в виде быстрой обработки после запроса. Нет запроса, нет жизни. Там все мертво, когда я сделаю запрос, все это дело быстро создаст мне что-то ради того чтобы просто что-то показать.
  • Как каждую секунду проверять что-либо на что-либо?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Причина по которой мне нужно это делать каждую секунду, я не буду реализовывать только голод. Я хочу создать мини-город из 1000 жителей, каждый из которого будет просыпаться утром, выполнять свои задачи, развиваться, умирать, рождаться. Я хочу свою мини матрицу, хоть и примитивную, но свою)
  • Как каждую секунду проверять что-либо на что-либо?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Причина по которой мне нужно это делать каждую секунду, я не буду реализовывать только голод. Я хочу создать мини-город из 1000 жителей, каждый из которого будет просыпаться утром, выполнять свои задачи, развиваться, умирать, рождаться. Я хочу свою мини матрицу, хоть и примитивную, но свою)
  • Как каждую секунду проверять что-либо на что-либо?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Причина по которой мне нужно это делать каждую секунду, я не буду реализовывать только голод. Я хочу создать мини-город из 1000 жителей, каждый из которого будет просыпаться утром, выполнять свои задачи, развиваться, умирать, рождаться. Я хочу свою мини матрицу, хоть и примитивную, но свою)
  • Как каждую секунду проверять что-либо на что-либо?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Виталий Столяров, это весьма интересно и может мне пригодится! А ты не в курсе чего нибудь такого, что более похоже на бесконечный цикл? Или какие нибудь фоновые процессы которые это делают? Хотелось бы работать не только с одним MySQL. CRON все говорят использовать не стоит.
  • Расчёт золота, серебра и меди в игре, как сделать?

    Слушай, а что ты разрабатываешь? Я вот тоже работаю над своей игрой. Может сможем обменяться друг другом полезной информацией?
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, да неужели нет ничего что каждую секунду будет проверять одну переменную и делать что-то с другой? Почему все должно быть всегда супер-мега усложнено? Интегралы, арифметики, херифметики.

    Почему нельзя написать как вы говорите Демон фоновую програмку, которая каждую секунду будет обращаться к MySQL, брать от туда какое то значение, что-то с ним делать, и обратно его туда записывать?
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, послушай, я тут перечитал все, но так все таки и не врубаюсь. Пожалуйста, объясни мне как мне проверять каждую секунду определенного жителя, на что либо. К примеру на голод.

    Есть у меня персонаж. Он ничего не делает. Он сидит. И каждую секунду, у него должен уменьшаться показатель голода. Когда его голод достигнет отметки 10%, то он должен тупо отправить мне email об этом.

    Вот возьми к примеру игру Cities Skyline. Как он высчитывает столько машин, людей, самолетов и поездов каждую секунду? Неужели все это завернуто в один общий цикл и каждый раз скрипт с нуля пересчитывает все с нуля обращаясь к бд?
  • Как понять логику не скриптовых языков программирования?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Xilian, хороший вопрос. Мне тоже это вот интересно.
  • Как понять логику не скриптовых языков программирования?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Xilian, пфффф. Ты бы еще сказал двоичный код.
  • Болезнь творца или как создать свой виртуальный мир?

    theMukhiddin
    @theMukhiddin Автор вопроса
    sim3x, примерно к такой логике и я приходил. Я думал именно об этом же. Но столкнулся с проблемой того, что пока пользователь не сделает второй запрос, результата не будет и вовсе.

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

    Я думал это сделать еще след. образом. При заказе меча, сразу создать все нужные записи в бд, в котором уже написано что со склада кузнец забрал столько то ресурсов, что он выковал такой то меч. Но учитывать эти записи только по дате. К примеру, если я заказал меч, то запись о мече в БД сразу же создалась, но обрабатываться эта запись будет только когда ее дата придет в активность. Обычный запрос в бд по условие где дата равна прошлому.
  • Как понять логику не скриптовых языков программирования?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Вот тебе легко говорить таким тоном. А я то вот понятия не имею о чем ты говоришь. Даже представить не могу это примерно.
  • Как понять логику не скриптовых языков программирования?

    theMukhiddin
    @theMukhiddin Автор вопроса
    Александр Павлюк, интересно, он проверяет в каждом цикле наличие соединения по сокету и соответственно что-то делает.

    У меня возник такой вопрос. Я как-то запускал бесконечный цикл на PHP. Самый просто while(true). Так вот, пока сервер выполнял этот цикл, он не отвечал на другие http запросы.

    Соответственно я подумал. Видимо сервер может работать одновременно над одним скриптом, и все остальные попадают в очередь пока он не выполнит этот. А раз цикл бесконечный, значит все запросы попадают в очередь.

    Где я допускаю ошибку здесь?