RSS
Pages: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39
[>] Тарковский о Каннском кинофестивале
std.club
Peter(syscall,1) — All
2020-08-03 22:43:46


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

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

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

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

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

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

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

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

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

[>] Тарковский о массовости
std.club
Peter(syscall,1) — All
2020-08-04 01:09:21


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

> ...

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

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

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

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


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

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

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

[>] Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — All
2020-09-09 09: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: Сказки про INSTEAD: как всё начиналось
std.club
hugeping(ping,1) — hugeping
2020-09-09 09:29:00


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

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


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

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


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

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

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

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

[>] Re: Ленты RSS в клубе
std.club
hugeping(ping,1) — Peter
2020-09-09 12: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

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


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

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

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

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

[>] Подкасы переехали на soundcloud
std.club
hugeping(ping,1) — hugeping
2020-09-10 23:00:10


В связи с переездом все подкасты INSTEAD перенесены сюда: https://soundcloud.com/hugeping

[>] Re: Подкасы переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-11 22:52:05


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

[>] Re: Подкасы переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-11 22:59:12


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

Я честно говоря не знаю что и как там делать. И немного побаиваюсь vk. :) Пусть пока в soundcloud полежат. Тем более, что уже неактуальны.

[>] Re: Подкасы переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-11 23:08:17


Ну я загружу туда. Всё равно можно записать автора. Запишу "INSTEAD сообщество" и т.п. В группе инстеда в ВК можно добавить как в альбом сообщества.

[>] Re: Подкасы переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-11 23:24:03


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

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

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

[>] Re: Подкасы переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-11 23:41:13


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

[>] Re: Подкасы переехали на soundcloud
std.club
artur(ping,3) — hugeping
2020-09-11 23:41:57


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

[>] Re: Спойлеры в клубе
std.club
boscholeg(ping,5) — hugeping
2020-09-12 00:18:47


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

[>] Re: Подкасы переехали на soundcloud
std.club
hugeping(ping,1) — artur
2020-09-12 00:19:57


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

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

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

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

[>] Re: Спойлеры в клубе
std.club
hugeping(ping,1) — boscholeg
2020-09-12 00:20:35


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

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

[>] Re: Подкасы переехали на soundcloud
std.club
vmg(tavern,32) — hugeping
2020-09-12 11:21:14


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

Ты не принадлежишь к телу, друг? Тело едино, так говорит Лэндрю! © «Star Trek»

[>] Re: Подкасы переехали на soundcloud
std.club
Andrew Lobanov(tavern,1) — hugeping
2020-09-12 12:40:49


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

Однако, юбилейный подкаст очень классный был :)

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


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

[>] Модуль xrefs: ещё один интерфейс для INSTEAD игр
std.club
hugeping(ping,1) — All
2020-11-21 19: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, затем две клавиши по очереди, которые соответствуют предметам.

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

[>] Модуль extlibs: частичка метапарсера для классики
std.club
hugeping(ping,1) — All
2020-11-22 12: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

[>] Официальный и неофициальный чаты INSTEAD
std.club
hugeping(ping,1) — All
2020-11-23 00:11:06


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

https://t.me/insteadchat

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

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


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

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


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

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

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

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


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

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

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

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


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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

Все вопросы, на которые вы не нашли ответ в правилах, можно задавать напрямую организатору (это я, если кто-то до сих пор не понял 😉) на https://discord.gg/5MwVHu9J5s 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 и проголосовавшие за игры.

Призы: 13000 рублей победителю в номинации «Выбор жюри».
4000 рублей победителю в номинации «Выбор игроков».
Призовой фонд формируется. Ищем спонсоров.

Связь с организатором (то есть мной) на канале #зок на 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 г. она не должна быть в открытом доступе.Вы можете, например, закрыть её паролем и открыть после начала конкурса. При этом, желательно, прислать пароль организатору вместе с заявкой. Чтобы у организатора была возможность ознакомиться с игрой и проверить на соответствие правилам конкурса заранее, а не в последние часы дедлайна.

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

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

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

Выбор жюри:
Призовой фонд: 13000 рублей (пока что) за первое место.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

[>] Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2020-12-09 21: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
2021-01-17 17:02:22


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

[>] МЕТАПАРСЕР 1.10
std.club
hugeping(ping,1) — All
2021-01-29 14: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-02-08 12:49:55


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

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

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

[>] INSTEAD 3.3.3
std.club
hugeping(ping,1) — All
2021-02-10 15: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: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-10 17:58:45


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

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

[>] Re: INSTEAD 3.3.3
std.club
hugeping(ping,1) — artur
2021-02-11 14:15:36


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

[>] Re: INSTEAD 3.3.3
std.club
artur(ping,3) — hugeping
2021-02-11 22:23:40


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

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


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

[>] Re: Зимняя Олимпиада Квестов 20-21!
std.club
Enola(ping,16) — Enola
2021-03-01 11: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

[>] CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
hugeping(ping,1) — All
2021-03-22 22: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: CYOA и линейность -- поиск идеального инструмента для написания историй
std.club
vvs(ping,12) — hugeping
2021-03-23 01:28:33


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

[>] Новости с INSTEAD фронта
std.club
hugeping(ping,1) — All
2021-05-14 20: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 доставляет радость не только мне. :) А пластмассовый мир пусть идёт лесом.

Pages: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39