Студия Inkle открыла скриптовый язык игр 80 Days и Sorcery

Студия Inkle Studios отметила неделю перед GDC выпуском скриптового языка Ink под открытой лицензией (MIT).



Inkle Studios — это студия-разработчик игр Sorcery! (компьютерный порт) и 80 Days, а также онлайн-платформы Inklewriter. Игра 80 Days выиграла множество наград, включая награду за превосходство в повествовании IGF 2015.

Альфа-релиз движка Ink, выложенный сегодня на Github — это последняя версия скриптового языка (с акцентом на диалогах), на котором работают обе игры, при этом компилятор был переписан на C#, чтобы его можно было встраивать в Unity. (Его также можно использовать отдельно как обычное приложение на C#)

Обучающие материалы доступны на сайте студии в разделе Ink. Также один из основателей компании Joseph Humfrey будет рассказывать в своём докладе об этом языке на своём выступлении в рамках GDC 2016 в следующую субботу.

Выступления GDC иногда появляются в сети от случайных посетителей, снимающих на видео, но шансы на это для нишевых докладов довольно малы. Скорее всего, оно будет снято на видео самими организаторами и выложено сразу после окончания конференции (в этом году после 20 марта) в раздел видеовыступлений GDC Vault (доступ платный, $495 в год на человека). Если повезёт, то доклад будет выложен там же в бесплатном доступе.

66 комментариев

Gudleifr
Почему я против подобного приумножения мусора?
Очень немногие из современных «программистов» понимают, что для написания программы нужно сделать три вещи: 1) решить, собственно, задачу; 2) записать решение на формальном языке; 3) запустить программу. Разброс умений — от высшей математики до обычной эрудиции. И вечная быдлокодерская мечта — объединить эти три штуки в одном флаконе, на уровне «хочу». И сейчас мы имеем дело уже далеко не с первым поколением кодеров, которые живут в искусственном мире обезьянников, построенных теми, кто сам жил в обезьяннике. И вот, ура,- еще один обезьянник!
lukyuk
Попробуй всё-же представить что игры пишут не программисты. Программисты пишут движки для тех, кто пишет игры. Такие прогрессивные штуки(им сто лет в обед) — разделение данных и кода, наглядное представление данных, работающие программы, движок этого блога, на котором может оставить своё имхо даже человек ни разу не учившийся в Бауманке.
Gudleifr
> Попробуй всё-же представить что игры пишут не программисты.
Давно ждал этого поста. Кто же пишет игры? Я могу представить два варианта.

1. Художник (литератор, творец, короче, «лирик»), которому хочется выразить свою сверхидею в «игровой форме» — «живой картины», «интерактивной книги» или «Галатеи» какую-нибудь… И он берет инструмент и ваяет… Пардон, что получиться, если инструмент ему незнаком? Получиться «превращение книги в диафильм» — чисто технический перенос произведения с одного носителя на другой. С потерей львиной доли художественного замысла. Так что представить художника задумавшего оживить свое полотно и не понимающего возможностей и ограничений процесса до последней, в данном случае, теоремы о Машине Тьюринга, я не могу.

2. Программист (технарь, «физик») превращающий свою работу в игру. Например, я. Можно видеть, как я мучился с утилизацией книг-игр, пытаясь выдавить из них нечто большее, чем «инструкция по применению»… Не смог. Получается, что все самое интересное начинается только после того, как я отказываюсь от построения «текстового лабиринта» и перехожу к операциями работы над текстом в целом — от вероятностного представления произведения до преобразований смыслов.

В обоих случаях я получаю одно — программа проигрывания игры есть нечто столь же уникальное, как и само произведение. Его неотъемлемая часть. Творить, заполняя слоты заранее заготовленных фреймов, нельзя. Это обычная песочница, в которую, может, и интересно играть автору, но совершенно невозможно показать кому-то за пределами движухи. Это, как продавать запись своей игры в TALISMAN или X-Com. Конечно продают (помните опус Васильева?), но это безнадежно скучно.
lukyuk
И какие же книги-игры подвергались мучению?
Gudleifr
> И какие же книги-игры подвергались мучению?
Никакие. Мучился я их читая. Страниц этак десять. Весь джентльменский набор квестбука. От Браславского до Таро и Горохова… После десятка страниц переходил к чтению по-программистски — подряд и с рекурсией.

Специально, кстати, нашел Пандору и протащился от работы тамошнего программиста — он так хорошо сработал, что для игры не нужен компьютер. Советую, кстати, посмотреть любителям «проигрывателей».
lukyuk
Кстати, где ты углядел «слоты заранее заготовленных фреймов»?
Песочницу, кстати, весьма уважал Уэллс.
Gudleifr
В любом проигрывателе. И, самое неприяное, в самом программировании проигрывателей.

> Песочницу, кстати, весьма уважал Уэллс.
Пардон, я имел в виду «песочницу» в плохом — компьютерном — смысле этого слова.
lukyuk
«В любом проигрывателе. И, самое неприяное, в самом программировании проигрывателей.»
А вот это очень похоже на досаду от того, что буквы в книге находятся на странице а не порхают вокруг. Проигрыватели-же шагнули далеко вперёд и позволяют жонглировать фреймами весьма ловко. Например — квесты КР. Или грядущая АХМА 4.5
Gudleifr
> А вот это очень похоже на досаду от того, что буквы в книге находятся на странице а не порхают вокруг.
Ну, как бы, если я примерно представляю, как заставить их «порхать», то мне хочется видеть наглядные подтверждения «жонглирования». Например, примеры применения унификации фреймов.
Gudleifr
> ifhub.ru/blog/ifdevel/25.html
А при чем тут обсуждение кривизны хостинга?
lukyuk
немного выше обсуждения. картинка.
Gudleifr
> немного выше обсуждения. картинка.
И что она символизирует?
lukyuk
она не символизирует. она демонстрирует пример унификации фреймов.
Gudleifr
> она демонстрирует пример унификации фреймов.
Боюсь, либо Вы что-то путаете, либо я чего-то не замечаю.
lukyuk
Ага, очень многого вы не замечаете. Фреймы, они не всегда рамкой выделены.
Gudleifr
> Фреймы, они не всегда рамкой выделены.
Теперь понятно. «Унификация фреймов» это немного не про то. Не про графические фреймы, а про представления состояний системы.
spline
Зачем нам фреймы для представления состояний системы, когда есть машины состояний?
Gudleifr
> Зачем нам фреймы для представления состояний системы, когда есть машины состояний?
Это приерно, как спросить: «Зачем нам двигатель внутреннего сгорания, если есть колеса?» Фрейм — это просто общее слово для обозначения любой структуры данных (структуры, объекта, параграфа книги-игры, состояния «двига»...). Машины состояний — это лишь удобное средство обработки простых грамматик, т.е. вопрос организации кода. «Зачем данные, если есть код? Наверное, чтобы коду было что жевать».
spline
Странная у вас терминология. Впрочем, как вообще взгляд на жизнь.
Gudleifr
> Странная у вас терминология.
Я же предупреждал: изнутри системы вам очень плохо видна настоящая жизнь.
spline
Осталось выяснить о какой системе речь. Потому как я ни к ИЛ не имею отношения ни к геймдеву. Ни даже к программированию.
Gudleifr
> Осталось выяснить о какой системе речь.
О системе местного «форумного планктона». Если Вас не интересует ИЛ, то зачем флудить именно здесь?
spline
>О системе местного «форумного планктона».
Опять мимо кассы. Я не сижу на форумах. Да и форумные посиделки к автоматизации или программированию отношения не имеют. Так что давай уже соберись и подумай перед ответом.
Gudleifr
> Я не сижу на форумах.
А этот флуд в количестве трех десятков сообщений нам мерещится?
spline
Ну тогда встречный вопрос: почему же ты исключаешь себя из системы «форумного планктона», если флудишь здесь же?
Gudleifr
С каких это пор честные и полные ответы на прямые вопросы считаются флудом?
spline
Примерно с тех же пор, когда выпячивание ЧСВ и воду начали считать вообще ответами. Я уж молчу про полные и прямые.
Gudleifr
> ЧСВ и воду… Я уж молчу про полные и прямые.
Ничего из этого не было. Или Вы можете привести пример?
spline
Промотай страничку вверх и перечитай свои сообщения. Хотя, изнутри системы интернет-троллей это может быть и незаметно, конечно.
Gudleifr
> Промотай страничку вверх и перечитай свои сообщения.
И что? Где вода? Еде ЧСВ? Где хоть один неотвеченный вопрос? Вы можете привести хоть один конкретный пример?
spline
Весь тред — один большой пример. Как, впрочем, и все твои комментарии. Если ты бревна в своём глазу не видишь, то почему я должен тебе на него указывать?
Gudleifr
> почему я должен тебе на него указывать?
Вы говорите, что «что-то» есть, я — что «его» нет. Если «оно» действительно есть, то Вы, видимо, можете «его» показать. Я показать того, что нет, не могу, т.к. показывать нечего. Логично?

Впрочем…
> Как, впрочем, и все твои комментарии.
Рассмотрим последний:
>> И что? Где вода? Где ЧСВ? Где хоть один неотвеченный вопрос?
И что? Где вода? Где ЧСВ? Где хоть один неотвеченный вопрос?
spline
>Вы говорите, что «что-то» есть, я — что «его» нет. Если «оно» действительно есть, то Вы, видимо, можете «его» показать. Я показать того, что нет, не могу, т.к. показывать нечего. Логично?
Логично, но где была эта логика, когда я просил показать твои труды на ниве ИЛ? Примерно там же, где и в данном случае. Так что не считается.
Gudleifr
> когда я просил показать твои труды на ниве ИЛ?
Я дал ссылку.
spline
Ссылку ты не давал. Ты сказал, что её можно найти. Это не одно и то же. Это раз. На том сайте надо обладать какими-то особенными расстройствами психики, чтобы найти инфу не по солдатикам. Раз нигде ничего кроме солдатиков там не опоминается, то про ИЛ тоже. Я вполне допускаю, что я не прав, но ты для начала хоть одну ссылку на конкретные работы дай.
Gudleifr
То что Вам не нравится ссылка не значит, что я ее не давал.
spline
Ты дал ссылку, но не на то, что от тебя просили. В подтверждение своей точки зрения я могу дать ссылку www.wikipedia.org/ Она совершенно не относится к делу, но то, что она не нравится Вам не значит, что я её не давал.
Gudleifr
> Ты дал ссылку, но не на то, что от тебя просили.
Уточните запрос. Одно дело, если Вас интересует что-то конкретное, другое, если Вы пытаетесь доказать, что я пытаюсь от Вас что-то скрыть.
Чтобы пропустить ваш следующий очевидный пост, мол, прошу просто ИЛ, приведу самые очевидные материалы по «книгам-играм», которые расположены на моей страничке. Ссылки посмотрите по оглавлению.

Моя статья о книгах-играх: МАТЕМАТИКА В КНИГРАХ
Огрызки, не вошедшие в статью: ОГРЫЗКИ МЫСЛЕЙ О КНИГАХ-ИГРАХ С ФОРУМА MYQUEST

Показавшиеся уместными работы классиков жанра (почемы-то тщательно избеганмые современными поклонниками жанра):
ЭКО УМБЕРТО / ОТ ИНТЕРНЕТА К ГУТТЕНБЕРГУ: ТЕКСТ И ГИПЕРТЕКСТ
ХОРХЕ ЛУИС БОРХЕС / АНАЛИЗ ТВОРЧЕСТВА ГЕРБЕРТА КУЭЙНА / 1941
ХОРХЕ ЛУИС БОРХЕС / САД РАСХОДЯЩИХСЯ ТРОПОК / 1941
ЛЕМ СТАНИСЛАВ / СДЕЛАЙ КНИГУ САМ / 1971
ГЮНТЕР КАРАУ / ДВОЙНАЯ ИГРА
ДЖОН БРАННЕР / КВАДРАТЫ ШАХМАТНОГО ГОРОДА
О ВОЛШЕБНЫХ СКАЗКАХ (В. Пропп)
ТЕХНИКА-МОЛОДЕЖИ / КЛУБ ЭЛЕКТРОННЫХ ИГР (М.Пухов)
ПРИКЛЮЧЕНИЯ ПАНДОРЫ (ARES MAGAZINE ##02, 06)

Недописанные заметки по смежным вопросам: ЕЩЕ ПРО ТО, КАК ЭТО ДЕЛАЕТСЯ…

Кое-что по мелочам…
Например, в НА САМОМ ДЕЛЕ ВСЕ БЫЛО СОВСЕМ ПО-ДРУГОМУ… (X-Com)

Повторяю, если Вас интересует что-то конкретное, спрашивайте.
spline
То есть никакого опыта в создании ифни не имеется/не сохранено? Я, конечно, дико извиняюсь, но в таком ракурсе это всё выглядит как диванная критика. К тому же в излишне многословной оболочке (это я про то, что куча неуместных оборотов, которые не передают полезной информации, но в тексте присутствуют).
Gudleifr
> То есть никакого опыта в создании ифни не имеется/не сохранено?
>> Я никаким местом не писатель…
>> Я тупо коллекционирую игрушки и изготавливаю недостающие или утерянные «детали».
Странно да?

> Я, конечно, дико извиняюсь, но в таком ракурсе это всё выглядит как диванная критика.
Я делаю то, что мне интересно.
Создайте сайт или даже блог «недиванной критики». А то получается, что вы критикуете диванную критику… Из-по дивана?

> К тому же в излишне многословной оболочке…
Например? Или Вы так и не поняли ни строки из того, что я написал?
Gudleifr
P.S. Пересмотрел тему и родилась гипотеза: «водой» Вы называете любое суждению по делу. Видимо, здесь нормой является просто вброс информации без какой либо оценки, окромя «ВАУ!»
Кстати. Но, если, Вы хотите понять, что такое «вода» — скачайте 400 с лишним страниц по выложенной выше ссылке.
spline
Из того, что Вы написали, я понял достаточно, чтобы понять, что Вы судите без малейшего опыта в этой области. Может, я чего в жизни не понимаю, но именно это называется диванной критикой (как пьяные работяги с завода, которые под водочку рассуждают о политике и экономике).

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

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

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

Уф-ф. Извиняюсь за объём сообщения, но хотелось охватить все свои соображения.
Gudleifr
> Из того, что Вы написали, я понял достаточно, чтобы понять, что Вы судите без малейшего опыта в этой области.
Примерно равного Вашему возрасту.

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

> Если по теме новости, то ещё один движок это не плохо и не хорошо.
Это Вы от недостатка опыта.

> Если он чего-либо стоит или займёт пустующую нишу, то выживет и разовьётся.
Чаще наоборот. Рынок…

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

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

>Ну, так, как Вы не можете выбрать в моих текстах ни одного такого фрагмента, видимо, воды там нет.

Просто зачем копировать сюда все статьи целиком? Они уже и так есть.

>Это Вы от недостатка опыта.

Это из опыта. Если говорить о бизнесе, то побеждает то, что лучше пиарят (винда, веб2.0, бензиновые двигатели), а если о бесплатных хобби-проектах, то работает моя схема.

>Само наличие движка, стимулирующее «говорить» людей, которым нечего сказать, приносит огромный вред.

Дожить до седых мудей и не научиться не обращать внимание на ненужное это надо постараться. Тяжело Вам, наверное, живётся в мире, где у каждого есть рот, чтобы говорить людям, которым нечего сказать.
Gudleifr
> Если за 30 лет не написали ни одной иф-игры, то его нет.
Думаете, врачу обязательно переболеть всем, от чего он лечит?

> Просто зачем копировать сюда все статьи целиком?
Целиком не надо. Достаточно было бы маленького кусочка.

> Это из опыта.
Почитайте эти блоги и убедитесь: ничего стоящего тут нет, а «выживших» до фига.

> Тяжело Вам, наверное, живётся в мире, где у каждого есть рот, чтобы говорить людям, которым нечего сказать.
Что-то Вы не то сказали.
spline
>> Если за 30 лет не написали ни одной иф-игры, то его нет.
>Думаете, врачу обязательно переболеть всем, от чего он лечит?

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

>Что-то Вы не то сказали.

Просто если есть средства для того, чтобы люди, которым лучше молчать, могли говорить, то совсем не обязательно обращать на это внимание. И не важно что это за средства. Есть всякие фейсбуки, вконтакты, одноклассники и прочие твиттеры. И это фиговые средства, в которых могут высказывать своё мнение любые люди. И они высказывают, хотя я знаю многих, кто в других местах и не смог бы, пожалуй. Но это не значит, что стоит тратить свои драгоценные нервные клетки на мысли о том, как это плохо. Проще просто пройти мимо. Так как на ситуацию всё равно повлиять невозможно, а себя надо любить.
Gudleifr
> Некорректная аналогия. Врачу обязательно иметь навыки лечения болезней в своей области.
Дык! Более того, есть даже люди, которых вылечил.

> Но это не значит, что стоит тратить свои драгоценные нервные клетки на мысли о том, как это плохо.
Я и не трачу. Поставил диагноз и умиленно наблюдаю ваши трепыхания. А вдруг я ошибся и в этих блогах мелькнет искра мысли?
spline
>Дык! Более того, есть даже люди, которых вылечил.

Ну и где иф-игры тогда? Или о чём речь?

>Я и не трачу. Поставил диагноз и умиленно наблюдаю ваши трепыхания. А вдруг я ошибся и в этих блогах мелькнет искра мысли?

Товарищ прапорщик, это вас наверняка шокирует, но есть не только ваше мнение и неправильное. Бывает ещё ваше и правильное. А не аргументированный диагноз это само по себе уже диагноз.
Gudleifr
> Ну и где иф-игры тогда? Или о чём речь?
Зависит от того, что Вы называете иф-играми. Я, сильно подозреваю, что мы с Вами тут расходимся в толковании.

> Товарищ прапорщик, это вас наверняка шокирует, но есть не только ваше мнение и неправильное.
Искренне на это надеюсь. Именно за этим в эти блоги и пришел. Но — не вижу.

> А не аргументированный диагноз это само по себе уже диагноз.
Аргументацию см. выше. Вы ее еще «водой» называете.
spline
>А то получается, что вы критикуете диванную критику… Из-по дивана?

Дедушка Фрейд многое бы рассказал о вашем желании всегда быть сверху.
esse
Ну п***ец до чего плюрализм мнений доводит.

Круто, что есть еще один двиг. Да сразу с известными играми и документацией.
Gudleifr
> Круто, что есть еще один двиг.
А в чем крутость-то? В том, что авторы «двигов» чувствуют свою крутость только потому, что их, таких, много?
esse
А вы, батенька, текстовые игры на ассемблере пишите? )))
Gudleifr
> текстовые игры на ассемблере пишите?
Не всегда, но связи между наличием/отсутствием «двигов» и писанием на языке ассемблера не существует.
esse
О, так вы еще и в логику умеете. ))

С точки зрения ассемблиристов, все кто пишет не на ассемблере — быдлокодеры. Даже вы — на чем бы вы не писали. C++, C#, Java, даже LISP или Ada. Так что велкам ту к нам — к быдлокодерам ))

Просто не надо навязывать всем окружающим свою точку зрения, как это когда-то делали нацисты. Я вот уже перестал — чего и вам советую )
Gudleifr
> Так что велкам ту к нам — к быдлокодерам
Проблема быдлокодеров не относится к языковым. Она в непонимании ппю 1-3 из первого моего поста в теме. И в результате — бесполезное умножение мусора. И, даже, как мы видим здесь — получение от копания в мусоре удовольствия.

> Просто не надо навязывать всем окружающим свою точку зрения
Я и не навязываю, я констатирую факты.
Впрочем, навязывание мнения, это работа не нацистов (те, как раз, наоборот, восхищались своим уникальным мнением), а педагогов и прочих интеллигентов. Меня, в данном случае интересует Ваше мнение. Только, где оно?
esse
Мое мнение — у вас совковая ментальность в мозгу до сих пор сидит.

Все эти критерии (1) решить, собственно, задачу; 2) записать решение на формальном языке; 3) запустить программу.) — вторичны в рамках написания текстовых игр. Первично только одно — умение написать игру, которая будет интересна аудитории, причем желательно аудитории массовой и платежеспособной. А это знание современных движков, навыки сценариста-гаймдизайнера, маркетолога и т.д.

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

А вы все цепляетесь за какую-то абстрактно-личную реальность, которая имеет минимальное количество пересечений с общей реальностью. В Steam то когда последний раз заглядывали? Никогда? А там ведь куча быдлокодеров в разделе «Ранний доступ». И с багами, и с вылетами и т.д. — даже такие игры люди любят и покупают, если в них есть хороший геймплей или/и сюжет.
Gudleifr
Я правильно понял? Вы приветствуете появление нового движка, как появление новой еще не загаженной ниши, позволяющей сесть на хвост дурачкам, не способным ее самим загадить, и что-то на этом урвать? Согласен, такое имеет место.

Но при чем здесь программирование движков и писание ИЛ? Зачем Вы лезете в теорию, из которой вас интересует только глава «как заработать»?
esse
Попробуйте хотя бы разочек увидеть что-то за пределами своих привычных фильтров восприятия. например, такие слова как: «навыки сценариста гейм-дизайнера», «маркетолога», «Steam» и т.д.

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

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

Счастливо оставаться.
Gudleifr
Спасибо, я понял еще в прошлый раз?
Только при чем тут программирование и ИЛ?

Тем более, что Вы полностью со мной согласились:
>> А в чем крутость-то? В том, что авторы «двигов» чувствуют свою крутость только потому, что их, таких, много?
> Колосов уже одобрил этот двиг — также его одобрит и тот же создатель Инстеда (игра на его движке есть в Стиме) и прочие люди…
spline
Справедливости ради стоит отметить, что статья таки есть. Но читать её способен только автор.
Antokolos
Oreolek , спасибо, отличная новость!
Lmontek
надо будет глянуть, интересно. Спасибо!