RSS
# Использование github workflow
std.club
hugeping(ping,1) — hugeping
2022-08-28 18:19:03


Некоторое время назад у проекта INSTEAD на github отвалился travis-CI. В чём там дело я не помню сейчас, но несколько месяцев CI не работала. Вообще, мне не очень нравится идея завязываться на инфраструктуру которую предоставляют компании. Поэтому сначала я думал просто радикально отказаться от всё этой "блажи". Но как-то постепенно я начал переводить все проекты на рельсы github workflow...

Я понял, что сами по себе сценарии могут быть полезны в плане изучения. Например, теперь можно увидеть как собирается версия emscripten: https://github.com/instead-hub/instead/blob/master/.github/workflows/emscripten.yml

Можно изучить сценарий и повторить уже на реальной машине.

На данный момент автоматизирована сборка проектов: instead, instead-cli, metaparser, metaparser-js.

P.S. С instead есть нюанс, собранная версия под Windows -- нерабочая (битая таблица импорта). Похоже, причина в mingw в Ubuntu. Имейте в виду. Интересно, что в wine, при всём этом, она работает. :)

# Re: Сказки про INSTEAD: как всё начиналось
std.club
vvs(ping,12) — hugeping
2022-05-01 14:13:30


hugeping> Мне (как программисту) кажется, что логику проще описывать с помощью обычного ЯП.

Хе-хе. За эту ересь тебе с удовольствием устроили бы аутодафе любители функционального и логического программирования. Ну разве не проще логику описывать с помощью исчисления высказываний или функций? :))

Inform 7 - вполне обычный язык программирования, только не императивный, а реляционный/логический, наподобие Пролога. Единственная его особенность - это синтаксис, напоминающий естественный язык, например английский. Что особенно нравится гуманитариям.

# Re: Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — vvs
2022-05-01 09:56:02


vvs> Не знаю, заметил ли это здесь кто-нибудь ещё...
vvs> Inform 10.1.0-beta: https://github.com/ganelson/inform

Да, тоже заметил. Правда, теперь я уже вряд-ли буду заниматься ещё одним проектом. Тут и на МП то времени нет... Русификация Информ7 интересная задача. Но лично для меня, не очень актуальная. Мне (как программисту) кажется, что логику проще описывать с помощью обычного ЯП.

# Re: Сказки про INSTEAD: как всё начиналось
std.club
vvs(ping,12) — hugeping
2022-04-29 19:32:06


hugeping> Русский Inform был отложен.

Не знаю, заметил ли это здесь кто-нибудь ещё, но вчера свершилось то, что Грэм Нельсон обещал уже несколько лет подряд: Inform сменил лицензию на OSS. Кроме того там много нового, например возможность компиляции в C. И, конечно, вопрос перевода Inform7 на русский язык остаётся открытым :)

Inform 10.1.0-beta: https://github.com/ganelson/inform

# Re:instead в Google Play
std.club
hugeping(ping,1) — hugeping
2021-12-13 09:47:22


Борис Тимофеев выложил Re:instead в Google Play. Так что библиотечка парсерного сопротивления стала ещё доступнее. Не забывайте оценивать приложение, если оно вам нравится. ;)

https://play.google.com/store/apps/details?id=ru.hugeping.reinstead

#news

# Парсерное сопротивление: новые версии (МП 2.4)
std.club
hugeping(ping,1) — hugeping
2021-11-27 14:24:38


Встречайте большое обновление ПАРСЕРНОГО СОПРОТИВЛЕНИЯ!

Вышли новые версии проектов: МЕТАПАРСЕР, Re:instead и metaparser-js.

https://parser.hugeping.ru
https://instead.hugeping.ru/page/metaparser/

# МЕТАПАРСЕР 2.4

Парсерный движок для создания игр с текстовым вводом. Для использования требуется INSTEAD или Re:instead.

https://instead.hugeping.ru/page/metaparser/

Изменения:

* комната gameover теперь имеет атрибут 'gameover';
* функция getDaemons() -- получить список фоновых процессов;
* комната gameover останавливает все фоновые процессы;
* атрибут 'concealed' удаляется, когда предмет перемещается в инвентарь;
* новый метод obj.is_once() для проверки факта срабатывания obj.once();
* обновление документации;
* исправлены/улучшены некоторые сообщения.

# Re:instead 0.7

Минималистичный парсерный движок для Unix, Windows, Plan-9 и Android. В комплект включён набор игр.

* значительное улучшение кернинга при работе с freetype и libschrift;
* параметры -noautoload/-noautosave;
* новый метапарсер 2.4;
* исправления в игре "Краски октября";
* поддержка клавиши del;
* исправление при изменении размера шрифта;
* исправление смены иконки приложения в Windows;
* возможность делать синонимы команд (conf.cmd_aliases);
* Windows: перенаправлять stdout/stderr в errors.txt только если stdout не доступен;
* команды !script и !debug;
* !stop команда в autoscript.

# metaparser-js 2.4

Реализация парсера на js.

* обновление метапарсера до 2.4;
* команды !ls, !rm, !restart;
* возможность загружать и выгружать сохранения;
* возможность выгружать транскрипт (пока только в пределах одной игровой сессии);
* локализация на английский (язык выбирается по основному языку браузера).

# МЕТАПАРСЕР 2.3
std.club
hugeping(ping,1) — All
2021-10-23 09:06:59


Вышло большое обновление для всех проектов, связанных с метапарсером.

# МЕТАПАРСЕР 2.3

* исправление TakeAll (для частей объекта);
* экспериментальный режим mp.strict_mode;
* mp.inp_delim;
* исправление в mp:match;
* исправление в mp:post_action во время abort_cmd (snapshots);
* исправления в стандартной библиотеке.

# RE:INSTEAD 0.6

* перевод Urzi на английский (спасибо, canwolf!);
* новая игра "Краски октября:;
* Android: совместимость с настройкой rotate lock;
* исправление ошибок.

// Версия для F-Droid в пути!

# Сайт парсерного сопротивления https://parser.hugeping.ru

* обновлён МП;
* добавлены новые игры: Краски октября и перевод Urzi.

# instead-cli 1.6

* обновлён до новой версии МП.

# metaparser-js 2.3

* обновлён до новой версии МП.

#news

# Re:instead 0.5 с поддержкой tts
std.club
hugeping(ping,1) — All
2021-10-02 10:22:07


Выпустил Re:instead 0.5 с поддержкой голосового вывода и улучшениями в Android сборке.

* поддержка голосового вывода на: Linux, Windows и Android.
* !tts команда;
* функции доступности в Android версии;
* лучшая поддержка виртуальных клавиатур Android;
* исправления ошибок.

Этот релиз не состоялся бы без помощи Nikita Tseykovets. Спасибо!

Как обычно, скачать версии для Windows/Linux и Android можно с github: https://github.com/instead-hub/reinstead

Версия в F-Droid будет через несколько дней.

#news

# Re: Блокировка INSTEAD в Google Play
std.club
hugeping(ping,1) — hugeping
2021-09-21 15:49:49


Приложение снова доступно :) Ура!

# Re: RE:INSTEAD
std.club
hugeping(ping,1) — hugeping
2021-09-21 15:49:11


tts в re:instead

Со второй попытки, всё-таки, поддержку tts решил оставить. (Пока, только для Android). Спасибо Никите за помощь! Поддержка неидеальна, конечно, но пользоваться можно.

Будет в следующей версии (0.5).

# Re: RE:INSTEAD
std.club
hugeping(ping,1) — hugeping
2021-09-19 13:29:01


Выпустил RE:INSTEAD 0.4

Новое:

* возможность сборки с одной из трёх библиотек рендеринга шрифтов (stb_truetype/libschrift/freetype);
* статические сборки Linux/Windows теперь собираются с freetype;
* исправление ошибок;
* системные команды теперь начинаются с ! (например, !save);
* команды !saves и !rm для просмотра и удаления сейвов.

Готовы бинарные сборки для Linux/Windows (reinstead-0.4.zip) и .apk для Android.
Обновление в F-Droid должно тоже скоро подоспеть.

https://github.com/instead-hub/reinstead/releases

# RE:INSTEAD
std.club
hugeping(ping,1) — All
2021-09-12 16:11:47


Выпущен Re:instead 0.3. В новой версии:

- Настройка conf.width: максимальное число символов в строке;
- Обновлён Метапарсер;
- Исправлены ошибки;
- Улучшена Android версия.

Также, Re:instead уже можно поставить из F-Droid! Правда, пока только прошлую версию (0.2).

https://github.com/instead-hub/reinstead/releases/tag/0.3

#news

P.S. Edited: 2021-09-19 13:24:33

# Блокировка INSTEAD в Google Play
std.club
hugeping(ping,1) — All
2021-09-05 19:04:07


Сегодня выпустил re:instead. Сделал также merge реквест в f-droid. Настроение выполненной работы держалось до самого вечера, когда пришли тревожные новости...

# INSTEAD от btimofeev заблокирован в Google Play #

Что они там нашли, не знаю... Вероятно, не нравится установка Lua кода из сторонних источников. Что же, закономерный оскал капитализма.

На самом деле, неуместность INSTEAD на коммерческой площадке чувствовалась и раньше. И вот, сейчас мы получили логическую развязку. INSTEAD не место на площадке Apple. Не место на площадке Google.

Не знаю, что будет дальше, но лично моё мнение, что лучше просто послать Google подальше и продолжать заниматься творчеством. Пока ещё есть возможность запускать открытый код на наших (пока?) компьютерах.

Напомню, что скачать приложение вы можете из репозитория открытых проектов на F-Droid: https://f-droid.org/en/packages/org.emunix.insteadlauncher/

Я обновил ссылку на https://instead.hugeping.ru на приложение для Android.

#news

# RE:INSTEAD 0.2
std.club
hugeping(ping,1) — All
2021-09-05 11:33:05


Сегодня, тихо и незаметно, выпущено обновление re:instead 0.2!

RE:INSTEAD это приложение проекта "ПАРСЕРНОЕ СОПРОТИВЛЕНИЕ"

https://parser.hugeping.ru

которое предлагает вашему вниманию сборник парсерных игр в минималистичном формате. Сборки подготовлены для: Windows, Linux и Android. Для других ОС (включая Plan9, MacOS X, BSD*) предлагается тривиальная самостоятельная сборка из исходных кодов.

Изменений масса:

- изменение размера шрифта клавишами ctrl-+/-/0;
- поддержка автоскриптов через параметр -i <autoscript>;
- значительное ускорение работы;
- исправления в играх;
- поддержка сохранения настроек;
- порт на Android;
- исправление ошибок и прочие улучшения.

Сборку для android пока можно скачать прямо в виде .apk файла. А потом, я надеюсь, приложение примут в F-Droid. Соответствующий merge request уже создан.

Проект на github: https://github.com/instead-hub/reinstead

Руководство для игроков: https://github.com/instead-hub/reinstead/releases/download/0.2/manual.pdf

Бинарные сборки: https://github.com/instead-hub/reinstead/releases

#news

# МЕТАПАРСЕР 2.2.1
std.club
hugeping(ping,1) — All
2021-09-04 17:52:33


Обновлён метапарсер.

- Исправлено формирование с/со в русской библиотеке;
- Исправлены сохранения в metaparser.js.

Обновлениы: metaparser, metaparser-js(до 2.2.2). Заменена сборка instead-cli(1.5).

#news

# INSTEAD 3.4.0 вышел!
std.club
hugeping(ping,1) — All
2021-08-31 16:07:33


На исходе последнего дня лета вышел INSTEAD 3.4.0! Версия с поддержкой hi-dpi экранов и возможностью создавать игры с адаптивными темами. Список изменений:

- исправление в pxl:fill_triangle (сортировка вершин);
- исправлена сборка с новым SDL_image;
- корректная работа с масштабированием в Windows (dpi awarness);
- поддержка высоких dpi (если включена опция HQ);
- новый параметр -dpi;
- новая функция instead.screen_dpi();
- новый параметр theme scr.gfx.scale;
- новый параметр theme scr.dpi;
- новый параметр theme scr.scale_aware (1|2) - поддержка адаптивных тем;
- возможность запуска игры через командную строку по пути к main?.lua файлу;
- более качественное масштабирование картинки сцены;
- обновлён SDL для windows сборки;
- улучшение: используется GetModuleName для нахождения полного пути к .exe (Windows);
- новая функция pxl:tosprite (конвертация pxl в sprite с масштабированием);
- ускорение pxl:fill;
- экспериментальная поддержка сборки с gtk4.0 (пока отключено).

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

#news

# metaparser-js 2.2.1
std.club
hugeping(ping,1) — All
2021-08-25 16:29:13


Обновлёна js версия метапарсера до версии 2.2.1.

Изменения:
- исправлена работа старой js версии, которая активизируется если браузер не поддерживает wasm;
- исправлена доступность для незрячих (спасибо Даниилу Гусеву за помощь в отладке).

#news

# RE:INSTEAD 0.1
std.club
hugeping(ping,1) — All
2021-08-15 09:48:26


Сегодня вышла в свет первая версия нового проекта RE:INSTEAD!

Что это: https://github.com/instead-hub/reinstead/blob/master/MANIFEST.md
Скриншоты: https://github.com/instead-hub/reinstead/blob/master/README.md

Вы можете скачать готовую сборку, которая должна работать на Linux (64 бита) и Windows. Также, проект собирается в 9front (Plan9).

https://github.com/instead-hub/reinstead/

RE:INSTEAD распространяется с играми проекта "ПАРСЕРНОЕ СОПРОТИВЛЕНИЕ", которые лицензированы под лицензией CC SA 4.0.

http://parser.hugeping.ru/

#plan9
#news

# МЕТАПАРСЕР 2.2
std.club
hugeping(ping,1) — All
2021-08-15 09:41:50


Выпустил новую версию метапарсера. Исправление содержит исправления ошибок, поэтому рекомендуется для всех авторов.

* исправлено падение при вызове mp:myself();
* исправлено поведение Meta команд;
* исправлен std.busy();
* бекпорт исправлений из проекта re:instead.

С новым модулем выпущены: metaparser, metaparser-js, instead-cli

https://instead.hugeping.ru/page/metaparser/
https://parser.hugeping.ru

#news

# МЕТАПАРСЕР 2.1
std.club
hugeping(ping,1) — All
2021-07-31 14:55:18


Выпустил новую версию метапарсера.

* transcript больше не включается автоматически по команде autoscript;
* mp.detailed_attr;
* mp.msg.INCOMPLETE_NOUN/SECOND_NOUN/UNKNOWN_VERB переписаны;
* mp:content переписан;
* mp:footer();
* mp:verb_filter() (ru: лучшее детектирование глаголов);
* ru: исправлен глагол #Insert;
* исправления в автодополнении;
* исправления в английской библиотеке.

Рекомендую обновиться, если вы пишете свои игры с использованием МЕТАПАРСЕРА.

Выпущены: metaparser, metaparser-js, instead-cli

https://instead.hugeping.ru/page/metaparser/
https://parser.hugeping.ru

#news
P.S. Edited: 2021-07-31 18:43:00

# Передача телеграм-чата INSTEAD official
std.club
hugeping(ping,1) — All
2021-06-29 08:41:18


Модерируемый телеграм чат https://t.me/insteadchat передан новому владельцу @canwolf.
Чат переименован в "INSTEAD разработка" и теперь его политика и будущее будут определяться новым владельцем и сообществом INSTEAD.

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

Мне нравится проект INSTEAD, я трачу много своего свободного времени на его кодовую базу и на написание своих игр. (Сейчас, например, готовится новая версия INSTEAD с долгожданной поддержкой hidpi и масштабируемых тем.) Я занимаюсь проектом с 2009 года. При этом, мои социальные роли в проекте вызывали и вызывают эффект выгорания. У меня нет никаких амбиций по продвижению INSTEAD, поэтому я постепенно отчуждаю все ресурсы, которые не относятся непосредственно к разработке движка: группа VK, репозиторий игр, форум... Теперь настало время чатов.

Моей единственной территорией социального взаимодействия остаётся https://hugeping.ru
Присутствие меня в чатах INSTEAD вероятно, но не гарантируется.

Cпасибо @spline и @canwolf за свободу!

P.S. Фактическая передача чатов новым владельцам займёт около 6 дней.

#news

# Неофициальный телеграм чат меняет владельца!
std.club
hugeping(ping,1) — All
2021-06-28 21:45:37


Чат https://t.me/insteadtalk, а также все связанные с ним чаты (irc, discord и jabber) целиком переходят под управление нового владельца -- spline. Теперь, неофициальный INSTEAD чат больше не контролируется мной (автором движка INSTEAD). Начиная с этого момента, будущее и политика чата зависят от spline и сообщества любителей INSTEAD.

Судьба официального (модерируемого) телеграм-чата https://t.me/insteadchat пока не решена.

#news

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-05-20 15:29:10


hugeping> Более того, я терпеть не мог эффект "угадай глагол". Почему сейчас всё поменялось, сам не понимаю. Ну, угадай глагол мне и сейчас не нравится, конечно. :) Просто я теперь знаю какие глаголы работают :)

А в point'n'click есть свой аналог: охота за пикселями.

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
hugeping(ping,1) — vvs
2021-05-20 14:11:29


vvs> Все эти споры о парсере подвигнули меня покопаться в исторических парсерных играх.

Вот что интересно, я почти не играл в "оригинальные" парсеры старой школы. И вообще, любил квесты попроще. Например, предпочитал графические адвенчуры от Lucas Arts (там подписывались объекты при наведнии, в отличие от игр Sierra).

Так что мои игры реконструкцией сложно назвать. Более того, я терпеть не мог эффект "угадай глагол". Почему сейчас всё поменялось, сам не понимаю. Ну, угадай глагол мне и сейчас не нравится, конечно. :) Просто я теперь знаю какие глаголы работают :)

vvs> Кстати, удивляет сегодня, что такое было возможно на компьютерах с 32 _килобайтами_ памяти и 8-битным процессором (в графике!). И да, разумеется, там же рядом можно полюбоваться исходным кодом Zork и Dungeon на ZIL или FORTRAN.

Вообще, старые технологии часто недооценивают. Например, в troff можно верстать не хуже, чем в Latex, но только при этом ресурсов нужно на порядок меньше.

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-05-19 18:27:12


Все эти споры о парсере подвигнули меня покопаться в исторических парсерных играх. Сравнение классических игр Sierra On Line и образцов типичной интерактивной литературы показывает интересные отличия. В частности очевидно, что игры Sierra имели немалый элемент аркадности.

Здесь исходный код Leisure Suit Larry (без интерпретатора AGI): https://github.com/historicalsource/leisuresuitlarry
А здесь исходный код нескольких парсерных игр для IBM PC (можно найти и тот же код для TRS-80 Color Computer, кому интересно): https://archive.org/details/mark-data-products-games-1984-85-source-code.-7z

Кстати, удивляет сегодня, что такое было возможно на компьютерах с 32 _килобайтами_ памяти и 8-битным процессором (в графике!). И да, разумеется, там же рядом можно полюбоваться исходным кодом Zork и Dungeon на ZIL или FORTRAN.

# Re: Новости с INSTEAD фронта
std.club
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

# Новости с INSTEAD фронта
std.club
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: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-03-23 15:24:19


Кстати, чтобы увидеть возникающую путаницу достаточно посмотреть на "Земли сказаний" (http://instead-games.ru/forum/index.php?p=/discussion/412 ). Это типичная книга-игра, но которую трудно отличить от "квеста".
P.S. Edited: 2021-03-23 15:24:46

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-03-23 12:36:33


hugeping> Ходить по локациям, брать предметы и т.д.

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

hugeping> В CYOA подходе обычно речь идёт не о моделировании локаций/действий, а о развитии сюжета непосредственно. Текст (художественный, а не сгенерированный движком) выводится порциями и в идеале не повторяется, не заставляет игрока ходит по тем же местам снова и снова, а ведёт игрока от начала истории и до конца, ветвясь в зависимости от замысла автора.

hugeping> Конечно и в CYOA можно применить элементы "моделирования", но это довольно дорогое удовольствие по сравнению с "квестом". Потому что требует от автора написания художественного текста для всех развилок.

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

Но идею я понял.

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
hugeping(ping,1) — vvs
2021-03-23 06:16:06


Я говорил об играх в рамках интерактивной литературы или классических point&click квестах. Под "квестом" или игрой с моделью мира я понимал игры в которых моделируются действия игрока. Ходить по локациям, брать предметы и т.д. Тогда и Zork и Maniac Mansion относятся условно к "квестам". Сюжет в таких играх обычно линеен. Чувство свободы возникает от свободы перемещений и действий, но на сам сюжет это не влияет.

В CYOA подходе обычно речь идёт не о моделировании локаций/действий, а о развитии сюжета непосредственно. Текст (художественный, а не сгенерированный движком) выводится порциями и в идеале не повторяется, не заставляет игрока ходит по тем же местам снова и снова, а ведёт игрока от начала истории и до конца, ветвясь в зависимости от замысла автора.

Конечно и в CYOA можно применить элементы "моделирования", но это довольно дорогое удовольствие по сравнению с "квестом". Потому что требует от автора написания художественного текста для всех развилок.

# Re: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-03-22 21:28:33


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

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

В книгах-играх уже явно есть и игровой мир и дерево сюжета. Игрок может взаимодействовать с объектами этого мира, выбирая нужную ветку.

Куда тут отнести Zork или, например, Maniac Mansion? Есть игровой мир и есть набор (частично связанных) задач для достижения (одной из) целей игры. Сюжет присутствует, но на ход игры не влияет.

Это то, что тут имеется в виду?

# CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
hugeping(ping,1) — All
2021-03-22 18:54:02


Недавно @technix подсунул мне статью https://if50.substack.com/p/1981-his-majestys-ship-impetuous в которой рассказывается о Роберте Лафоре (Robert Lafore) создателе интерактивной литературы и его играх. В играх применён довольно простой и забытый сегодня приём. История разворачивается как в CYOA играх, в ключевых моментах предлагая игроку вводить текст в свободной форме. Движок реагирует на:

* присутствие ключевых слов в фразе (например: да, нет, имя NPC и т.д.);
* отсутствие ключевых слов в фразе (попрошу обращаться ко мне как "сэр");
* объём текста и так далее...

При этом, даже в случае отсутствия совпадений с шаблоном, игра может продолжаться по умолчательной ветке. А может зацикливаться, заставляя игрока сделать свой выбор среди жёстко заданных вариантов. Например: атаковать или защищаться.

Сам факт свободной формы вводимого текста тоже может работать на погружение. Интересно, что похожий приём я использовал в своей игре "Вахта" при написании электронного письма.

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

Мне всегда нравилось писать истории, которые напоминают книги или кино (или театр). Загадки в такой истории воспринимаются как часть происходящих событий и естественно вплетаются в повествование. Поэтому и INSTEAD был написал с упором на такой вид игр. Условно, назовём их играми с моделью мира или просто квестами. Не смотря на ощущение свободы, на самом деле, именно свободы как правило в подобных играх нет. Мы просто "проживаем" разворачивающиеся события. Это "проживание" помогает погружению и не является средством реализации вариативности.

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

Зачем эти рассуждения? Дело в том, что меня давно интересует вопрос применения элементов CYOA для написания _линейных_ историй. И прочитанная статья вроде бы в очередной раз намекает на возможность этого пути. Мне казалось, что должен бысть способ скрестить парсер и CYOA и получить нечто новое.

Что мне нужно от CYOA? Литературный текст. Лёгкость работы с текстом (как в книге). Что мне нужно от парсера? Чувство свободы (хотя бы и мнимое) и вовлечённости. Однако, как только мы убираем модель мира, мы приходим к неизбежной нелинейности! Этот парадокс я долгое время не замечал.

Подумайте, если вместо моделирования действий игрока мы начинаем работать с голым текстом, то мы обязаны работать с нелинейностью! Потому что в CYOA процесс разворачивания сюжета, это не моделирование действий игрока, а чтение текста! CYOA это не способ управления игрой, CYOA -- это подход к написанию историй! И этому подходу совершенно чужда идея "линейной истории". CYOA всегда предполагает литературное описание альтернативных вариантов сюжета.

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

Предполагаю, что речь идёт о (назову их так) "стратегических" играх. Я имею в виду игры с явно выраженной игровой механикой. Сюжет в таком случае будет "побочным" продуктом. Он будет развиваться не средствами CYOA подхода. Например, в случае игры про детектива, работающего с документами при помощью меню, сюжет, скорее всего, будет развиваться за счёт чтения игроком содержимого документов. А сам игровой процесс при этом не будет иметь прямого отношения к CYOA подходу.

То-есть, при проектировании игры мы можем выделить некую игровую механику и уже вокруг этой механики развернуть сюжет. В качестве примера: SMS игры, работа с документами, игры в виде диалогов, кликеры, текстовые-roguelike, расшифровка текстов и так далее. Да, мы всегда можем придумать новую уникальную (или не очень) механику и навесить на неё сюжет. Но, в таком случае, нельзя говорить об универсальности подхода. И, строго говоря, мы не можем назвать это CYOA. Потому что игровая механика таких игр не влияет на сюжет. Напомню, я говорю сейчас об играх с линейным сюжетом.

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

Игры с моделью мира -- настоящая интерактивная литература. ;)
P.S. Edited: 2021-03-22 18:58:47

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-03-01 07:15:45


Результаты конкурса объявлены и опубликованы!
https://forum.ifiction.ru/viewtopic.php?pid=39674#p39674

Номинация "Выбор игроков"
1-ое место - "Красная шапочка: охота на волков" (Вета, Tangarou, Ангел | Renpy) Итоговый балл: 8
2-ое место - "Не сдавайся, скелет!" (Out_or | Сторигейм) Итоговый балл: 7.9167
3-е место - "Луна-9" (Пётр Косых | Instead) Итоговый балл: 7.9091
4-ое место - "Хроники Нордхейма. Второй отряд" (Вячеслав Добранов | Ink) Итоговый балл: 7.4545

Номинация "Выбор жюри"
1-ое место - "Билет в один конец" (Виталий Блинов | Web) Итоговый балл: 178
2-ое место - "Луна-9" (Пётр Косых | Instead) Итоговый балл: 168
3-е место - "Красная шапочка: охота на волков" (Вета, Tangarou, Ангел | Renpy) Итоговый балл: 167
4-ое место - "С улицы Бассейной" (Finest ясный сокол | Instead) Итоговый балл: 156

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-02-15 13:29:27


Срок голосования за игры продлён до 27.02.2021 г. (включительно; время московское).

# Re: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-11 18:23:40


О, не зналь. Здорово=)

# Re: INSTEAD 3.3.3
std.club
hugeping(ping,1) — artur
2021-02-11 10:15:36


>>добавлен параметр темы scr.col.brd (цвет бордюра);
artur> Это, грубо говоря, рамочка вокруг картинок?
Это облась, которая возникает при масштабировании всей темы. Например, квадратная тема на широком мониторе. Справа и слева будут полосы. Теперь этот цвет можно задать.

# Re: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-10 13:58:45


>добавлен параметр темы scr.col.brd (цвет бордюра);

Это, грубо говоря, рамочка вокруг картинок?

# INSTEAD 3.3.3
std.club
hugeping(ping,1) — All
2021-02-10 11:14:41


Выпустил INSTEAD 3.3.3.

Список изменений:

* добавлен параметр темы scr.col.brd (цвет бордюра);
* поддержка RTL (при сборке с _USE_HARFBUZZ и новым SDL_ttf);
* добавлен флаг instead.tiny в минимальной версии;
* готовность сборки с emscripten 2.0.12;
* gtk3 сборка включается по умолчанию;
* параметр сборки APPIMAGE;
* новая реализация анимированных gif (из движка удалён LGPL код);
* возможность сборки с lua5.4;
* исправления ошибок.

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

Творите с удовольствием. :)

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-02-08 08:49:55


Приём игр завершён.
Всего прислали 16 игр!

Игры опубликованы: https://forum.ifiction.ru/viewtopic.php?id=2593

На страницах игр можно играть, писать комментарии, отзывы, и ставить оценки. Голосование продлится до 21.02.2021 г.

# МЕТАПАРСЕР 1.10
std.club
hugeping(ping,1) — All
2021-01-29 10:38:28


Обновлён модуль МЕТАПАРСЕР3.

Новое:
* mp:pager_mode() experiment;
* for_plural is documented;
* #Drop splitted in #Drop and #Insert;
* use less memory while compiling dict;
* all mp.msg.* can be functions;
* home/end keys while edit line;
* bugfixes.

https://instead3.syscall.ru/page/metaparser/

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-01-17 13:02:22


Новости. На текущий момент на конкурс принято 3 игры. Напоминаю, что до конца приёма игр осталось три недели (07.02.2021).

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2020-12-09 17:47:26


Коллективно посовещавшись, члены жюри решили, что было бы неплохо не только устроить жёсткую конкуренцию за победу на конкурсе, но и поощрить авторов, которые пишут добротные игры, пусть и не претендующие на главный приз.
Поэтому в правилах следующие нововведения:
Количество призовых мест в каждой номинации ("Выбор жюри" и "Выбор публики") увеличено до 4-х.

Также один из членов жюри Yandexx пожертвовал в фонд конкурса 13 000 рублей (огромное спасибо!) и, после распределения их по призовым местам, у нас получилось следующее (суммы с учётом уже имевшихся призов):

Номинация "Выбор жюри"
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

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

Номинация "Выбор игроков"
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

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

# Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2020-12-06 20:06:12


Вторая новость. В состав жюри вошла прекрасная Альфина aka Александра Голубева. Прошу любить и жаловаться. Для тех, кто в танке, Александра "Альфина" Голубева - нарративный дизайнер Pathologic 2, автор и художник вебкомикса "Маревый Мир", переводчик книг «Кровь, пот и пиксели» и «Кодзима — гений».

# Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — All
2020-12-06 13:34:20


Зимняя олимпиада квестов 2020-2021

Приветствую всех поклонников интерактивной литературы и текстовых игр на очередной Зимней Олимпиаде Квестов 2020-2021!

В этом году вас, как обычно, ждут обновлённые правила ЗОК, двусмысленные темы конкурса, скромные призы, мудрое жюри и эпатажный организатор женского пола.

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

Все вопросы, на которые вы не нашли ответ в правилах, можно задавать напрямую организатору (это я, если кто-то до сих пор не понял 😉) на Discord-сервере сообщества интерактивной литературы, либо на почту project.enola@yandex.ru.

Краткие правила
Требования: текстовая игра на русском языке.
Отправка игр по адресу: project.enola@yandex.ru

Срок приёма игр: с 07.12.2020 г. по 07.02.2021 г.
Публикация игр: 07-08 февраля 2021 г.
Срок голосования: с 08 февраля 2021 г. по 21 февраля 2021 г.
Две номинации: «Выбор жюри» и «Выбор игроков».
Жюри: Альфина, Антон Ласточкин, Yandexx, techniX, cheshire, goraph.
Игроки: пользователи, зарегистрированные на форуме ifiction.ru и проголосовавшие за игры.

Призы: Номинация "Выбор жюри"
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Номинация "Выбор игроков"
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Призовой фонд формируется. Ищем спонсоров.

Связь с организатором (то есть мной) на канале #зок на https://discord.gg/5MwVHu9J5s Discord-сервере сообщества интерактивной литературы

Подробные правила:
Требования:
Впервые опубликованная текстовая игра на русском языке.
Допускаются: онлайн-игры, переводы иностранных игр, книги-игры (только в формате PDF с интерактивным геймплеем (гиперссылками)).
Жанр игры: любой, но, в первую очередь, приветствуются квесты (логично же, исходя из названия конкурса).
Игры, которые раньше были частично опубликованы (отдельная часть, глава, история из игры), допускаются на конкурс после решения организатора, в зависимости от количества нового контента.
Количество игр от одного участника не ограничено.

Темы(для тех, кто не знает, о чём писать):
1. Начхать на всё.
2. Девушка с короной.
3. От сумы и зимы не зарекайся…
4. Инъекция Олимпиады.
5. Квесты эпохи Нью-эйдж.

Темы можно понимать, как угодно (включайте воображение).
Игры, не соответствующие темам, будут приняты на конкурс (но организатор будет расстроена 🙁).

Сроки:
• Срок приёма игр: с 07 декабря 2020 г. по 07 февраля 2021 г. (включительно).
• Срок публикации присланных игр: с 07 на 08 февраля 2021 года.
• Срок голосования для жюри и игроков: с 08 по 21 февраля 2021 года. (включительно).
• Подведение итогов – после завершения голосования.
Все даты подразумевают московское время.

Отправка игр.
Архив с игрой и любыми дополнительными (по желанию автора) материалами необходимо прислать до окончания срока приема работ на e-mail адрес: project.enola@yandex.ru
Туда же нужно присылать все обновления.

В теме письма указать: Игра на ЗОК.
К игре необходимо приложить следующую информацию:
• Ник(и)/имя(ена) автора(ов) игры
• название игры
• описание игры
• название платформы
• обложку игры (можно скриншот) размером от 300×300 пикселей (по желанию автора, но обычно картинки лучше привлекают игроков)
• особые инструкции по запуску (если игра запускается нетривиальным образом): требуемые интерпретатор, операционная система, библиотеки для запуска и т.д.

Также желательно приложить краткое прохождение загадок или подсказки для жюри.

Онлайн-игры: Если вы пишете онлайн-игру на специализированных ресурсах, имеющих премодерацию публикации (например, hyperbook.ru, axma.info, quest-book.ru,apero.ru и другие подобные ресурсы), вам необходимо:
• уведомить организатора письмом на project.enola@yandex.ru о том, что игра, участвующая в ЗОК 20-21, будет опубликована на соответствующем ресурсе
• опубликовать игру (или отправить на модерацию) не ранее 07 февраля 2021 года.

Если вы отправляете игру на онлайн-ресурсы без премодерации и без ограничения по просмотру, просто подождите с отправкой до 07 февраля 2021 года.

Если вы пишете самостоятельную онлайн-игру, у которой не может быть оффлайн-версии, то до 07 февраля 2021 г. она не должна быть в открытом доступе.Вы можете, например, закрыть её паролем и открыть после начала конкурса. При этом, желательно, прислать пароль организатору вместе с заявкой. Чтобы у организатора была возможность ознакомиться с игрой и проверить на соответствие правилам конкурса заранее, а не в последние часы дедлайна.

Голосование:
Все присланные игры автоматически принимают участие в двух номинациях конкурса: «Выбор жюри» и «Выбор игроков».

Выбор игроков
Призовой фонд:
1-ое место - 4 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Игроки - все желающие, зарегистрированные на https://forum.ifiction.ru/ форуме ifiction.ru. Ссылка на голосование будет размещена здесь позднее. Игроки оценивают игры по шкале от 1 до 10.

Итоговая оценка игры считается, как среднее арифметическое всех поданных за неё оценок.
Голоса, отданные только за одну игру или явно не соответствующие уровню игр и/или их сравнительному качеству (например, всем играм - 1, а одной - 10), будут расцениваться организатором как «накрутки». В случае, если игра набрала менее трёх голосов игроков, она не может претендовать на призовое место.
В случае равенства голосов, отданных за какие-либо игры, решение о распределении мест между ними принимает организатор.

Выбор жюри:
Призовой фонд:
1-ое место - 14 000 рублей.
2-ое место - 3 000 рублей.
3-ое место - 2 000 рублей.
4-ое место - 1 000 рублей.

Состав жюри: Альфина, Антон Ласточкин, Yandexx, techniX, cheshire, goraph..
(Жюри - замечательные люди, имеющие за плечами немалый опыт текстового игростроения, чьему мнению по играм я доверяю. Надеюсь, что и большинство людей в сообществе интерактивной литературы разделяет мою убеждённость.)

Оценка игр(дальше много текста про систему судейства)
Жюри оценивает игры по четырём критериям:
Увлекательность, Сюжет, Геймплей, Литературный стиль.

По каждому критерию члены жюри выставляют оценку от 1 до 10.
Цифры можно расшифровать примерно так:
10 - «не забуду еще десять лет», 9 - «не оторвусь ни за что», 8 - «великолепно!», 7 - «хорошая штука, мне понравилось», 6 - «неплохо, но ничего особенного», 5 - «так себе, видал я много лучше», 4 - «играть можно только с большим трудом», 3 - «тоска, скука и скрежет зубовный», 2 - «где тут, собственно, игра?», 1 - «кто мне подсунул этот кошмар?!».

Также жюри предлагается выразить своё мнение об игре тремя короткими комментариями:
Запоминается…
Хотелось бы…
Итоговый вердикт…
Данные комментарии сугубо добровольные, жюри могут оформить свои впечатления от игр другим образом или не описывать их вообще.

Подробнее о критериях:

Увлекательность
Это - самое важное, что можно сказать об игре. Интересно ли в нее играть? Общие впечатления и ощущения.

Геймплей
Собственно игровая механика и техническая реализация игры (баги, ошибки). Если так обобщать. Насколько механика игры интересна разнообразна и соответствует остальным элементам игры.

Сюжет
Оригинальность истории, её непротиворечивость. Отсутствие логических неувязок, неясностей, последовательное, а не «рваное» повествование (если, конечно, это не специальный приём в игре).

Литературный стиль
Ошибки (орфографические, речевые и т.д.), стиль текста, лёгкость чтения и восприятия. Насколько приятно читается текст? Разнообразие художественных приёмов, образов, фигур речи.

Игры, получившие от любого члена жюри по одному из критериев оценку 3 и менее, не могут претендовать на призы в номинации "Выбор жюри".

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

P.S. Жюри могут участвовать со своими играми в конкурсе (ну а вдруг 😉), но только в номинации «Выбор игроков».

Заключительные положения

В случае нарушения правил конкурса участником организатор, посовещавшись с жюри, имеет право дисквалифицировать игру участника.
Настоящие правила могут меняться в течение конкурса, о чём организатор будет делать объявления.
Дальнейшие пополнения призового фонда будут распределяться пропорционально и соразмерно между местами. (Естественно, что призы за первые места могут быть больше и новые пожертвования можно направлять только на первые места по желанию спонсора).
P.S. Edited: 2021-03-01 07:13:52

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
hugeping(ping,1) — vvs
2020-11-24 18:00:56


vvs> Если сделать их видимыми только пока держишь шифт, то они все будут вообще незаметными.
vvs> Не знаю, кого это может раздражать, да еще имея полный выбор.

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

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
vvs(ping,12) — Andrew Lobanov
2020-11-24 12:36:07


AL> Малозаметные гиперссылки попадались только в одной игре -- в вахте :)

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

AL> Гипертекст в принципе не очень удобно читать, ИМХО. Но тут выбора нет. К парсеру общественность морально не готова :)

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

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
boscholeg(ping,5) — hugeping
2020-11-24 07:39:00


Думаю, что в качестве эксперимента вполне может быть.
Мне было бы любопытно посмотреть на новую игру с новой фишкой в управлении.

P.S. Edited: 2020-11-24 07:39:02
тут должна быть картинка с торсом Гомера Симпсона, но не судьба :)

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
hugeping(ping,1) — vvs
2020-11-24 06:52:14


vvs>Разве что сделать так, чтобы они были видны только пока удерживаешь шифт.
Думаю, будет раздражать определённую часть ещё больше. А так- замена визуализации просто. На самом деле, надо смотреть по играм. Испытывать.

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
hugeping(ping,1) — vvs
2020-11-24 06:45:05


vvs> Ну не знаю. Меня эти торчащие во все стороны индексы отвлекают еще больше, чем малозаметные гиперссылки.

Нужно искать компромисс. На самом деле, делать игры с ссылками, которые выделены в тексте цветом, мне не хочется. Остаются:
- парсер;
- невидимые ссылки (как в Вахте);
- xrefs;
- не писать уже. ;)

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

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
Andrew Lobanov(tavern,1) — vvs
2020-11-24 04:18:31


vvs> Ну не знаю. Меня эти торчащие во все стороны индексы отвлекают еще больше, чем малозаметные гиперссылки. Разве что сделать так, чтобы они были видны только пока удерживаешь шифт.

Малозаметные гиперссылки попадались только в одной игре -- в вахте :)

Гипертекст в принципе не очень удобно читать, ИМХО. Но тут выбора нет. К парсеру общественность морально не готова :)

# Re: Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
vvs(ping,12) — hugeping
2020-11-23 22:01:34


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

# Официальный и неофициальный чаты INSTEAD
std.club
hugeping(ping,1) — All
2020-11-22 20:11:06


Неофициальный Telegram чат INSTEAD https://t.me/insteadtalk стал большим и флеймообразующим. Новичкам там часто становится страшно и неуютно. Поэтому я создал модерируемый официальный чат.

https://t.me/insteadchat

Этот чат будет жёстко модерироваться. Оскорбления/грубость/сильный оффтоп -- запрещены.

# Модуль extlibs: частичка метапарсера для классики
std.club
hugeping(ping,1) — All
2020-11-22 08:54:37


Привет!

Давно уже хотел портировать часть функций метапарсера в классику. Сегодня я это сделал: https://github.com/instead-hub/stead3-modules/tree/master/extlib

Что есть? Словарь. Таким образом, можно делать стандартные реакции в зависимости от типа объекта. На данный момент поддерживаются:

- генерация описаний предметов, если у них не задан dsc (или dsc вернул false);
- supporter;
- container;
- transparent;
- concealed;
- openable;
- switchable;
- item (вещь можно брать и класть);
- дополнительные обработчики у obj: onact, onuse, oninv - которые вызываются перед стандартными.

Демонстрация:

loadmod 'extlib-ru'

obj {
	-"винтовка";
	nam = "винтовка";
	onuse = function(s, w)
		if w ^ 'ваза' then
			p [[Бах!]];
			remove(w)
			return
		end
		return false
	end;
}:attr 'item'

obj {
	-"телевизор";
	nam = "телевизор";
}:attr 'switchable';

obj {
	-"стол";
	nam = "стол";
}:attr 'supporter': with { 'винтовка', 'ваза', 'коробка', 'телевизор' }

obj {
	-"коробка";
	nam = "коробка";
}:attr 'openable,container';

obj {
	-"ваза";
	nam = "ваза";
}:attr 'container,item':with 'цветок'

obj {
	-"цветок";
	nam = "цветок";
}:attr 'item';

room {
	nam = 'main';
	title = "extlib demo";
	obj = { 'стол' };
}

Для сообщений стандартной библиотеки применяется такой-же язык шаблонов как и у метапарсера:

--"видеть"
ex.msg.EXAM = "{#Me} не {#word/видеть,#me,нст} {#vo/{#first/пр}} ничего необычного.";

В общем, как и всегда, надеюсь, что это кому-то понадобится на практике.

P.S. Конечно, модуль будет дорабатываться. Stay tuned!

extlib.png

# Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
hugeping(ping,1) — All
2020-11-21 15:28:26


Играясь с INSTEAD на Plan9, я поймал себя на мысли, что играбельность простых игр в tiny-instead даже выше, чем в обычном настольном INSTEAD. И даже CYOA игры выглядят не так ужасно. Почему?

Не знаю как у других, а у меня сформирован рефлекс нажатия ссылок. Когда я вижу гипертекст, я:

- Сначала обращаю внимание на ссылки;
- Читаю текст фрагментарно и часто непоследовательно;
- Стараюсь нажать на эти ссылки раньше времени.

Поэтому то меня и тянет парсер, где текст -- это просто текст.

Так вот, в tiny-instead текст тоже выглядит текстом, а управление игрой осуществляется через ввод цифр: http://hugeping.tk/lib/uploads/9front-instead-cat.png

И тут я подумал, а может быть можно сделать что-то похожее и в обычном INSTEAD?

Оказалось, можно! Встречайте модуль xrefs.

http://hugeping.tk/lib/uploads/xrefs.png

Модуль уже в репозитории: https://github.com/instead-hub/stead3-modules

Как пользоваться?

1) В начало вашей игры добавьте loadmod 'xrefs'
2) Вы можете пользоваться мышкой, или клавиатурой, нажимая на клавиши для выбора ссылки. Для режима "использовать" нажимайте shift, затем две клавиши по очереди, которые соответствуют предметам.

Вот такая штука для для любителей минимализма. Надеюсь, вам понравится и модуль вам пригодится.

# Re: Подкасты переехали на soundcloud
std.club
artur(ping,3) — Andrew Lobanov
2020-09-12 11:31:29


К тому же, инстед могёт во всякие графические штуки как к примеру на фоне в том же юбилейном видео-подкасте. Можно поиграться с этим всем...
Да, надо будет с ютаба загрузить видео=)
P.S. Edited: 2020-09-12 11:31:24

# Re: Подкасты переехали на soundcloud
std.club
Andrew Lobanov(tavern,1) — hugeping
2020-09-12 11:31:36


hugeping> Где я, где инстед и где видео? :)

Однако, юбилейный подкаст очень классный был :)
P.S. Edited: 2020-09-12 11:31:32

# Re: Подкасты переехали на soundcloud
std.club
vmg(tavern,32) — hugeping
2020-09-12 11:31:45


hugeping> С другой стороны, смотри сам. Я осяду здесь, а соц-сети пусть живут где-то там. :)

Ты не принадлежишь к телу, друг? Тело едино, так говорит Лэндрю! © «Star Trek»
P.S. Edited: 2020-09-12 11:31:40

# Re: Спойлеры в клубе
std.club
hugeping(ping,1) — boscholeg
2020-09-11 21:20:35


> А как назад расшифровать? Зеркальцем воспользоваться?

Ага. Или мозгом. :)

# Re: Подкасты переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-12 11:31:54


> Но если не надо --> не буду

Смотри на своё усмотрение. Мне ещё тут предлагали в яндекс-музыку залить. Вроде бы есть раздел: не музыка.

Подкасты нужно писать рассчитанные на широкую аудиторию, все-таки. А сейчас так и вообще - видео.

Где я, где инстед и где видео? :)
P.S. Edited: 2020-09-12 11:31:49

# Re: Спойлеры в клубе
std.club
boscholeg(ping,5) — hugeping
2020-09-11 21:18:47


А как назад расшифровать? Зеркальцем воспользоваться?

# Re: Подкасты переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-12 11:32:02


Но если не надо --> не буду
P.S. Edited: 2020-09-12 11:31:57

# Re: Подкасты переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-12 11:32:10


Боюсь, что группа инстеда "локальна". А подкасты видно будет через группу. Можно в принципе ещё и ограничить просмотр аудио, емнип.
Подкасты в ВК по разным направлениям, вообще, есть. Так что, думаю, подобный формат не вызовет непонимания у людей. Особенно у тех, кто вообще в эту группу вошёл=)
P.S. Edited: 2020-09-12 11:32:06

# Re: Подкасты переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-12 11:32:19


> Ну я загружу туда.

Честно говоря, мне кажется наши подкасты там вызовут нездоровую реакцию. Может не стоит?

С другой стороны, смотри сам. Я осяду здесь, а соц-сети пусть живут где-то там. :)
P.S. Edited: 2020-09-12 11:32:13

# Re: Подкасты переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-12 11:32:26


Ну я загружу туда. Всё равно можно записать автора. Запишу "INSTEAD сообщество" и т.п. В группе инстеда в ВК можно добавить как в альбом сообщества.
P.S. Edited: 2020-09-12 11:32:22

# Re: Подкасты переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-12 11:32:35


> А можно подкасты загрузить в ВК?

Я честно говоря не знаю что и как там делать. И немного побаиваюсь vk. :) Пусть пока в soundcloud полежат. Тем более, что уже неактуальны.
P.S. Edited: 2020-09-12 11:32:31

# Re: Подкасты переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-12 11:32:42


А можно подкасты загрузить в ВК?
P.S. Edited: 2020-09-12 11:32:38

# Подкасты переехали на soundcloud
std.club
hugeping(ping,1) — hugeping
2020-09-12 11:31:15


В связи с переездом все подкасты INSTEAD перенесены сюда: https://soundcloud.com/hugeping
P.S. Edited: 2020-09-12 11:31:08

# Перенос club.syscall.ru на станцию ping
std.club
hugeping(ping,1) — All
2020-09-10 10:38:52


Назад пути нет. Делегирую домены на сервера Яндекс. В относительно скором времени club.syscall.ru и syscall.ru будут указывать на станцию http://hugeping.tk

База поинтов не сохранится, но сообщения сохранятся. Если вы заинтересованы в общении на станции, уже можно регистрироваться на https://hugeping.tk
Новая станция больше похожа на форум.

Сервер крутится на малинке, как будет со стабильностью - не знаю. Статус проекта - личный арт-проект без всякой ответственности. http://hugeping.tk/rOf069UX8K24yAzvWa9N#rOf069UX8K24yAzvWa9N

В общем, поехали! :)

# Re: Ленты RSS в клубе
std.club
hugeping(ping,1) — Peter
2020-09-09 09:25:19


> Теперь можно получать сводную ленту из нескольких эх. Например, все эхи инстеда в одной RSS ленте:
> authstr можно посмотреть в личном профиле

На новом движке ii-go не так:

http://hugeping.tk/echo/all/rss - Все сообщения
http://hugeping.tk/echo/echo.name/rss - Выбранная эха echo.name
http://hugeping.tk/to/User/rss - Сообщения для User
http://hugeping.tk/from/User/rss - Сообщения от User

# Re: Спойлеры в клубе
std.club
hugeping(ping,1) — Peter
2020-09-09 09:22:14


> Теперь, если в вашем сообщении встречается строчка: %%spoiler%%

На новом движке ii-go теперь по другому.

@spoiler: А это спойлер!

!релйопс отэ А :reliops@

# Re: Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — hugeping
2020-09-09 06:29:45


Иллюстрация #2
2.png

# Re: Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — hugeping
2020-09-09 06:29:00


Иллюстрация #1
1.png

# Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — All
2020-09-09 06:21:00


> Опубликовано 09.05.2010

Уже больше года назад, увидела свет первая публичная версия INSTEAD и игра «Возвращение квантового кота». В то же время я написал статью в электронный журнал LGT о том, как создавался движок…

# Стать режиссёром

После просмотра захватывающего фильма или чтения полюбившейся книги кто из нас не ставил себя на место режиссёра или писателя? Подобрать актеров. Продумать сюжет. Сделать все так, как кажется правильным. Что касается меня, то я всегда мечтал написать свою историю. В эпоху постмодернизма большинство сюжетов — это циничные (хотя и изысканные) истории. Я хорошо помню чувство разочарования, когда мы с другом выходили из кинотеатра, посмотрев только что вышедшие новые «Звездные Войны». Я же всегда хотел написать историю, в которой бы смешались романтика и фантастика, я хотел создать «классическую» историю. Но я не был режиссёром, не был писателем, я был программистом.

Еще учась в институте, воспитанные лучшими квестами Lucas Arts, мы с моим другом пытались писать графический «плоский» квест, но как это часто бывает не хватило мотивации, да и терпения… Я писал тогда на смеси ассемблера и C. В результате не был написан даже движок.

Несколько лет назад, уже работая с Linux, я узнал о таком старом жанре компьютерных игр, как Interactive Fiction (интерактивная литература). Было похоже, что это то-что нужно! Днем рождения жанра считается 1975 год, когда Уилл Кроутер написал первый текстовый квест, Adventure. В этом квесте общение с игроком осуществлялось посредством ввода и вывода текстовой информации. Эта особенность и стала ключевой для игр жанра IF. Многие IF-игры очень похожи на книги. Кроме того, так как вывод игры это текст — автор не обязан быть художником, создание IF игры в целом гораздо проще создания графического квеста в стиле 90х. При этом, как и в случае интересной книги, сюжет определяет все. Фактически — написание такой игры это написание сценария — огромный простор для творчества, посильного для одного человека.

На данный момент, самыми популярными и старыми платформами для создания IF игр являются TADS и Inform. Для своего первого квеста я выбрал Inform. Но тут возникла сложность — русский язык гораздо тяжелее анализировать (парсить). К счастью, на тот момент Денисом Гаевым уже была сделана русификация Inform компилятора и я начал писать пробную историю на Inform.

Inform был удивителен! Я понял, что применение объектно-ориентированного подхода в программировании объектов реального мира — захватывающая и творческая задача. Помню, как программировал поведение лифта, имитируя его движения с этажа на этаж, раскрытие дверей, состояние кнопок… Через несколько дней я дал попробовать то, что получалось коллегам по работе и сделал следующие неутешительные выводы.

- Фанатов IF в ее чистом виде крайне мало. Независимо от того, как я отношусь к своему творению в мою игру вряд-ли кто-то будет играть.
- IF литература на русском в следствии богатства русского языка сложна не только для автора, но и, что важнее, для игрока.

Русский Inform был отложен. Но я все еще хотел написать свой квест.

# Первая попытка

Состояние жанра IF в Росии далеко от того, чтобы вызывать оптимизм. Тем не менее существуют проекты, которые являясь платформами для IF игр не реализуют парсерный ввод. В качестве примеров можно привести платформы URQ и QSP. Игры на этих платформах относят к так называемому «менюшному» типу, когда пользователь фактически выбирает варианты действий, хотя вывод игры по-прежнему является текстом. Графика и звуки тоже могут поддерживаться движком, но они скорее дополнение — как иллюстрации в книге.

Потратив некоторое время на изучение существующих движков я понял, что они не подходят. Я уже был «испорчен» Inform’ом в том смысле, что мне нравилась объектная ориентированность языка. Кроме того, я был в то время «фанатичным» и последовательным Linux’оидом, а данные платформы изначально были написаны для DOS и Windows. Качество существующих квестов под эти платформы меня тоже не удовлетворило, особенно в сравнении с английскими аналогами, и я начал продумывать свой движок.

В качестве языка я сначала планировал использовать какой-то простой basic-подобный скриптовый язык, но как-то наткнулся на Lua и был поражён его простотой, расширяемостью и лёгкостью его встраивания в C. И я просто начал писать движок на Lua.

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

Внутри мир игры является объектно-ориентированным. Что-то вроде упрощённого Inform.

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

Игра по своему гэймплею должна выглядеть так же, как квесты 90-х в том смысле, что единственным отличием является текстовый вывод, но в остальном движок ни чем не ограничен и игровой процесс более динамичен, чем в классических IF играх.

Схема взаимодействий объектов выбрана примерно такая, как она сделана в игре Goblins: игрок выбирает мышкой объект или действует объектом на другой объект — тоже мышкой, щелкая по словам, представляющие объекты. Игрок может переходить с локации на локацию, щёлкая по их именам.

Первоначальная версия движка на Lua оказалась очень простой — несколько сотен строк. Кроме того, движок писался одновременно с игрой — я просто включал в движок все то, что упрощало код игры. Так родилась тестовая версия квеста о сотрудниках института в котором я работал и об их борьбе со злом. Движок, как я уже сказал, представлял собой просто скрипт на lua, взаимодействие с ним осуществлялось через стандартный ввод/вывод. Это позволило реализовать графический интерфейс просто как надстройку, написанную на tcl/tk. Это был unix way — очень просто. Выглядело, конечно, грубовато, но в качестве концепта годилось. Весь проект — чуть больше 1000 строк, не считая 2000 строк самой игры.

Идея графического интерфейса была предельно проста. Слева: текст с игрой. Справа — столбец с объектами инвентаря. Кликая мышкой можно было взаимодействовать с объектами и комбинировать их.


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

# Обратно в 80-е

Все это время в моем подсознании зрела мысль, что квест еще не написан, а движок — не идеален… Я прочитал документацию по Lua еще раз и понял что все, что я написал — хлам. К счастью хлама было не много, и я переписал движок с чистого листа, учитывая ошибки и узкие места игры — концепта. На этот раз получилось около полутора тысяч строк на Lua, все еще достаточно просто и гораздо проще (и, надеюсь, достаточно гибко), чем существующие «менюшные» движки. И вот, дописывая движок меня прорвало — я начал писать свой «первый» квест, о хакере дауншифтире и парадоксах квантовой механики. Как и в случае с концептом, движок дорабатывался во время написания игры. В отличие от игры-концепта, я изначально планировал консольное, а не графическое управление игрой. С одной стороны, это добавляло шарма и сближало игру с классическими IF играми, с другой стороны — использование библиотеки readline делало управление игрой довольно комфортной.

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

Игру я писал «запоем», около месяца, и когда, наконец она была готова — я с трепетом отдал ее знакомым друзьям программистам.

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

Поэтому, я не стал выкладывать игру в открытый доступ и просто отложил её на неопределённое время.

# Графика

Не знаю, как пришла идея сделать игру похожей на визуальную новеллу? Наверное, это стало следствием понимания необходимости написания для игры графического интерфейса. Интерфейс tcl/tk, конечно, не тянул на то, чтобы стать основным, и я начал писать библиотеку для отрисовки текста на основе SDL. Идея была в том, чтобы написать среду для запуска игр, написанных под движок, с возможностью менять вид интерфейса в зависимости от игры. Кроме того, после изучения некоторых движков, в том числе и движка для визуальных новелл, я решил, что такая среда должна быть очень простой.

Написав основу, я ради интереса попробовал вставить произвольную картинку на первую страницу игры, над текстом описания сцены и… понял, что у меня получается новая игра. Тогда я не выдержал и достал свой недорогой планшет Wacom Graphire, когда-то купленный мной для обработки фотографий и благополучно забытый, запустил gimp и попробовал нарисовать картинку для первой сцены. Просто сделал набросок, как мог… Посмотрев результат в игре я понял, что нужно рисовать дальше…

Я осознавал, что я не художник, и поэтому я решил обратить этот недостаток в достоинство, выбрав в качестве иллюстраций простые наброски… Подтверждение того, что идея может сработать, я обнаружил в детской книге про медвежонка Паддингтона, которую я купил для своей дочки, и в которой было полно подобных простеньких рисунков. Они смотрелись вполне гармонично, не смотря на примитивизм, и даже обладали каким-то своим шармом. Я стал рисовать и игра, по мере заполнения её простыми черно-белыми набросками, стала походить на книжку с авторскими (какими они, собственно, и являлись) рисунками. В некоторых случаях я брал фотографии и стилизовал их под наброски, сначала выделяя границы в gimp, а затем прорисовывая и корректируя их руками.

Для этого использовалась следующая нехитрая техника:

1.Создать копию слоя.
2.На верхнем слое: инвертировать цвет.
3.Гауссовое размытие верхнего слоя.
4.50% прозрачности верхнего слоя.
5.Объеденить видимые слои.
6.Порог.
7.Ручная работа.

Первоначально я не собирался рисовать картинку для каждой сцены, но рисование так сильно меня захватило, что в некоторых случаях я рисовал даже по нескольку кадров на сцену — добиваясь эффекта простой анимации.

Параллельно шла работа над графической средой, которая действительно оказалась довольно простой в реализации. Всего менее четырех с половиной тысяч строк кода на C. Это было гораздо проще всего того, что я видел.

В конце встал вопрос по поводу оформления интерфейса моей первой игры. Для рисования графических элементов я использовал Inkscape, который успел полюбить при разработке прошлой SDL игры — Color Lines. Основной проблемой стал подбор удачной подложки под текст и графику. Изначально я думал использовать просто белый фон, да и картинки были нарисованы с учётом белого фона. Но посидев пару часов со своим другом Сергеем, была выбрана подложка в виде старой книжной страницы для текста и ещё одна замысловатая текстура — для подложки под инвентарь. Правда возникла проблема — наброски были нарисованы на белом фоне и просто так рисовать их поверх текстуры было нельзя. Но, как оказалось, в gimp это решалось очень просто — переводом слоя в альфа-канал. (Слой->Прозрачность->Цвет в альфа-канал). Результат нам очень понравился.

#Звук

Примерно в это время команда с http://websound.ru выпустила диск ремэйков олдскул треков — reTracked #2 http://retracked.org Закачав его в свою Nokia N800 я был очарован композицией Liberty. Я и раньше подумывал о звуковом сопровождении игры, но теперь я знал точно, что будет играть в последней сцене.

Итак, для музыкального сопровождения я искал старые олдскульные модули и пытался осмысленно их распределить по эпизодам моей первой истории. Со стороны движка никаких сложностей не было, библиотека SDL-mixer умеет играть модули практически всех форматов.

# Эффект LOR

Несколько недель я дорисовывал графику, подбирал музыку и проходил снова и снова свой квест, пока мне не начало казаться, что это груда хлама. И тогда я понял, что пора ставить точку. Я хотел, чтобы в мою игру поиграли люди.

Небольшое сообщество, собранное вокруг IF игр в России это в основном Windows пользователи, и я собирался попросить кого-нибудь портировать мою игрушку под эту систему, сам я не использовал Windows с тех пор, когда перестал под неё программировать. Теоретически, процесс обещал быть простым — SDL и lua — кросс платформенные вещи и давно собраны для Windows. Но так вышло, что единственный знакомый мне Windows программист (кстати, он же портировал Color Lines) был занят другими делами и я, сделав тарболл, просто выложил его на страничку, быстро созданную на google sites. Потом я кинул ссылку на linux.org.ru и уехал домой.

Результат меня поразил. Посетители linux.org.ru пробовали мою игру и она им нравилась! Вы должны знать особенности данного ресурса, чтобы понять, что это означало для меня. Фактически, не было ни одного негативного отзыва. Люди играли в мою игру! Конечно те, кто так или иначе были знакомы с жанром, но все-таки это было неожиданно. В результате превышения трафика (я так и не нашел информации, какая именно граница считается у них лимитирующей) google sites временно отключил мою страничку и мне пришлось переносить проект в google code http://instead.googlecode.com и на всякий случай — на sourceforge. Потом, несколько человек писали мне в jabber и я исправил несколько ошибок в движке.

# Что дальше?

Instead — так я назвал платформу, легко собирается в Unix среде, например, практически без изменений он собрался для Nokia N8XX, но все-еще не собран для Windows пользователей. Я думаю, что рано или поздно версия для Windows должна появиться, но пока её нет. Что касается развития платформы, то я придерживаюсь той мысли, что платформа это средство, а не цель. Главное — это интересная история. Движок — всего лишь способ запустить игру. Если найдутся люди, которые напишут что-нибудь на instead, и потребуется расширение возможностей движка — они будут расширены.

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

# Re: Тарковский о Каннском кинофестивале
std.club
Andrew Lobanov(tavern,1) — Peter
2020-08-05 04:38:01


Peter> Прочитал тут интересную статью с воспоминаниями о том, как снимался "Солярис".
Peter> https://old.kinoart.ru/archive/2002/04/n4-article16
Peter> Там много интересного, но решил выделить особо мнение о Каннском кинофестивале. В нём отчётливо слышится разочарование "пластмассовым миром", который добрался и до искусства. :)

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

С другой стороны, а какая разница? Хорошие фильмы никто не отнимает у нас. Как и хорошую литературу. А массовое всегда будет блестящее, плстмассовое и с резким вкусом синтетики.

# Тарковский о массовости
std.club
Peter(syscall,1) — All
2020-08-03 22:09:21


> Конечно, здесь может возникнуть проблема зрительского восприятия картины: будет ли она интересна и понятна всем? Но я давно не верю в то, что можно сделать какой-то фильм, всеми адекватно воспринимаемый. Мне кажется, глубоко ошибочно считать, что чем большее количество людей посмотрели фильм, тем лучше. Для кого? Для чего лучше? Для фильма? Можно согласиться только с тем, что это лучше для кассы. Это правда! Но здесь-то и возникает проблема подлинного художественного творчества в условиях кинорынка: совершенно ясно, что с одинаковым успехом воспринимается лишь общепринятое.

> ...

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

> Однако художник, претендующий на создание подлинного искусства, а не коммерческих поделок, может и должен рассчитывать на свою, пускай и ограниченную, но собственную аудиторию, что и является условием существования художника как индивидуальности. Между прочим, «Солярис» собрал 100 тысяч зрителей. Считается, что это неожиданно много. А, собственно, почему?

https://kinoart.ru/texts/andrey-tarkovskiy-o-tom-kak-on-hotel-snyat-film-zerkalo

# Тарковский о Каннском кинофестивале
std.club
Peter(syscall,1) — All
2020-08-03 19:43:46


Прочитал тут интересную статью с воспоминаниями о том, как снимался "Солярис".

https://old.kinoart.ru/archive/2002/04/n4-article16

Там много интересного, но решил выделить особо мнение о Каннском кинофестивале. В нём отчётливо слышится разочарование "пластмассовым миром", который добрался и до искусства. :)

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

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

> В такой ситуации, скажем, Феллини оказывается ниже, чем другие режиссеры, предпочитающие не участвовать в фестивалях. Я сам все более укрепляюсь в мысли, что на фестивали вообще не следует ездить, настолько все это отвратительно: то же самое, что и у нас, буквально поговорить не с кем.

> Теперь в моду вошел «политический кинематограф». То есть раньше спекулировали на «трогательных« детских сценах, а теперь спекулируют на политике. Итальянские политические фильмы, которые делаются на американские деньги, — ну разве это не смешно! Та же самая коммерция!

> Нет, не понравилась мне вся эта история — все дешевка! В этом смысле я получил буквально ошеломляющее впечатление: ну хоть бы один серьезный вопрос! По поводу «Соляриса» только одно и волновало: антикубриковская ли это картина? Повсюду один и тот же вопрос. Ну что это такое?

> Времена меняются. Если теперь мне даже предложат снимать «Белый, белый день», то я откажусь: я уже другой человек, а через два года, пока сниму фильм, и вовсе будет поздно.

# Передизайнил клуб
std.club
Peter(syscall,1) — All
2020-05-08 15:51:38


Как-то приелся старый вид, переколбасил дизайн. Голубой цвет взял у Роминой ноды, очень мне этот цвет нравился. Короче, стало повеселее.

Конечно, все там на соплях, но переписывать всю ноду целиком нет ни сил, ни времени. )

Сделал еще псевдо-эху "личное", теперь личные сообщения не пропадут, даже если отпишешься от приватной эхи.

Хотел ещё фоновую картинку сменить, да не нашёл ничего лучше.

Теперь страничка более менее смотрится в eww и netsurf.

# Re: INSTEAD для Linux в формате AppImage
std.club
Peter(syscall,1) — btimofeev
2020-04-23 14:43:44


> В инстеде из аура нормальный диалог и сообщения этого при запуске нет.

В общем, надо разбираться.

# Re: INSTEAD для Linux в формате AppImage
std.club
btimofeev(tavern,13) — Peter
2020-04-23 14:29:30


> Интерено, у меня нормально выглядит. Но я запускал из GNOME3, а у тебя i3? Можешь посмотреть как другие gtk3 диалоги выглядят? Например, в evince?

В инстеде из аура нормальный диалог и сообщения этого при запуске нет.

# Re: INSTEAD для Linux в формате AppImage
std.club
Peter(syscall,1) — btimofeev
2020-04-22 16:25:23


> Gtk-Message: 17:36:30.216: Failed to load module "canberra-gtk-module"

У меня тоже на арче такое вылезло.

> И GTK диалог выбора игры выглядит страшновато, вот скрин http://0x0.st/ij8C.png При этом в консоль
> сыпет кучу ошибок (на фоне скрина).

Интерено, у меня нормально выглядит. Но я запускал из GNOME3, а у тебя i3? Можешь посмотреть как другие gtk3 диалоги выглядят? Например, в evince?

# Re: INSTEAD для Linux в формате AppImage
std.club
btimofeev(tavern,13) — Peter
2020-04-22 16:05:11


У меня в арче запустился и работает, но при запуске выдал вот такой ворнинг:

Gtk-Message: 17:36:30.216: Failed to load module "canberra-gtk-module"

И GTK диалог выбора игры выглядит страшновато, вот скрин http://0x0.st/ij8C.png При этом в консоль сыпет кучу ошибок (на фоне скрина).

# INSTEAD для Linux в формате AppImage
std.club
Peter(syscall,1) — All
2020-04-22 12:06:08


Собран экспериментальный портативный INSTEAD для Linux (AppImage). Прошу всех заинтересованных потестировать: https://github.com/instead-hub/instead/releases/download/3.3.2/INSTEAD-3.3.2-x86_64.AppImage

# Изменения на syscall.ru
std.club
Peter(syscall,1) — All
2020-04-19 17:01:27


1) Удалены следующие эхи:

- obsd.11;
- std.bugs;
- openbsd.talk;
- gk11.ru.

2) Добавлена эха (пока пустая) std.hugeping. -- Это будет мой личный блог. Зачем я его сделал - напишу постом отдельно.

# INSTEAD 3.3.2
std.club
Peter(syscall,1) — All
2020-04-19 11:13:17


Выпустил INSTEAD 3.3.2

Список изменений:

- исправлен параметр -lua;
- исправлена работа в некоторых оконных менеджерах (минимизация);
- исправлена логика анимированных gif (совместная работа с декораторами);
- сборка с gtk3 больше не дает предупреждений;
- начальная поддержка геймпадов;
- добавлены функции utf8_XXX;
- loadstring не позволяет выполнять скомпилированный байткод;
- отладчик stead3 позволяет использовать системную раскладку;
- улучшения в документации.

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

# Re: Запустить Caesium под Виндой
std.club
Andrew Lobanov(tavern,1) — vit01
2020-01-19 05:00:38


vit01> Всех этих вещей вместе взятых. А ради виндузятников лень напрягаться, просто потому что их тут не большинство.

Потому то их и меньшинство, что напрягаться для них никто не хочет :)

# Re: Запустить Caesium под Виндой
std.club
vit01(mira, 1) — libra
2020-01-18 13:15:04


vit01>> Актуальный Cutiefeed всегда лежит на Гитхабе, однако пашет нормально только на линуксах. Он, конечно, ужасен, но уже получше :)
vit01>> Давно хочу переписать всё это дело на другом тулките и сделать дизайн как в IDEC Mobile, но постоянно сталкиваюсь с трудностями и так и не могу сделать какой-то рабочий прототип.

libra> А в чём стреляют сложности?! Наличие машины на винде?! Среды для компилинга?! Времени?! Желания?! Силы?!

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

Насчёт тулкитов есть вполне определённые причины. Я пробовал много всяких штукенций, но требованиям к поддержке разных систем и по дизайну удовлетворяет только Qt + QML

Однако, в QML есть немало трудностей

1. Нет концепции "фрагментов" для избежания дублирования кода и адаптивного дизайна. Есть некоторые базовые штуки в плане дизайна, но там многое надо реализовывать с нуля

2. В IDEC Mobile список эх и список сообщений полностью полагаются на компонент RecyclerView https://developer.android.com/guide/topics/ui/layout/recyclerview , который позволяет не жрать память на больших объёмах информации и запрашивать данные из БД только по мере необходимости. Для эх с >100 сообщениями такая штука просто необходима. Иначе придётся либо уменьшать количество фич, либо делать не слишком отзывчивый в плане производительности клиент.

3. Нашёл достаточно трудным связывать GUI c реальным кодом в Qt + QML, плюс так и не представляю до сих пор, как без костылей создавать приложения с несколькими экранами

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Запустить Caesium под Виндой
std.club
libra(wonderland,1) — vit01
2020-01-15 15:44:40


vit01> Актуальный Cutiefeed всегда лежит на Гитхабе, однако пашет нормально только на линуксах. Он, конечно, ужасен, но уже получше :)

vit01> Давно хочу переписать всё это дело на другом тулките и сделать дизайн как в IDEC Mobile, но постоянно сталкиваюсь с трудностями и так и не могу сделать какой-то рабочий прототип.

А в чём стреляют сложности?! Наличие машины на винде?! Среды для компилинга?! Времени?! Желания?! Силы?!

А то, мощности с виндовсами есть вроде как. Доступы/права/etc могу вполне нарисовать.

+++ idec mobile
+++ Делай, получится!!!

# Re: А то, что так тихо...
std.club
libra(wonderland,1) — Difrex
2020-01-12 16:30:37


>> Что сказал дедушка Столлман? :)
Difrex> Заполучил автограф на ноут ^_^
Difrex> Хреновые фотки: https://cloud2.difrex.ru/index.php/s/Qgt2rPv7t3ga2Pa

А у вас ЛетсЭнкрипт убежало ))))

+++ Caesium/0.4 RC1
+++ Мы знаем, что, что-то знаем, но не знаем что знаем

# Re: Кончилось место на станции
std.club
libra(wonderland,1) — Peter
2020-01-12 16:30:36


Peter> Тут снова место на станции кончилось. Так что некоторые профайлы могли полететь (список подписок в доступе через веб). Извините. :)

А вот чего... теперь понятно, почему не получалось у меня пройти аутентификацию
через по имеющимся login/auth в web на std.syscall.ru?
Или это к делу не относится?! Или же ты вообще запретил хождение через веб?
Или просто пропал мой поинт?

+++ Caesium/0.4 RC1
+++ Иногда кроличья нора, это просто кроличья нора...

# Из интервью А. Тарковского
std.club
Peter(syscall,1) — All
2019-12-24 15:25:42


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

https://meduza.io/feature/2019/12/24/vseh-moih-geroev-ob-edinyaet-odna-strast-k-preodoleniyu

# Re: Игра, где можно всё.
std.club
vmg(syscall,52) — Peter
2019-12-20 16:30:56


Мне там больше всего понравилось, как построчно высвечивается текст :) На самом деле, это всё. Идея, что машина станет выдумывать сценарий игры, мне не нравится. Люди уже сейчас жалеют о творчестве (фильмах, играх, музыке), созданной даже в недалёких семидесятых-восьмидесятых. Тогда люди были вдохновлены, чего-то хотели и во что-то верили. Поэтому ручной дремучий труд остаётся углём, от которого -- даст Бог -- разгорится большой очаг.

# Re: Игра, где можно всё.
std.club
Peter(syscall,1) — Peter
2019-12-20 07:15:24


P.S. На этом месте я хотел было начать брюзжать, что никогда ии не заменит творчество автора, но потом успокоился. Кто его знает, что будет. Может быть как инструмент художника нейросети и будут широко использоваться, кто знает.. Ну и главное, с технологиями интересно играть.

# Re: Игра, где можно всё.
std.club
Peter(syscall,1) — vmg
2019-12-20 07:13:10


vmg> Сегодня промелькнула новость об игре, где, по утверждению автора, можно всё, что-угодно.
vmg> Ссылку на новость в Яндексе уже не найду, но
vmg> 1. Вот ссылка на обзор: https://habr.com/ru/news/t/479956/

Ага, что то такое проскакивало. Детально не смотрел, но вроде бы было прикольно. Правда, я смотрел парсерный вариант. А по твоей ссылке была игра с выборами.

Конечно, у нас более дремучие технологии. Ручной труд и все такое. :) Но интересно, что будет дальше....

# Игра, где можно всё.
std.club
vmg(syscall,52) — All
2019-12-17 21:16:50


Привет всем.
Сегодня промелькнула новость об игре, где, по утверждению автора, можно всё, что-угодно.
Ссылку на новость в Яндексе уже не найду, но
1. Вот ссылка на обзор: https://habr.com/ru/news/t/479956/
2. Вот — на игру (или одну из игр: я там ещё не разобрался): https://ai-adventure.appspot.com/
Инглиш у меня лишь в процессе, поэтому прохождение затянется.
Подумал, может нас это заинтересует. Там чё-то нейросеть куда-то, вместо чего-то... )) Короче, разберёмся.

# Кончилось место на станции
std.club
Peter(syscall,1) — All
2019-11-23 16:04:49


Тут снова место на станции кончилось. Так что некоторые профайлы могли полететь (список подписок в доступе через веб). Извините. :)

# Re: Запустить Caesium под Виндой
std.club
Andrew Lobanov(tavern,1) — z-Hunter
2019-11-05 08:01:45


>> Напрямую его не запустишь в винде. Можно запустить через cygwin
z-Hunter> А есть где-то какой-то FAQ, как, не вдаваясь в детали, запустить через Cygwin?

Вот обещанная инструкция:

1. Качаем https://cygwin.com/setup-x86_64.exe (https://cygwin.com/setup-x86.exe для 32-битной винды) и запускаем.
2. Выбираем установку из интернета (далее отвечаем на тривиальные вопросы о путях установки и настройках прокси-сервера, выбираем зеркало).
3. Выбор пакетов. Необходимо установить следующие пакеты: git, python3, ncurses, nano (в окне выбора пакетов есть поиск).
4. После запусска терминала необходимо клонировать актуальную версию caesium:
$ git clone https://github.com/idec-net/caesium.git
5. После этого достаточно зайти в директорию цезия и запустить его:
cd caesium
./caesium.py

Редактировать конфигурационный файл можно либо нажав E в цезии, либо напрямую:
$ nano caesium/caesium.cfg

Не очень удобно, но пользоваться можно :)

# Re: Запустить Caesium под Виндой
std.club
Andrew Lobanov(tavern,1) — z-Hunter
2019-11-04 12:33:40


>> Напрямую его не запустишь в винде. Можно запустить через cygwin
z-Hunter> А есть где-то какой-то FAQ, как, не вдаваясь в детали, запустить через Cygwin?

FAQ никто не писал, вроде бы. Если интересует, я могу написать инструкцию по запуску Caesium через Cygwin, но только завтра. Дома нет машин с виндой а то.

# Re: Запустить Caesium под Виндой
std.club
vit01(mira, 1) — z-Hunter
2019-11-03 17:19:37


z-Hunter> Привет всем!

Привет

z-Hunter> Поскольку Cutiefeed ужасен, и только из-за него так и не смог заставить себя регулярно юзать IDEC, попытался запустить Цезий.

Ты юзал старую сборку для винды с сайта? Она несколько релизов не обновлялась вообще (и не обновляется до сих пор) по одной простой причине - у меня нет винды.

Актуальный Cutiefeed всегда лежит на Гитхабе, однако пашет нормально только на линуксах. Он, конечно, ужасен, но уже получше :)

Давно хочу переписать всё это дело на другом тулките и сделать дизайн как в IDEC Mobile, но постоянно сталкиваюсь с трудностями и так и не могу сделать какой-то рабочий прототип.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Запустить Caesium под Виндой
std.club
z-Hunter(syscall,10) — btimofeev
2019-11-03 16:19:21


>Напрямую его не запустишь в винде. Можно запустить через cygwin

А есть где-то какой-то FAQ, как, не вдаваясь в детали, запустить через Cygwin?

# Re: Запустить Caesium под Виндой
std.club
btimofeev(tavern,13) — z-Hunter
2019-11-03 06:14:37


Напрямую его не запустишь в винде. Можно запустить через cygwin, это такое unix-окружение для винды. Либо в 10 есть некоторый слой совместимости с линуксом https://docs.microsoft.com/ru-ru/windows/wsl/install-win10, там наверное будет работать.