+22.25
Рейтинг
0.70
Сила
avatar

Максим

  • avatar artist
  • 0
Чья поддержка и одобрение? Мое или игроков? Если это очень важно, то мад врядли напишешь.
  • avatar artist
  • 0
Допустим движок будет. Кто будет писать сам мад?
  • avatar artist
  • 0
Вопрос только, кому то это нужно сейчас? Если что то пилить новое, то с прицелом на западные страны.
  • avatar artist
  • 1
Не стоит путать уровни протоколов. Телнет — это тупо текст поверх TCPIP. HTTP — это тупо текст в формате html поверх TCPIP. Протокол транспорта один, а возможности совсем разные. Я хочу сделать Lua поверх TCPIP. По сути все тоже самое — текст поверх TCPIP. За доставку данных через инет отвечает TCPIP, а не Lua или Telnet.

Да, я хочу заменить телнет на print с данными комнаты, как ты и написал, если говорить упрощенно, но
1. Формат этих данных и их количество любое, главное по синтаксису луа. Например.
room{ desc=«Описание», name=«Название», mobs = { { name=«mob1», hp = 100,… }, {} }, objects = { } }
Так можно передавать не только данные комнаты, а вообще все, что будет нужно клиенту!
Тогда клиент получит уже распарсенные данные, сможет отформатировать вывод как считает нужным,
например по ширине окна (как ты и хотел), вывести списки мобов в оотдельные окна с их хп и прочее.

2. Начала программы и конца нет… Каждый пакет данных — это новая программа, которые выполняются друг за другом.
Можно сказать по другому — это программа которая поступает в клиент построчно, а не вся сразу.

3. Потери пакетов не будет. Это обеспечивает TCPIP или будет обрыв связи.

Главный плюс такого подхода — готовый парсер протокола, с обработкой ошибок, причем протокол может быть сложным и
независимым для клиента и для сервера. Чтобы адаптировать клиент под новые возможности сервера нужно тупо
дописать обертку на том же Lua, которая будет понимать новые данные сервера, или тупо их игнорировать. Такая обертка
может быть своей для каждого сервера и ее написать ну очень просто. Причем игроки смогут ее дорабатывать под себя.
  • avatar artist
  • 0
У меня еще очень давно был план по развитию мадов. Сначала решил написать клиент, вот написал. Далее по плану было написание мад сервера на новом протоколе, т.к. решение для протокола уже давно на поверхности, готовое и мага-супер-пупер гибкое, которое планировал внедрить в мой клиент. Жизнь внесла коррективы и план не удался в планируемые временные рамки.

Мады ограничены в первую очередь своим протколом, все эти MSDP, MCCP и прочая история в этом направлении тянет мады вниз и не дает развиваться ни клиентам, ни самим серверам. Новый протокол позволит развязать клиента от сервера. Т.е. сервер может внедрять новые фишки, не оглядывась на клиенты. А клиенты смогут внедрять себе эти нововведения сервера по мере возможности. Т.е. клиент, благодаря протоколу, легко игнорирует те фишки, которые он не поддерживает.

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

Я бы сейчас смотрел в эту сторону — внедрение нового протокола в старые мады, новые движки и вообще бы подумал об обсуждении этого с западными странами.

Если кратко, то:
В качестве протокола предлагается всем известныи — Lua.
Т.е. игровые данные идут в клиент в формате программы на Lua. А точнее в виде вызовов функций Lua с параметрами.
Т.к. Lua позволяет сделать песочницу, то можно знащитить клиент от неверных данных, ошибок в протоколе и
не поддерживаемых функций.
Lua — это готовый парсер команд, со сложной структурой параметров, уже с обработкой ошибок, с защищенным окружением,
позволяющий легко написать всю обвязку в клиенте как вздумается и под конкретный мад на самом Lua, ультрапростом языке.
Интерпретатор Lua весит копейки, работает очень быстро.
  • avatar artist
  • 1
Elexir — язык в стиле Ruby который компилируется в Erlang. Спецефичная штука, но она позволяет делать распределенные серверные системы. Для мада это скорее избыточно. Но опыт может быть весомый. Самый первый и самый важный вопрос — как там со скриптованием, можно ли паралелить скрипты. Если нет, то не интересно… тот же циркуль получится.
  • avatar artist
  • 0
Я даже не знаю, можно ли чтото будет сделать для JMC. Он написан ну на очень старом стандарте с++, которого уже давно нет и не поддерживается ни одим современным компилятором с++. PVS обругается очень сильно, я ее знаю, пробовал )
  • avatar artist
  • 0
ATCP дублирует MSDP. Раз в былинах появился второй протокол, то наврядли будут делать первый. А остальные мады на этом фоне скорее всего тоже будут внедрять MSDP.
  • avatar artist
  • 0
Я честно говоря не понимаю как MCCP может мешать. Все протоколы, помимо телнета, сжимаются MCCP. А сжатие важно не клиенту, а серверу. Это к тому чтобы вообще отключить сжатие. Сжатие помогает очень сильно экономить пропускную способность серверного канала. Если сервер работает на недорогом хостинге, то экономия канала может сыграть важную роль в избавлении от лагов.
  • avatar artist
  • 0
Если энтузиасты будут развивать Swift, то его можно уже списать. Следует иметь ввиду, что подразумеваются энтузиасты с маком. Такие вещи, как компиляторы, да и сам язык программирования (его правила) энтузиастами не пишутся. Тут слишком серьезные знания нужны. А такие люди работают за очень хорошие деньги. Если в движке будет онлайновый редактор — это хорошо, только тут уже нужен программист на JS. Но и сложность сервера возрастает в разы. Я за новый сервер, только считаю, что Swift с современной политикой Apple, на энтузиастах, не выдержит конкуренции с другими языками.
  • avatar artist
  • 0
Это хорошо, что пишут новый сервер. Я только не одобряю выбор Swift. Это язык Apple, они его развивают. Толковой поддержки swift на windows пока нет, т.е. чтобы принять участие в разработке нужен мак. И еще под вопросом работа свифт программ под windows. Учитывая вообще политику Apple — они не любят как-то объединятся с другими конкурирующими платформами, будут ли они вообще развивать swift-windows. У билдеров то наверняка будет винда. Я вот работаю последние 2 года на маке. Скажу — софт от Apple для разработчиков — большое Г. Они им не занимаются всерьез, как это делает майкрософт. Майкрософт уже на мак пришла, раз Apple ничего не хочет делать. В общем у меня сильное скептическое предчувствие по поводу будущего мад сервера на свифте. Надеюсь, я ошибаюсь.
  • avatar artist
  • 1
Идея с автопереводом интересная, но сразу скажу, что скорости перевода для онлайн-переводчиков не хватит для той скорости поступления текстов, как в мадах. На запросах к серверу будет тратится просто уйма времени. Плюс еще сам перевод.
Нужно пробовать оффлайн переводчики.
  • avatar artist
  • 0
Эти 6 гб книг у меня лежат в архиве, но выкладывать не буду. Их можно найти в интернете все, просто, если кому надо, могу помочь с поиском.
  • avatar artist
  • 0
Неплохая подборка книг. Если вдруг кому интересно у меня тоже гдето на 6 гигабайт книг по программированию есть.
  • avatar artist
  • 0
Идея очень интересная. Вопрос, только каким будет мад в этом обличии.
Кто нибудь имеет опыт с протоколом Телеграмма?
  • avatar artist
  • 0
Еще клиент, смотрю мода пошла на клиенты :).
Чем больше тем лучше конечно же. Нужно открыть такую
же моду на сервера.
  • avatar artist
  • 0
Можешь поставить черепаху на линух под вайном. Будет работать, если чо.
  • avatar artist
  • 0
Вау! Буду смотреть. Я сам балуюсь Go, в перспективе, например, написать мад движок на этом языке. Очень клевый язык, очень понравился бы чистым Сишникам (без плюсов), т.к. это посути улучшенный Си. Выкинули оттуда кучу фишек С++, которые создавали головную боль. Очень большая стандартная библиотека. Куча расширений от других программистов.
  • avatar artist
  • 0
В черепахе также есть автоподстановки и уже давно. Также на клавише Tab.
Можно забить свой список команд, также можно подключить историю команд (в общих настройках).
По кнопке Tab перебираются все варианты команд, которые начинаются с введенных букв.
  • avatar artist
  • 0
Другой вопрос, у нас кто-то будет играть в подбный мад?