www.mudconnector.su
https://forum.mudconnector.su/

nmud (прения)
https://forum.mudconnector.su/viewtopic.php?f=13&t=1878
Страница 2 из 2

Автор:  iillyyaa2033 [ Пт авг 18, 2017 3:46 pm ]
Заголовок сообщения:  Re: nmud (прения)

KadVar писал(а):
нужны ли вам игроки и в каком количестве

После беты или релиза - определенно нужны. Количество не важно - важно их поведение. Если надо, буду банить. Вплоть до выдачи инвайтов мной лично.

KadVar писал(а):
придется делать определенные вещи

Какие конкретно?


Моя позиция по поводу прав и владения ими. Есть три вещи: собственно наработки (исходники и контент), физический сервер (и доступ к нему) и аудитория сервера (живые игроки и просто сочувствующие).

Первое создается общими усилиями и распространяется свободно. Вы можете развернуть аналогичный сервер у себя на машине - нет проблем. Если Вы можете что-либо улучшить - я готов принять Pull request.

Возможно, это выглядит несколько странно (как же так, работаете над контентом, а потом выкладываете в открытый доступ?), но для меня гораздо ценнее те люди, с которыми я общаюсь и само общение с ними, чем возможное снижение онлайна из-за форка/зеркала/клона.

Вторым владею я и не собираюсь давать доступ больше, чем необходимо. Здесь полный доступ у меня, и ограниченный - у команды. Соответственно, если происходят события, которые мне не нравятся (например, удаление моего любимого домена из системы), то я могу принять меры незамедлительно (откатить серв, например). А могу сначала посоветоваться с людьми. Но в любом случае, право на сервер остается за мной. Если же участнику такая политика не нравится - отпочковывайся и поднимай свой сервер. Если разошлись вежливо, то можно даже поговорить о том, чтобы форк был частью общего мира - система позволяет миру быть децентрализованным.

Третье - люди. Ни у меня, ни у команды над ними власти нет. Если случится форк (другими словами - раскол), то аудитория может уйти к форку. А может и не уйти. В любом случае, останутся либо те, кого я хочу видеть, либо только моя команда. Никого удерживать или отговаривать я не собираюсь.

KadVar писал(а):
создать людям большие проблемы выкладывая данные, которые они считают конфиденциальными

Конфиденциальные данные - это побочный продукт общения сервера с клиентом. Разумеется, данными об игроках владею я - т.к. сервер мой - и распространять их не собираюсь. Поэтому-то и не хочу никого подпускать к базам.

KadVar писал(а):
все что вы делаете технически вторично по отношению к тому, что придется делать на административном уровне, если не дай бог сможете собрать человек 100 онлайн. И лучше-бы задуматься над тем, как сделать всё так идеологически, чтобы не сдохнуть под гнетом этой самой административной работы.

Свою позицию я высказал. В свете Вашего опыта - где я ошибаюсь?

KadVar писал(а):
А зачем вам сорцы циркуля ? Циркуль вообще зачем ?
Я не знаю никаких мадов, которые использовали бы циркуль.
Многие базируются на нём, но это не одно и тоже, код зачастую переписан и не раз.

Вы попросили пример того, что я буду портировать и как. Мне интересно, как устроен циркуль. Для меня лучший способ разобраться в инструменте - начать работать с ним. Интеграция же циркуля в nmud - это та задача, которая позволит изучить циркуль и, вероятно, привнесет новые идеи в проект. На самом деле, вместо циркуля можно подставить любой Circle-based проект.

KadVar писал(а):
Можете примеры кода показать ?

Команда 'выйти'.
Ее синтаксис сейчас таков: 'выйти в (название двери)'

Сервер получил сообщение от клиента, определил команду, нашел её в базе, получил список предлогов, разделил команду на блоки-аргументы и выполнил скрипт.

Вот код для блока 'в':
Код:
entity = client:getVisibleEntityByName(arg[#arg]);

Здесь мы ищем ту сущность, о которой написал пользователь, в списке видимого аватаром, и устанавливаем ее в кач-ве переменной entity.

Вот код самой команды.
Код:
if entity ~= nil then -- если пользователь указал, куда хочет идти (т.е. выполнился один из блоков)
  if entity:hasTag('door') then -- если он идет в дверь
    local eX = entity:getParam('exitPointX'); -- получаем коордираты точки, куда ведет эта дверь
    local eY = entity:getParam('exitPointY'); -- (т.к.сейчас дверь - это все еще что-то типа портала)
    local eZ = entity:getParam('exitPointZ');

    if eX ~= nil and eY ~= nil then -- если хотя бы две координаты заданы
      if eZ ~= nil then -- и задана третья
        client:moveTo(eX, eY, eZ); -- то телепортируемся в трех плоскостях
      else
        client:moveTo(eX, eY); -- иначе, в двух
      end
    else -- если дверь не ведет никуда
      client:send('У двери нет координат выхода!');
    end

    else -- если это не дверь
      client:send('Это не дверь.');
    end

else -- если ничего не нашли
  client:send('Объект не существует');
end

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

Автор:  KadVar [ Пт авг 18, 2017 4:14 pm ]
Заголовок сообщения:  Re: nmud (прения)

iillyyaa2033 писал(а):
KadVar писал(а):
нужны ли вам игроки и в каком количестве

После беты или релиза - определенно нужны. Количество не важно - важно их поведение. Если надо, буду банить. Вплоть до выдачи инвайтов мной лично.

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


iillyyaa2033 писал(а):
KadVar писал(а):
придется делать определенные вещи

Какие конкретно?

Любые. Но в 100 раз лучше, чем имеющиеся аналоги.
Возможно придется ориентироваться на мобильные платформы, возможно что-то еще.
Иначе аудиторию не собрать.
20 лет назад можно было найти 20-30 человек онлайна на любой русифицированный циркуль.
Лишь бы было хоть что-то. Сейчас это увы нереально.

iillyyaa2033 писал(а):
Возможно, это выглядит несколько странно (как же так, работаете над контентом, а потом выкладываете в открытый доступ?), но для меня гораздо ценнее те люди, с которыми я общаюсь и само общение с ними, чем возможное снижение онлайна из-за форка/зеркала/клона.

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

iillyyaa2033 писал(а):
KadVar писал(а):
создать людям большие проблемы выкладывая данные, которые они считают конфиденциальными

Конфиденциальные данные - это побочный продукт общения сервера с клиентом. Разумеется, данными об игроках владею я - т.к. сервер мой - и распространять их не собираюсь. Поэтому-то и не хочу никого подпускать к базам.

Т.е. по факту "команда" не владеет ничем (как известно еще со времен пауля муаддиба владеть чем-то - это иметь возможность в том числе это что-то уничтожить". Это в общем-то хорошо. В колхозе всегда бардак.

iillyyaa2033 писал(а):
KadVar писал(а):
все что вы делаете технически вторично по отношению к тому, что придется делать на административном уровне, если не дай бог сможете собрать человек 100 онлайн. И лучше-бы задуматься над тем, как сделать всё так идеологически, чтобы не сдохнуть под гнетом этой самой административной работы.

Свою позицию я высказал. В свете Вашего опыта - где я ошибаюсь?

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

iillyyaa2033 писал(а):
KadVar писал(а):
А зачем вам сорцы циркуля ? Циркуль вообще зачем ?
Я не знаю никаких мадов, которые использовали бы циркуль.
Многие базируются на нём, но это не одно и тоже, код зачастую переписан и не раз.

Вы попросили пример того, что я буду портировать и как. Мне интересно, как устроен циркуль. Для меня лучший способ разобраться в инструменте - начать работать с ним. Интеграция же циркуля в nmud - это та задача, которая позволит изучить циркуль и, вероятно, привнесет новые идеи в проект. На самом деле, вместо циркуля можно подставить любой Circle-based проект.

Не очень понятно где вы возьмете сорцы любого circle-based проекта :). В целом-же изучать то, как устроен циркуль я вам не советую. Это малоудачная кодовая база. Можно его изучить с позиций "как не надо делать" если только.
Вы упорно не понимаете одной простой вещи: вам вряд ли удастся найти хоть какой-то приличный контент, который совместим с circle. Если взять русские мады, в которых хоть когда-то было >20 человек онлайн, то во всех в них движок изменен до неузнаваемости.

iillyyaa2033 писал(а):
KadVar писал(а):
Можете примеры кода показать ?

Команда 'выйти'.


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

iillyyaa2033 писал(а):
Ее синтаксис сейчас таков: 'выйти в (название двери)'

Ээээ... вместо СЗЮ "выйти север" "выйти запад" "выйти юг" ??? :shock:

iillyyaa2033 писал(а):
Сервер получил сообщение от клиента, определил команду, нашел её в базе, получил список предлогов, разделил команду на блоки-аргументы и выполнил скрипт.

В базе... команду... он что, будет каждый раз для интерпретации в БД лазить ?

Код:
>if entity ~= nil then -- если пользователь указал, куда хочет идти (т.е. выполнился один из блоков)

>  if entity:hasTag('door') then -- если он идет в дверь
В окно он идет... или в портал.

>    if eX ~= nil and eY ~= nil then -- если хотя бы две координаты заданы
>      if eZ ~= nil then -- и задана третья
>        client:moveTo(eX, eY, eZ); -- то телепортируемся в трех плоскостях
>      else
>        client:moveTo(eX, eY); -- иначе, в двух
>      end
Не очень понятно... точнее вообще непонятно, ну да вам виднее.

>    else -- если дверь не ведет никуда
>      client:send('У двери нет координат выхода!');
>    end
Чего нету ? Я шаман 80го уровня, что такое "координаты выхода" ???

>    else -- если это не дверь
>      client:send('Это не дверь.');
>    end
Я вроде хотел в окно ?

>else -- если ничего не нашли
>  client:send('Объект не существует');
>end
Чего не существует :) ?

Автор:  KadVar [ Пт авг 18, 2017 4:16 pm ]
Заголовок сообщения:  Re: nmud (прения)

Ей богу, выб начали всё-таки с описания на хорошем русском языке того, что планируете делать.
Было бы в 1000 раз понятнее, чем помочь.

В частности, 100% нужен геймдев документ, т.е. документ в котором написано как именно игроки
будут проводить время в готовом продукте. Чем они будут там заниматься. Какие задачи будут перед
ними стоять, как они смогут их решать, как смогут (и смогут ли) взаимодействовать друг с другом,
насколько всё будет заточено под коллективные действия итп.

Автор:  iillyyaa2033 [ Пт авг 18, 2017 7:13 pm ]
Заголовок сообщения:  Re: nmud (прения)

KadVar писал(а):
Ээээ.... боюсь задача стоит по-другому: как хотя-бы пяток игроков привлечь, а не как их потом банить :).
Используя "слегка допиленный циркуль" это вряд ли удастся. Надо предложить что-то кардинально лучше того, что есть.

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

KadVar писал(а):
предложить что-то кардинально лучше

Крайний пре-альфа-тест мы проводили, находясь в разных регионах РФ; сервер был запущен на android-планшете и доступен к через tor, в качестве клиента выступал тор-браузер. Редактор, кстати, тоже сейчас есть только под android - решили, нам пока что что так удобнее. На следующем пре-альфа-тесте мы планируем опробовать квесты, общение с неписями и передачу друг другу и неписям предметы.

Кроме того, на том же тесте я разделю сервисы между несколькими устройствами. Собственно, это следующий шаг на пути к [1].

KadVar писал(а):
Однако придется неслабо попотеть, чтобы добиться интереса и играбельности в ситуации, когда вся механика доступна любому желающему. Никакие квесты-загадки, в том числе на сеттинг и сообразительность тут уже не будут работать.

Разумеется, поэтому я и пытаюсь сделать так, чтобы чувствовалась причастность каждого игрока к общей истории (см. [3]), а мир выглядел живым и продуманным (вот для этого нужны сервисы симуляции [4]).

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

KadVar писал(а):
Мы обсуждаем записку условно на 1000 знаков в которой изложены идеи о том, как запустить человека на луну.
По этой записке я могу сказать только одно: в ней нет ничего о тех мерах, которые позволят выжить космонавту...

Продолжая аналогию - кроме самой записки есть еще и частично работающий прототип устройства для запуска, а также команда, этим устройством занимающаяся. Вот запустим упрощенную версию, отправим на луну робота, затем собаку и только потом - человека. Я не обещаю все и сразу.

KadVar писал(а):
Вы упорно не понимаете одной простой вещи: вам вряд ли удастся найти хоть какой-то приличный контент, который совместим с circle. Если взять русские мады, в которых хоть когда-то было >20 человек онлайн, то во всех в них движок изменен до неузнаваемости.

Это я понимаю. Как и то, что циркуль, его предки и потомки давно устарели. Возможно, я неправильно донес свою мысль. Напишу еще раз.

На форуме неоднократно высказывались идеи об объединении и глобализации. Значит, это нужно сообществу. Я же могу дать сообществу то, в чем оно нуждается - или нуждалось 5 лет назад - свой проект. Именно поэтому я и написал про циркуль - я могу пойти навстречу тем, кто хочет объединиться. Я стараюсь выстроить систему так, что объединение будет происходить максимально безболезненно - даже доступ к контенту не переходит ко мне, а остается у его владельцев. Когда я писал 'единый и децентрализованный' в [2], я имел в виду именно это.

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

KadVar писал(а):
Речь шла уже скорее о скриптовом языке и квестах.

Например, вот так Существо реагирует на то, что в помещение кто-то зашел:
Код:
function tick(time) -- ф-ция вызывается при тике сервера
  entity:skip(40); -- пропускаем 40 тиков (не меньше 800 секунд, т.к. максимальный TPS = 20)
end

function onCreatureCome(creature) -- ф-ция вызывается, когда в зоне видимости появляется какое-л. существо (моб или игрок)
  entity:d('cr-c 0'); -- спамим в лог

  local parent = domain:getParent(entity); -- находим родителя нашего моба
  local id = parent:getId(); -- получаем его id
  local cr = domain:getById(creature); -- находим существо, id которого нам передали в кач-ве параметра ф-ции

  if cr == nil then -- что-точилось, не удалось узнать, кто вошел
    entity:d('cr-c 0-nil'); -- спамим в лог
  else
    local name = cr:toString(); -- получаем имя вошедшего
    local myname = entity:toString(); -- получаем свое имя
    domain:notifyChilds(id, 'avatar-action', ' - Привет, '..name..', - сказал '..myname..'.'); -- уведомляем всех потомков нашего родителя, что мы что-то сказали
  end

  entity:d('cr-c 1'); -- спамим в лог
end

Этот и предыдущие листинги содержат черновой код. В будущем он не раз изменится. Ведь мы пока что пре-альфа.

KadVar писал(а):
Ээээ... вместо СЗЮ "выйти север" "выйти запад" "выйти юг"

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

KadVar писал(а):
В базе... команду... он что, будет каждый раз для интерпретации в БД лазить ?

Зачем же? Сначала проверяем в списке кэшированных команд. Если такой команды в кэше сервиса нет, спрашиваем у базы и сохраняем команду в кэш.


Касательно предыдущего листинга:
  • Код написан из рассчета, что переходы возможны только через двери. Именно поэтому проверяем сущность на тэг 'door' (а не 'teleport' или 'exit')
  • Строкой 'client:moveTo(eX, eY);' мы двигаем сущность по осям X и Y на eX и eY соответственно, относительно родительской сущности.
  • Сообщение о том, что у двери нет координат выхода - временная мера.
  • 'Чего не существует?' - двери, в которую Вы пытаетесь выйти.

[1] https://github.com/nmud/nmud-docs/blob/master/ru/md/article_01.md#%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D1%8B
[2] https://github.com/nmud/nmud-docs/blob/master/ru/md/article_01.md#%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B
[3] https://github.com/nmud/nmud-docs/blob/master/ru/md/article_01.md#%D0%9C%D0%B8%D1%80-%D0%B6%D0%B8%D0%B2%D0%B5%D1%82-%D0%BC%D0%B8%D1%80-%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%D1%81%D1%8F
[4] https://github.com/nmud/nmud-docs/blob/master/ru/md/article_01.md#%D0%9F%D1%80%D0%BE%D1%87%D0%B5%D0%B5

Автор:  KadVar [ Пн авг 21, 2017 2:49 pm ]
Заголовок сообщения:  Re: nmud (прения)

iillyyaa2033 писал(а):
Язык другой, подход другой, идеи другие.

Пока я вижу немало технических подробностей, но еще раз намекну: не это в текущий момент главное.
Нужен кардинально лучший геймплей... чем и как обеспечите ?

iillyyaa2033 писал(а):
KadVar писал(а):
Однако придется неслабо попотеть, чтобы добиться интереса и играбельности в ситуации, когда вся механика доступна любому желающему. Никакие квесты-загадки, в том числе на сеттинг и сообразительность тут уже не будут работать.

Разумеется, поэтому я и пытаюсь сделать так, чтобы чувствовалась причастность каждого игрока к общей истории (см. [3]), а мир выглядел живым и продуманным (вот для этого нужны сервисы симуляции [4]).

Чтобы мир выглядел живым и продуманным надо хренову тучу ручной работы сделать.
Это как книгу написать... много книг.

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

Весь вопрос в том, зачем он полез.
Если для того, чтобы найти ответ на загадку, то ценность его стремится к 0.

iillyyaa2033 писал(а):
На форуме неоднократно высказывались идеи об объединении и глобализации. Значит, это нужно сообществу.

Суровая ошибка.
1. я что-то не припомню этого вообще
2. сообществу это не нужно

Я вам не зря предлагал немного покопать в сторону истории.
Вы быстро поняли бы, что, к сожалению "сообщество" проектов имеющих хоть какую-то аудиторию
абсолютно не заинтересованно друг в друге. Эта "площадка" прекрасный тому пример.
Даже во времена, когда популярность была в 10-100 раз больше люди не регистрировались на ней.
Разным игрокам из разных проектов почти нечего сказать друг-другу, у них у всех свои заморочки.
Если же говорить о "ведущих" проектов, то очень часто многие из них готовы удавить соседей,
представься им такая возможность. К сожалению, в этой области страсти в своё время были накалены
до предела, и многие совершили крупные и скажем так "непоправимые" ошибки.

Исключение составляют ГМы так называемой "новой волны", они не смогли достичь ничего существенно
большего, чем создание проектов интересных в основном только им и 2-3 игрокам, и в принципе, возможно,
готовы интегрироваться в какую-то более крупную систему.

Будем надеяться, что я ошибаюсь...


iillyyaa2033 писал(а):
Я же могу дать сообществу то, в чем оно нуждается - или нуждалось 5 лет назад - свой проект. Именно поэтому я и написал про циркуль - я могу пойти навстречу тем, кто хочет объединиться. Я стараюсь выстроить систему так, что объединение будет происходить максимально безболезненно - даже доступ к контенту не переходит ко мне, а остается у его владельцев. Когда я писал 'единый и децентрализованный' в [2], я имел в виду именно это.

Это логичная, хорошая идея.
У меня она тоже была, черновики где-то валялись, поищу.
Однако я делать не стал. Просто потому, что те, кто есть сейчас вряд-ли оценят...


iillyyaa2033 писал(а):
Я понимаю, что в свободном доступе не найти хороший контент для циркуля. Но я и не ставлю такой цели. Мне просто интересно будет покопаться в циркуле и встроить его в наш мад - но после релиза основного проекта.

Да нечего там встраивать.
В стоковой версии даже не было скриптового языка по-моему...

iillyyaa2033 писал(а):
KadVar писал(а):
Речь шла уже скорее о скриптовом языке и квестах.

Например, вот так Существо реагирует на то, что в помещение кто-то зашел:

Довольно зубодробительный синтаксис...
Не лучше того, что есть сейчас.


Код:
  local parent = domain:getParent(entity); -- находим родителя нашего моба
  local id = parent:getId(); -- получаем его id
  local cr = domain:getById(creature); -- находим существо, id которого нам передали в кач-ве параметра ф-ции

Нет, вы это серьезно :) ?
Т.е. мне надо 3 вызова для определения id ?
никаких creature.getId ?
хрен мне, а не морковку ? До посинения читать доки ?

Код:
  if cr == nil then -- что-точилось, не удалось узнать, кто вошел
    entity:d('cr-c 0-nil'); -- спамим в лог
  else

Это как так ?
Может лучше сразу server.shutdown ?


Код:
    local name = cr:toString(); -- получаем имя вошедшего
    local myname = entity:toString(); -- получаем свое имя

    domain:notifyChilds(id, 'avatar-action', ' - Привет, '..name..', - сказал '..myname..'.'); -- уведомляем всех потомков нашего родителя, что мы что-то сказали
  end

Вот вы это серьезно ?
Вот честно, в своём ли вы уме ?

Выглядеть это должно примерно так

Код:
function onCreatureCome(creature)
  say Привет, creature.name
end


ВСЁ !
И только в этом раскладе у вас есть хоть какие-то шансы на успех.



iillyyaa2033 писал(а):
KadVar писал(а):
Ээээ... вместо СЗЮ "выйти север" "выйти запад" "выйти юг"

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

Революционно... и боюсь не оценят игроки.
Набор выходов как-то известен ?
Каким он будет для типичной зоны... любой из любого мада ?.

Вы, кстати, посмотрите, если есть желание.
Я, некогда выкладывал пример зоны, найти можно, с триггерами итп, ВЕСЬМА разнообразными.
Это не шедевр! однако вы можете обкатать свой язык на решенных там задачах...

iillyyaa2033 писал(а):
Касательно предыдущего листинга:
  • Код написан из рассчета, что переходы возможны только через двери. Именно поэтому проверяем сущность на тэг 'door' (а не 'teleport' или 'exit')

Какие-то мощные у вас допущения. Для порталов будете копипастить код ? Писать свой ? Что-то еще ?
Я пытаюсь оценить ваши качества, как разработчика.

iillyyaa2033 писал(а):
  • 'Чего не существует?' - двери, в которую Вы пытаетесь выйти.

  • Двери все-таки ?
    Еще раз: я друид 80го левела... "что такое объект ?"
    Не понимаю я. Знаю гриб, знаю лес. Объект что такое ?

    Со сслыками не очень понял, я эту кашу идей уже по диагонали прочитал один раз.

    Автор:  KadVar [ Пн авг 21, 2017 4:27 pm ]
    Заголовок сообщения:  Re: nmud (прения)

    Я, кажется нащупал, вариант, при котором могу вам чем-то помочь.

    Если результат будет выложен в паблик, и вами-же выложен в какой-нибудь топик на форуме
    (понятия не имею сколько живут проекты на гитхабе, так что хотелось бы копию иметь),
    то я готов помочь, например, с механизмами, которые касаются русского языка.

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

    Оформлено все это желательно должно быть в качестве отдельной библиотеки.

    Автор:  iillyyaa2033 [ Вт авг 22, 2017 4:06 pm ]
    Заголовок сообщения:  Re: nmud (прения)

    KadVar писал(а):
    Если результат будет выложен в паблик

    Все, что связано с nmud'ом, лежит здесь: https://github.com/nmud

    KadVar писал(а):
    Т.е. можете в отдельном топике попробовать сформулировать проблемы, пути решения итп,
    я проанализирую исходя из своего опыта и подскажу где проблемы, и возможно, даже как их решать.

    Отлично! Сделаю. Но сначала вытяну проект в статус альфы, ладно?

    KadVar писал(а):
    Оформлено все это желательно должно быть в качестве отдельной библиотеки.

    В nmud-core лежит ядро проекта - не зависит от платформы и мира. Его можно собрать как jar'ку и использовать в других проектах. Собственно, в проектах nmud и nmud/demo так и сделано.

    KadVar писал(а):
    Нужен кардинально лучший геймплей... чем и как обеспечите ?

    Пойму, что такое для Вас 'лучший геймлей', и если это не сильно расходится с моими идеями, то сделаю.

    KadVar писал(а):
    Чтобы мир выглядел живым и продуманным надо хренову тучу ручной работы сделать.

    Сделаем. Не за один день, но сделаем.

    KadVar писал(а):
    многие из них готовы удавить соседей, представься им такая возможность.

    Учту, если буду общаться с 'ведущими'.

    KadVar писал(а):
    ГМы так называемой "новой волны" ... возможно,
    готовы интегрироваться в какую-то более крупную систему.

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


    Касательно скриптов: да, я предполагал, что для неподготовленного человека это может выглядеть несколько безумно. Но я хочу, чтобы скриптами можно было делать интересные вещи, поэтому сейчас скрипты могут работать с довольно 'низкоуровневыми' механизмами системы. И да, я знаю что это неправильно. Просто сейчас я не знаю точно, что именно должно быть в ядре, а что - в скриптах. Соответственно, случаются вещи типа тех трех строк.

    Однако уже сейчас можно сделать и так:
    Код:
    function onCreatureCome(creature)
      entity:say('Привет, '..creature:toString());
    end

    Но ф-цию say(String messsge) я добавил позже, а в скрипте изменить забыл.

    В релизе оно же может выглядеть примерно так:
    Код:
    function onCreatureCome(creature)
      say('Привет, '..creature);
    end


    KadVar писал(а):
    Набор выходов как-то известен ?

    Те, что указаны в описании сущности и несколько дополнительных.

    Идея такова: если игрок в комнате, то можно выйти в двери, окна, люки; залезть во всякие сундуки и шкафы - все предметы указаны в описании. Но я хочу (и сделаю), чтобы можно было также написать 'выйти на улицу' - и аватар выйдет на улицу наиболее удобным способом.

    KadVar писал(а):
    Для порталов будете копипастить код ? Писать свой ? Что-то еще ?

    Нынешний код двери как-раз таки наиболее применим для портала. А для дверей (а также окон, лестниц, люков) он должнен быть встроен в ядро и вызываться каким-нибудь 'avatar:exitTo(door)'. Но - еще не сделал.

    KadVar писал(а):
    Двери все-таки ?
    Еще раз: я друид 80го левела... "что такое объект ?"
    Не понимаю я. Знаю гриб, знаю лес. Объект что такое ?

    Оставим в стороне тот вопрос, как друль попал в наш немагический домен во время пре-альфа-тестирования. Вот эта строчка 'Объект не существует' выводится когда Вы пишете что-то типа 'выйти в зеленую дверь', а в комнате есть только белая и красная. Но Вы правы - слово 'объект' здесь не очень уместно.

    Я понял, что нужет какой-то документ, детально разъясняющий что мы вообще делаем. Он будет.

    Страница 2 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
    Powered by phpBB® Forum Software © phpBB Group
    http://www.phpbb.com/