LINUX.ORG.RU

Парсерная игра «МЕТЕЛЬ» на свободном движке INSTEAD

 , , ,

Парсерная игра «МЕТЕЛЬ» на свободном движке INSTEAD

10

4

Автором движка INSTEAD Петром Косых и художником Pakowacz выпущена игра «МЕТЕЛЬ».

Игра написана с использованием специально разработанного парсерного модуля «МЕТАПАРСЕР 3», который позволяет создавать игры с текстовым вводом.

Старенький синий седан едет по заснеженной трассе. Внутри машины — двое.

Ведёт машину усталая женщина лет 35. На заднем сидении справа сидит её дочь — девочка-подросток.

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

-- Вот увидишь, тебе там понравится.

Что тебя ждёт за снежной пеленой?

Исходный код игры (состоящий из набора Lua-скриптов и медиафайлов) распостраняется по лицензии CC-SA.

Для игры понадобится интерпретатор INSTEAD, который работает на большинстве известных платформ: Linux, Windows, FreeBSD, OS X, Android, Symbian и др.

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

>>> Страница игры на itch.io

>>> Скачать игру

>>> Инструкция по запуску игр

>>> Статья на dtf.ru

★★

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

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

Возвращение квантового кота попробуй.

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

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

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

Серьезно, что с вами не так?

Хороший вопрос.
Отвечая на него, мы углубимся в понимание «нормальности» человека.
Если в двух словах, то умение обходиться малым очень полезно для здоровья. Один из признаков нормальности человека заключается в развитии этого свойства. И одно из жизненных явлений, где можно практиковать такую сдержанность — отдых.

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

текст и картинки!!!

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

Короче, называться нормальным можно лишь в том случае, когда нормальна точка зрения, с которой мы оцениваем свою нормальность.
Нам всем надо периодически проверять, не сбилась ли эта точка, чтобы не сбиться самим.
И, как думаешь, «шедевру» обязательна «мировая индустрия»? Индустрия — это очень много людей, принимающих точку зрения своих нанимателей, которая чаще стоит на выгоде и всём, что помогает её умножить.
Не естественнее ли шедевру выйти из-под пера свободного энтузиаста? Он не обязательно действует из выгоды, но в стремлении послужить на благо.


INSTEAD ценен своей самобытностью.
Он — фундамент целого мира, который ты можешь создать собственной творческой мыслью. Если эта мысль будет превышать размер фундамента, у тебя есть возможность обратиться с вопросом к разработчику и коллективу: в этом заключается ещё одна ценность INSTEAD — он наш, русский. И можно по-русски задать любой вопрос, поделиться любым мнением, как многие и делают.

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

Загрузил, читаю.

Пока не завершил, мнения не скажу, но, вообще, хрен его знает, что ещё может быть надо, кроме этого.
Для сравнения приходит на память Star Trek 60-х, где люди с помощью картона, отличных актёров и добрых идей умудрились сколотить шедевр, остающийся в памяти многих поколений. И современные наспецэффекченные фильмы, которые забываешь, не успев выйти из кинотеатра.

Иллюстрации хороши, художнику поклон

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

Ещё есть истории не с текстовым вводом. Парсерные игры - это я экспериментирую последний год. К ним нужна определённая привычка, конечно. :)

gloomy ★★
() автор топика

Запилите рабочий HTTPS на instead-games.ru, стыдоба же. MitM’аем и вот уже Lua код злоумышленника выполняется на компьютере игрока.

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

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

Ты так говоришь, как будто это не так.

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

Запилите рабочий HTTPS на instead-games.ru, стыдоба же. MitM’аем и вот уже Lua код злоумышленника выполняется на компьютере игрока.

Давай ты это сейчас продемонстрируешь и выполнишь что-нибудь опасное для системы или данных.

skiminok1986 ★★★★★
()

Запустил instead 1.9.1, в меню - Выбор игры, [...], выбираю скачанный instead-snowstorm-1.6.zip - не происходит ни-че-го.

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

Запускаю из командной строки - тоже не работает.

$ instead instead-snowstorm-1.6.zip 
Trying to install: instead-snowstorm-1.6.zip
instead-snowstorm-1.6.zip opened
creating directory: snowstorm/
creating directory: snowstorm/mus/
 extracting: snowstorm/mus/violin.ogg
...
 extracting: snowstorm/img/81.jpg
creating directory: snowstorm/themes/
creating directory: snowstorm/themes/default/
 extracting: snowstorm/themes/default/LiberationSerif-Bold.ttf
...
 extracting: snowstorm/themes/default/theme.ini
creating directory: snowstorm/themes/standard/
 extracting: snowstorm/themes/standard/theme.ini
creating directory: snowstorm/themes/mobile/
 extracting: snowstorm/themes/mobile/theme.ini
creating directory: snowstorm/themes/mobile2/
 extracting: snowstorm/themes/mobile2/theme.ini
...
 extracting: snowstorm/color2rgb.lua
creating directory: snowstorm/morph/
 extracting: snowstorm/morph/rgramtab.tab
...
 extracting: snowstorm/theme.ini
Video mode: 800x600@32bpp
Trying to install: /home/user/Downloads/instead-snowstorm-1.6.zip
/home/user/Downloads/instead-snowstorm-1.6.zip opened
creating directory: snowstorm/
creating directory: snowstorm/mus/
 extracting: snowstorm/mus/violin.ogg
 extracting: snowstorm/mus/largo.ogg
 extracting: snowstorm/mus/01.ogg
 extracting: snowstorm/titles.lua
 extracting: snowstorm/dict.mrd
 extracting: snowstorm/autotheme.lua
 extracting: snowstorm/mp.lua
 extracting: snowstorm/main3.lua
 extracting: snowstorm/pic.lua
creating directory: snowstorm/img/
 extracting: snowstorm/img/24.jpg
...
 extracting: snowstorm/img/81.jpg
creating directory: snowstorm/themes/
creating directory: snowstorm/themes/default/
 extracting: snowstorm/themes/default/LiberationSerif-Bold.ttf
...
 extracting: snowstorm/themes/default/theme.ini
creating directory: snowstorm/themes/standard/
 extracting: snowstorm/themes/standard/theme.ini
creating directory: snowstorm/themes/mobile/
 extracting: snowstorm/themes/mobile/theme.ini
creating directory: snowstorm/themes/mobile2/
 extracting: snowstorm/themes/mobile2/theme.ini
 extracting: snowstorm/resources.txt
 extracting: snowstorm/decor.lua
 extracting: snowstorm/color2rgb.lua
creating directory: snowstorm/morph/
 extracting: snowstorm/morph/rgramtab.tab
...
 extracting: snowstorm/theme.ini
Cleaning: '/tmp/instead-games/snowstorm/'...
anonymous
()
Ответ на: комментарий от iluha16

8086 не мог столько ОЗУ адресовать.

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

В новости есть ссылка: как запускать игру. Там все написано.

А на обновление пакетов в дистрибутивах я влиять не могу.

1.9.1 я уже и не помню сколько лет ей...

P.s. а хотя да, про «последнюю версию» можно и написать было. Забыл.

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

Я запускал INSTEAD на 486DX 50MHz 12MB RAM под 95 виндой. Единственное что помню была проблема скомпилить SDL, а так работало все ок, даже не тормозило.

pftBest ★★★★
()
> идти на ощупь
Такого предмета тут нет (ощупь). Возможно, это потому что в темноте ничего не видно?
quantum-troll ★★★★★
()
Последнее исправление: quantum-troll (всего исправлений: 1)
Ответ на: комментарий от gloomy

1.9.1 я уже и не помню сколько лет ей...

Да, с тех пор сменилось две мажорных версии. Что там было до 2.0, я уже почти не застал (в смысле заинтересовался Instead когда она уже вышла), а о Instead 3.0 здесь новость была. Там STEAD 3 — т.е. новый lua-фреймворк, с более гибкой. динамической системой работы с объектами игры. Для всех новых игр рекомендован исключительно он, старый фреймворк, STEAD 2 сохранён только в целях совместимости (и документация по нему с «официальных» сайтов удалена). В частности больше не поддерживаются (и вообще убраны из сети) emacs mode и отдельный редактор со сцайнтилой внутри, с простой навигациейпо этим самым игровым объектам. Наверное полезная штука была для уже упомянутых тут гуманитариев, но в новом движке всё не так прибито гвоздями единственно верного способа™ и как-то никто не придумал для него чего-то, что было бы лучше простой навигации по luа-коду.

Наверное, об этом надо было где-то сказать (в новости?).

Ага и в конце каждой новости писать «напомню, что несколько лет назад вышел Instead 3 (краткое описание), В 2018 вышла библиотека Метапарсер 3 для обеспечения текстового вида для игр, написанных на STEAD 3, и, естественно, новая парсерная игра всего этого требует». Да если это самое /краткое описание/ немножко развернуть, это уже статья для Хабра будет, а не новость для ЛОРа. Ну или написанная Петром статья для ДТФ, ссылка на которую в новости тоже есть.

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

https://mel.fm/kak_pravilno/7658294-feel

Независимо от того, в каком значении вы употребляете это слово — в значении «наугад» или в прямом смысле (ощупывая что-то), — наречие пишется одинаково. Всегда раздельно. И никаких исключений.

quantum-troll ★★★★★
()
Ответ на: комментарий от EXL

Я имел ввиду то, что люди с творческим мышлением, которые могут писать интересные рассказы, редко залезают во все эти:

Isaac Asimov, earned a Doctor of Philosophy degree in biochemistry in 1948. In 1955 he was promoted to associate professor

Liu Cixin, graduated from the North China University of Water Conservancy and Electric Power in 1988. He then worked as a computer engineer at a power plant in the Shanxi province

Neil Stephenson, studied at Boston University, first specializing in physics, then switching to geography after he found that it would allow him to spend more time on the university mainframe. He graduated in 1981 with a B.A. in geography and a minor in physics.

Alice Bradley Sheldon, wrote her doctoral dissertation on the responses of animals to novel stimuli in differing environments.

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

Сравнил ситуацию с Instead и Twine. Главная разница в том, что Twine игры это HTML с немного JavaScript, движок для запуска не нужен, и при переходе от Twine 1 к Twine 2 разработчики совместимость по большому счёту сломали. При этом в новой версии — три фреймворка, один (SugarCube) близок к старому TiddlyWiki (и позволяет конвертировать игры с Twine 1), второй (Snowman) — (markdown,javascript, вставки html не возбраняются) для «веб-профи», а по умолчанию там третий фреймворк (язык разметки) Harlow.

Это всё говорит о том, что Twine проще, js таки знают больше народу, чем lua (а английский больше чем русский), и они себе могут позволить три ветки (с тремя майнтейнерами) с общим интерфейом геймдизайнера (с квадратиками-комнатами и стрелочками переходами). Этот-то интерфейс и есть главная фишка Twine, многие гуманитарии находят весьма полезной.

Можно написать, в принцепе, поверх Twine движок игр в стиле instead-classic (нестандартный обработчик кликов на ссылки на предметы, окно вывода предметов, соответствующие расширения одного из языков викиразметки Twine). Позволит работать с той самой доской геймдизайнера и публиковать игры в вебе без трансляции интерпретатора lua и sdl на javascript (т.е. игры будут легче). Но Instead за рамки такого «классического инстида» с самого началша нашел выходить, и эта одна из причин, по которой внешние редакторы игр в стиле twine как-то не прижились (хотя попытки, помнится, были).

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

точно помню что билл гейтс говорил что столько памяти хватит для всего. ещё он предсказал появление андроида в своей книге которая называлась вроде «the information highway» когда написал что наступят времена когда у каждого в кармане будет такой девайз подключённый к интернету. много чего там предсказал чего во время написания книги казалось не реалистичным, в том числе соц сети и что на них заработают больше чем он на своих говносистемах. умеет человек чуствовать развитие технологий и потребности юзеров по тому и обогатился.

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

Ну а что остаётся то?

Vim + gcc + make

Хватит, чтоб изменить мир

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

EMS на 32MB? Чёт я не уверен, что такое вообще было. А если и было, по тем временам на те же деньги можно было обзавестись парой подержанных истребителей. :)

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

Вообще-то говорят, что Билли говорил про 640KB (если на самом деле говорил — единого мнения до сих пор нет).

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

Полная версия Quick Basic вполне себе .exe на выходе давала. Уж не помню точно, насколько честный это был компилятор (так-то .exe на винде можно получить из любого перлопитона, и средства для этого существуют) но это позволяло распространять игры без исходников. Чтение которых для квеста, скажем так — альтернативный способ прохождения.

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

ещё он предсказал появление андроида в своей книге которая называлась вроде «the information highway» много чего там предсказал

Гейтс конечно далеко не дурак, но хватало успешных «технопровидцев» и без него, не будем говорить про «заповедники» вроде лаборатории Алана Кея в Пало-Альто (часто существовавшие на деньги DARPA или ещё какие гранты от правительства США) но даже за пределами этих фронтиров прогресса Билл Гейтс всегда оказывался в лучшем случае вторым. Другое дело, что пока он был у руля, у него часто получалось обогнать лидера на поворотах.

be_nt_all ★★
()
Последнее исправление: be_nt_all (всего исправлений: 2)

Запустил, увидел кастомную иконку игры вместо иконки движка. Давно Instead так научился? Я так понимаю, теперь дизайнер может распространять instead-игру в standalone режиме так, чтобы игрок о движке особо и не догадывался (оно и так-то исходники открыты и лицензия MIT, но теперь лезть в C-код или ресурсы совсем не обязательно стало).

Для потенциальных сторонних геймдизов это может быть привлекательно, но они, вообще, в природе встречаются? Вне пределов игр под CC-BY (с теми или иными буковками) или «на правах фанфика» (чем тут один товарищ давеча возмущался) на instead-games.ru?

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

Единственное что помню была проблема скомпилить SDL, а так работало все ок, даже не тормозило.

А бинарные сборки SDL с официального сайта не работали?

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

Кастомные иконки и автоподбор темы под разрешение экрана в одной из последних версий появились. Коммерческих игр на инстеде всего пара штук и это визуальные новеллы - https://store.steampowered.com/developer/nlbproject

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

Все перечисленные игры только выиграли бы, будь они тексто-графическими квестами.

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

можно даже на html нафигачить такое.

или в pdf со ссылками

90-е были игры в DOS такого же вида. но без lua. я даже не помню, на чём они были написаны. на бейсике каком-нибудь, наверное.

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

в основном, это были специализированные виртуальные машины.

tl;dr: fabularium например, плейер

например, Inform / Infocom или Level 9 вот на спектруме много адвентюр делало. плейер таких машин например тут fizmo, ещё некоторые были универсальные — умели играть не только Z-code от Infocom, но и другие, те же Level 9 gelek ещё ещё и прочие.

вот terps — кажется, универсальный плейер нескольких форматов VM текстовых адвентюр.

эти виртуальные машины состояли из: парсера, rule book (типа библиотеки функций), ассетов и картины мира.

парсер распознавал словоформы и морфологию, выделял команды. далее, rooms, scenes, objects — как правило была встроенная БД в VM, хранимые объекты. им можно было задавать произвольные атрибуты, то есть если там и было ООП, то скорее прототипное с клонированием чем какое. rule book на основе движка правил вычислял из атрибутов что можно сделать. например, темно, нифига не видно. значит, команда look не увидит ничего. или свеча догорает, и свет вырубается.

или, контейнер, можно ли брать предмет, можно ли на него что-то поставить, и т.п.

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

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

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

язык программирования этих виртуальных машин был разный. например, в Level 9 было что-то своё, в Infocom был такой ООП. примерно это уровень Inform 6 (свободной реализации отреверсенной VM от Infocom).

изначально Zork (ещё, тут есть, postmortem) от Infocom был написан на лиспе MDL (раз,два). вот его пытаются воспроизвести: mdl-interpreters-confusion

ITS изначальный, в котором был Zork, MUDDLE, LISP, EMACS и TECO :)))

потом, в журнале Байт была статья про лисп-подобный AdvSys.

Inform 7 был почти полностью переписан. из фич языка: читается как литературный английский язык. например, вот тот же Zork, переписанный на Inform 7

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

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

боты могут общаться, вызывать внешние программы, давать выхлоп текстом в канал в программу (например, вызывать gnu chess или irc чатик).

очень гибкие возможности.

примеры кода на Inform7 : раз два три ну и классический helloworld cloack of darkness

потом среди виртуальных машин появилось расширяемое API, Glk и плейеры например или консольный cheapglk или GlkTerm, nanoglk или JSON обёртка к нему remglk или вот например Thunderquake, GlkOte_WebView — в этом направлении работают клиенты под планшет

в какой-то момент это могло пересечься с MUD и MUSH, например guncho. еще есть такое

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

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

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

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

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

Может и работали, я уже не помню в чем проблема была, это пару лет назад было.

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

умеет человек чуствовать развитие технологий и потребности юзеров по тому и обогатился.

он же обнищал, не? недавно тут гдето фотку публиковали, где он в сиеттле в очередь за бесплатным гамбургером стоит...? :D

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

Актуальная версия инстеда уже 3.2.2. Там новый добавлен новый API, на котором написана игра «Метель».

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

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

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

Так на классические книги-игры Twine и ориентирован. С простенькой ролевой системой и небольшим инвентарём, но, в общем-то, не более того.

Допиливать его для чего-то другого, при желании, то не так сложно, я вот пару часов назад вполне прикинул, как можно сделать на/из Twine что-то вроде базового STEAD. И, возможно, это даже бы кому-нибудь пригодилось-бы, но вот выше я задал вопрос про коммерческие INSTEAD-игры, и ими оказались визуальные новеллы. Которые для Instead далеко не мейнстрим. Так что разве что Just For Fun, JS и CSS вспомнить…

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

tl;dr: текстовые адвентюры

в общем, немного сумбурно получилось изложить выше. попытаюсь ещё раз.

в текстовых адвентюрах было несколько моментов: движок, среда авторинга, форматы распространения самой игры. изначально, если взять те же ADVENTURE и прочее на ФОРТРАНЕ — движок представлял собой конечный автомат выборов пользователя. выборы позволял ввести какой-то парсер команд, команды потенциально были расширяемы, но для этого надо было прям всю программу закодить заново.

потом появились виртуальные машины для текстовых адвентюр: например Z-code от Infocom (отверерсена в Inform 6, 7) или Level 9 VM, или прочие (TADS, Glulxe blorb и т.п.)

сначала компилятор в эти виртуальные машины (среда авторинга) был у каждого разный. например, асмо-подобный байткод, в который транслировали из более высокоуровнего лиспа MUDDLE (например, cloak.zil или zork.zil) — для Z-code.

Level 9, TADS, Hugo, Adrift и прочие — представляли свой отдельный формат VM, с немного другими возможностями.

потом, когда в начале 90-х фирма Infocom разорилась (это увлекательно чтиво само по себе, в духе «дилеммы инноватора»: история на /. и infocom-presentation.pdf, infocom-paper.pdf по ссылкам отсюда) и её скупило Activision

в usenet-e отреверсили формат Z-code и создали Public domain средства трансляции в ZIL байткод, в том числе и реализацию MUDDLE.

потом из развития этого получился Inform 6 — объектно-ориентированный язык, и Inform 7 — внутри Inform 6 и ООП, снаружи программирование на естественном английском языке.

под него появилось много расширений, среда разработки с отладчиком и тестировщиком, плейеры

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