# Новости с INSTEAD фронта
hugeping(ping,1) — All
2021-05-14 17:41:29


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

Изменения к 14 мая 2021.

# Метапарсер

Метапарсер изменился очень заметно. Толчком послужило мероприятие по написанию коллективного парсера "17 комнат". Сложно уже перечислить всё, что с происходило с кодом МЕТАПАРСЕРа. Назову только самые заметные вещи:

* Значительно улучшены подсказки. Смешных и абсурдных ситуаций должно стать меньше!
* Решение проблемы одушевлённости слов, которые имеют несколько смыслов;
* Улучшено качество распознавания при использовании сокращений;
* Исправлено множество внутренних недоработок (сообщения, ввод, и так далее);
* Улучшена документация;
* Служебные глаголы: счёт, парсер глаголы, парсер версия;
* Безопасный формат записи if "объект" ^ w (по сравнению с if w ^ "объект", w может быть nil);
* Новая тема по умолчанию;
* Экспериментальный модуль приказов.

Сейчас готовлю очередную версию, которая будет называться 2.0. После чего, перенесу на новый движок все свои парсерные игры. Парсер объективно стал удобней и для игрока и для автора.

# instead-cli

Долгое время я пользовался для разработки своих игр tiny instead. Эти минималистичный интерпретатор в 100 строк, который можно собрать в дереве исходного кода INSTEAD (src/tiny) и запускать его из терминала.

Для работы в Plan9 я сделал другой вариант tiny, который назвал 9instead. Очень удобная штука! Игра Луна-9 почти полностью написана с его помощью. Можно запустить редактор (acme или emacs), набирать текст и тут же прогонять заготовленный автоскрипт а другом фрейме редактора. Ничего лишнего!

Долгое время меня просили собрать такой интерпретатор, но в виде "продукта". Для Windows в том числе. И в этот раз у меня, наконец, нашлось время это сделать! Теперь на instead-hub появился проект https://github.com/instead-hub/instead-cli Он постоянно развивается. Сейчас готовится новая версия. Все наработки из Plan9 интерпретатора перешли в этот новый проект и я удалил 9instead. Присутствуют статические сборки для Windows и Linux. Особенно instead-cli удобно использовать при разработке парсерных игр, в том числе для перегенерации словаря и прогона тестов. Да и играть в нём тоже неплохо. К тому же, этот интерпретатор можно использовать как референсную реализацию при создании своих версий INSTEAD.

Ну и, конечно, instead-cli собирается в 9front. Так что теперь это официальная версия INSTEAD для Plan9 вместо 9instead.

# Модуль protect

Иногда хочется сделать так, чтобы исходники вашей игры не были доступны для изучения. Для этого есть "штатный" метод в виде doencfile в INSTEAD, но он довольно неудобен в использовании (требуется модификация кода) и легко вскрывается. Поэтому в stead3-modules появился protect! Как он работает?

Для его запуска вам нужен lua или instead с опцией -lua для запуска скрипта. Ну и instead-cli теперь умеет запускать скрипты Lua.

```
instead-cli -xprotect.lua main3.lua main3.lua
```

Осторожно! Файл main3.lua будет закодирован! Вы можете повторить эту процедуру для всех lua файлов вашего проекта.

Конечно, "защиту" можно взломать. Но сделать это сложнее, чем стандартный encoder в INSTEAD. Если вам удалось сделать расшифровщик, расскажите, насколько это было легко. Это правда любопытно. Сам я не сторонник закрытия исходников, но иногда художественный замысел требует этого. Например, если речь идёт о хардкорной головоломке.

# Перевод игры "Архив"

Я перевёл игру Архив на английский. Но нужна вычитка. Если у вас есть скиллы и возможность помочь, прошу на https://github.com/gl00my/instead-game-archive Игра полностью проходима на русском и на английском.

Вообще, с переводом получилось обидно. Единственная причина, по кторой я взялся за работу, это предложение одного активиста в чате INSTEAD. Я перевёл, а активист на данный моент работу остановил. Что теперь делать с этим "повисшим" переводом я не знаю. Но энтузиазм у меня пропал и захлебнулся. Так что всё отдаю на откуп энтузиастов. Если вы поможете - английской версии быть. Нет -- значит нет. Выпущу как есть.

# INSTEAD, вперёд!

В общем, я доволен прогрессом. INSTEAD превращается в инструмент мечты. Много интересных задач. И радость творчества присутствует! Готовлю обновление: метапарсер + metaparser-js + instead-cli + перевыпуск всех своих парсерных игр. Потом в очередной раз подумаю, что делать дальше. Надеюсь, работа над INSTEAD доставляет радость не только мне. :) А пластмассовый мир пусть идёт лесом.

# Re: Новости с INSTEAD фронта
hugeping(ping,1) — hugeping
2021-05-15 11:31:02


Сегодня обновлены:

- МЕТАПАРСЕР3 до версии 2.0;
- metaparser-js до версии 2.0;
- instead-cli до версии 1.2;
- Обновлён metaparser-js на сайте https://parser.hugeping.ru

Ссылки на проекты:

МЕТАПАРСЕР https://instead.hugeping.ru/page/metaparser
instead-cli https://github.com/instead-hub/instead-cli
P.S. Edited: 2021-05-15 11:32:07