www.mudconnector.su

Национальный мадконнектор.
Текущее время: Чт мар 28, 2024 7:42 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: nmud (прения)
СообщениеДобавлено: Пт авг 18, 2017 3:46 pm 
Не в сети

Зарегистрирован: Ср авг 16, 2017 3:59 pm
Сообщений: 11
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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nmud (прения)
СообщениеДобавлено: Пт авг 18, 2017 4:14 pm 
Не в сети
Site Admin

Зарегистрирован: Пт май 16, 2008 4:14 pm
Сообщений: 1416
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
Чего не существует :) ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nmud (прения)
СообщениеДобавлено: Пт авг 18, 2017 4:16 pm 
Не в сети
Site Admin

Зарегистрирован: Пт май 16, 2008 4:14 pm
Сообщений: 1416
Ей богу, выб начали всё-таки с описания на хорошем русском языке того, что планируете делать.
Было бы в 1000 раз понятнее, чем помочь.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nmud (прения)
СообщениеДобавлено: Пт авг 18, 2017 7:13 pm 
Не в сети

Зарегистрирован: Ср авг 16, 2017 3:59 pm
Сообщений: 11
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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nmud (прения)
СообщениеДобавлено: Пн авг 21, 2017 2:49 pm 
Не в сети
Site Admin

Зарегистрирован: Пт май 16, 2008 4:14 pm
Сообщений: 1416
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го левела... "что такое объект ?"
    Не понимаю я. Знаю гриб, знаю лес. Объект что такое ?

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


    Вернуться к началу
     Профиль  
     
     Заголовок сообщения: Re: nmud (прения)
    СообщениеДобавлено: Пн авг 21, 2017 4:27 pm 
    Не в сети
    Site Admin

    Зарегистрирован: Пт май 16, 2008 4:14 pm
    Сообщений: 1416
    Я, кажется нащупал, вариант, при котором могу вам чем-то помочь.

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

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

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


    Вернуться к началу
     Профиль  
     
     Заголовок сообщения: Re: nmud (прения)
    СообщениеДобавлено: Вт авг 22, 2017 4:06 pm 
    Не в сети

    Зарегистрирован: Ср авг 16, 2017 3:59 pm
    Сообщений: 11
    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го левела... "что такое объект ?"
    Не понимаю я. Знаю гриб, знаю лес. Объект что такое ?

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

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


    Вернуться к началу
     Профиль  
     
    Показать сообщения за:  Поле сортировки  
    Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

    Часовой пояс: UTC + 3 часа [ Летнее время ]


    Кто сейчас на конференции


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

    Найти:
    Перейти:  
    cron