LINUX.ORG.RU
ФорумGames

МЕТАПАРСЕР: каталог минималистичных парсерных игр

 , , ,


5

5

Привет!

Сегодня я запустил небольшой онлайн-каталог парсерных игр https://metaparser.syscall.ru/

Для тех кто не знает. Это такие игры, в которых текст надо вводить с клавиатуры.

Игры работают на облегчённой версии интерпретатора INSTEAD (модуль МЕТАПАРСЕР-3), выглядят просто и запускаются быстро (на компьютере и вашем смартфоне). Никакой графики (хотя, движок их поддерживает), музыки, авто-подсказок, дополнения по клавише «таб» и прочей мишуры.

Зачем?

Сложно сказать. После долгого марафона развития INSTEAD3 мне захотелось вернуться к кристальной простоте настоящей интерактивной литературы. А настоящая интерактивная литература это, все-таки, игры с текстовым вводом. И ничего кроме текста и фантазии. Впрочем, как и в настоящей литературе.

Отдаю себе отчёт, что вряд-ли библиотека привлечёт к себе много внимания, но… Кто знает, может быть я не одинок.

Версия JS-метапарсера, который используется в библиотеке, будет выпущен одновременно с метапарсером 1.4.

Парсер, живи! :)

А пока, добро пожаловать! https://metaparser.syscall.ru/

P.S. Также сделал приложение для vk: https://vk.com/app6934806_85944929

И пользуясь случаем, приглашаю всех заинтересованных в телеграм чат проекта: https://t.me/insteadtalk

★★

Ответ на: комментарий от crutch_master

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

Ну это можно сделать на базе того же инстеда и метапарсера весьма просто.

skiminok1986 ★★★★★
()
Ответ на: комментарий от gloomy

Вот это вот наводит печаль, да. Это как симулировать все аспекты работы транзистора - сложно, долго, нудно, а на выходе одна неинтересная картинка, которую вставишь в доклад и никто не посмотрит и даже не задумается о том, сколько труда неё вложено.

ChekPuk ★★★
()
Ответ на: комментарий от anonymous

Кстати по баттлтеку я как-то хотел наваять небольшую игру. Проблема в том, что боевка в текстовом виде выглядит скучно.

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

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

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

Вообще, лучше всякого json было бы что-то типа Inform 7 для русского языка. Но пока такого никто не осилил.

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

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

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

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

Где можно следить за процессом? На ЛОРе я не сижу постоянно, а вот за каким-нить репом на гитхабе следил бы с удовольствием =)

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Вообще, лучше всякого json

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

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

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

Просто inform 7 это описалово на языке близком к естественному. Реально близком.

skiminok1986 ★★★★★
()
Ответ на: комментарий от crutch_master

Но он же на английском.

Ну так ты сделай на русском. То то и оно. Какой прок от квазижсона, если сперва придётся выучить что и как у тебя там делается. Давай лучше парсер естественного языка. Так к тебе сразу повалят гении, которые не осилили ничего другого, потому что посредственности вроде меня осилили.

Это ж сразу успех. Гениальные игры, гениальный движок. Библиотеку потом к нему набьёшь с данными о реальном и вымышленных мирах. И всё. Все бабы твои =)

skiminok1986 ★★★★★
()
Ответ на: комментарий от crutch_master

Онторэээсно. Посмотрим. Вот только сходу - писать русским языком и постоянно переключаться на всякие квадратные скобки не удобно. Замантуль какойнить уберспособ ввода их с русской раскладки, например Ctrl+х - Открывающая квадратная скобка, Ctrl+ъ - закрывающая. Ну и т.д.

ChekPuk ★★★
()
Ответ на: комментарий от skiminok1986

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

Кодить не надо. И скобочки не надо писать. Код понятный, высокоуровневый, декларативный. Хотя интернациональность убивается в мясо-кишки. Хотя можно легко сделать тоже самое на моём корявом инглише.

Давай лучше парсер естественного языка.

Это уже слишком.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Вот только сходу - писать русским языком и постоянно переключаться на всякие квадратные скобки не удобно

Нет, скобок не будет, будет замена, например, известных ключей типа "\s*действующие лица\s*" на " \"actors\" : { " или спискота с тире типа yaml.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Кодить не надо. И скобочки не надо писать. Код понятный, высокоуровневый, декларативный. Хотя интернациональность убивается в мясо-кишки. Хотя можно легко сделать тоже самое на моём корявом инглише.

Кодить не надо, но код писать надо. Не надо так =)

Это уже слишком.

Это тот идеал, к которому надо стремиться. Иначе ты просто вместо общепринятых проверенных временем языков рожаешь свой язык, не совместимый ни с чем. И ему придётся учиться.

У нас уже есть URQL. Очень простой язык для текстовых игр. Но вот писать на нём в современном его виде это боль и унижения. Потому что ни дизайна ни нормального проектирования.

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Точно! Всем уркуль до просветления!

anonymous
()
Ответ на: комментарий от skiminok1986

Кодить не надо, но код писать надо. Не надо так =)

Всё нормально. Там где не надо декларативщина на полурусском, а там надо - императивщина на яп.

Это тот идеал, к которому надо стремиться.

Слишком много кейсов. Просто будет не много кейсов и таки да он будет недорусским с всякими условностями и ограничениями. Но если подумать, то для описания объектов, свойств, возможностей, действий, локаций можно что-нибудь простое и вменяемое запилить. Хотя, возможно, я не вижу леса за деревьями.

crutch_master ★★★★★
()
Ответ на: комментарий от skiminok1986

И ему придётся учиться.

Ну как учиться? Там будет кучка ключевых фраз, оборотов и порядок описания. А на выходе будет json, который надо будет понимать, чтобы не сесть в лужу. Хотя можно будет какой-нибудь визуальный просмоторщик запилить, отладчик и это мне представляется уже куда более сложным.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Всё нормально. Там где не надо декларативщина на полурусском, а там надо - императивщина на яп.

В общем, изобретаешь инстед =)

Слишком много кейсов. Просто будет не много кейсов и таки да он будет недорусским с всякими условностями и ограничениями. Но если подумать, то для описания объектов, свойств, возможностей, действий, локаций можно что-нибудь простое и вменяемое запилить. Хотя, возможно, я не вижу леса за деревьями.

Никто не требует парсить произвольный русский текст. Но можно парсить текст без жаргона. Это реально будет то, о чём говорили выше. А вот изобретать свой ЯВУ, который рано или поздно придётся модернизировать ради расширения функционала, это тупик.

skiminok1986 ★★★★★
()
Ответ на: комментарий от crutch_master

Ну как учиться? Там будет кучка ключевых фраз, оборотов и порядок описания. А на выходе будет json, который надо будет понимать, чтобы не сесть в лужу. Хотя можно будет какой-нибудь визуальный просмоторщик запилить, отладчик и это мне представляется уже куда более сложным.

В простейшем случае (ты ведь как раз про него пишешь) это всё есть в инстеде. Запомнить только несколько ключевых слов. А сложные вещи можно вынести в библиотеку =)

skiminok1986 ★★★★★
()
Ответ на: комментарий от anonymous

А оно и на русском есть? Не замечал, спасибо. Я, кстати, так и не вспомнил про этот учебник пока ломал голову.

ChekPuk ★★★
()
Ответ на: комментарий от anonymous

Чего только ни навыдумывают, лишь бы Lua за 15 минут не учить.

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

skiminok1986 ★★★★★
()
Ответ на: комментарий от anonymous

Оспидя! Чего только ни навыдумывают, лишь бы Lua за 15 минут не учить.

Я могу писать на яп хоть всю логику вместе с кодом, успокойся. Но не хочу.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Я могу писать на яп хоть всю логику вместе с кодом, успокойся. Но не хочу.

Поэтому ты пишешь свой ЯП, который транслируется в JSON, который скармливается самописному движку. Г - Логика =)

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Да. Но это ЯП более высокого уровня, так что кода в итоге придётся писать меньше и архитектурно, я надеюсь, это не будет легко превращаться в клоаку.

crutch_master ★★★★★
()
Ответ на: комментарий от gloomy

))) а куда её лепить? Надо на майку распечатать.

ChekPuk ★★★
()
Ответ на: комментарий от crutch_master

Да. Но это ЯП более высокого уровня, так что кода в итоге придётся писать меньше и архитектурно, я надеюсь, это не будет легко превращаться в клоаку.

В любом случае желаю успеха в этом начинании. Это будет как минимум интересно. А как максимум, найдутся ценители где-нибудь на ifiction.ru =)

skiminok1986 ★★★★★
()
Ответ на: комментарий от crutch_master

Сегодня пришла в голову мысль. :) Уже в кабинете повесил. :)

gloomy ★★
() автор топика
Ответ на: комментарий от crutch_master

Возможно тебе пригодится инсайдерская инфа 146% - Инстед начался как движок для игры про квантового кота. Т.е. не сам по себе, а для вполне конкретной игры.

anonymous
()
Ответ на: комментарий от gloomy

Ещё помощь напиши, кстати. Хотяб 1 раз.

Это никак ниоткуда не следует из игровой ситуации. Я в бункере лежу один и помогать мне некому.

Einstok_Fair ★★☆
()
Ответ на: комментарий от Einstok_Fair

Не, там это стандартная помощь. В начале на главной страничке об этом написано.

gloomy ★★
() автор топика
Ответ на: комментарий от anonymous
    двор 
                                             пятиэтажки           Дедушкина
                                                 |                 комната
                                                 |                    |
                                                 |                    |
                                               Улица --- Кухня --- Коридор --- Гостиная --- Спальня
                                                 |      (туалет)  
                                                 |
                                                 |
                                             Футбольное
                                                поле
anonymous
()
Ответ на: комментарий от anonymous


                                       Квадратное 
                         Помещения      помещение
                              |             |     
                              |             | 
                              |             |
                           Поворот ---- Развилка
                                            |
                                            | 
                                            |    
                                        В подвале


anonymous
()
Ответ на: комментарий от anonymous

Кстати, существительные можно не дописывать. Типа говорить с свет Ещё можно делать так, осм стол. Открыть его. То есть точкой разделять неск действий. И взять все я сделал рекурсивным

gloomy ★★
() автор топика
Ответ на: комментарий от gloomy

про точки не знал. это фишка инстеда или стандарт и на других платформах? я играл несколько игр на тадсе и информе, не помню такого.

anonymous
()
Ответ на: комментарий от anonymous

Это фишка инстеда, у других по другому, но сейчас я не помню точно. Ещё отличия Инстед в целях простоты всегда работает с 1 объектом а в информе можно взять то то и что то. Но свои плюсы у инстеда тоже есть. Они дают возможность играть ссылками (в веб версии это нет) и подсказки

gloomy ★★
() автор топика
Ответ на: комментарий от anonymous

Ещё раз спасибо, фидбек помогает писать новые гамесы.

gloomy ★★
() автор топика
Ответ на: комментарий от gloomy

Чего-то ты Петро подпиздехиваешь. Тебе же Никитос про составные команды рассказал (https://ifhub.club/2018/12/16/ispytanie-marsom-master-klass-po-prohozhdeniyu-...). А теперь это у тебя фишка инстеда.

Если честно твой инстед как парсерная платформа убог. До информа как до луны пешком в форме буквы зю. Игры соответствующие.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.