Comments 32
Где поиграть?
Странно что ренпай не предоставляет пространства имён для всех этих переменных. А вообще, выглядит очень даже неплохо, недаром этот движок столь популярен в соответствующих кругах.
Как сделать кроссплатформенную текстовую игру на русском с иллюстрациями, звуком, работающими сохранениями, без проблем с кириллицей, и с каким-никаким геймплеем?
На js, очевидно же.
Забить на существующие готовые решения, в которых авторы уже набили за вас шишки и сообщество имеет опыт работы с типовыми кейсами?
Если сесть и разобраться, то Twine рулит. Особенно как консольный компилятор, потому что визуальный редактор будет тормозить на масштабных разработках (консольная и визуальная версии очень плохо совместимы). Вы можете выбрать любой из кучи форматов (на вики перечислены только три, на самом деле форматов больше) и быстро набросать всё что захочется. Но документация сильно размыта, а вики в основном рассказывает про Twine 1. Правда, недавно вышел учебник-справочник.
Оунер тоже очень своебразный. Я пытался туда контрибутить, но это было похоже на плаванье против сильного течения. Баг-репорты и фиче-реквесты по большей части пропускаются мимо ушей. Предложение сделать серверное и/или облачное хранение с подробным обоснованием, зачем это нужно, было просто проигнорировано. В итоге я сдался и сейчас делаю свой редактор, совместимый (для начала) по форматам.
Из подобный вещей еще есть Quest aka QuestKit, опционально парсерный, и Squiffy.
Ребят, но… но как же… INSTEAD, а? -_-
Побуду мимокрокодил-евангелистом немногоКроссплатформенность, говорите? Вон там выше помянули js, так вот, Инстед основан на SDL и Lua и потому легко может работать даже на КПК с 2003 карманной виндой и телефонах на симбиане, где уже давно никаким современным браузерным фичам не хватит ресурсов. :) Но он также может работать и в браузере через js, если вдруг понадобится, для этого пилится отдельный проект.
Геймплей? Посредством того же Lua на движке без проблем сделаны довольно быстрые аркады, к примеру — клон Boulder Dash.
Для коммерческих релизов встроена простенькая обфускация кода, но можно и самостоятельно откомпилить вообще весь движок с ресурсами, если приспичит, благо опенсорс. Уже несколько игрушек успешно прошли так стим-гринлайт.
Комьюнити хоть и маленькое, даже камерное, но доброе. Имеется репозиторий с играми на этом движке. На сайте есть все нужные контакты, а для непосредственного общения заходите в джаббер-конференцию instead@conference.jabber.ru
И спасибо, статья хорошая, чужой опыт всегда интересен и полезен, продолжайте писать! :)
К сожалению, большинство текстовых движков предполагает, что их запускают на большом экране, и потому их создатели даже не задумывались о динамическом интерфейсе или особенностях компоновки. В итоге после портирования на мобильные устройства такие игрушки выглядят откровенно хреново (например, микроскопический шрифт или всё за пределы экрана вылезает).
С этой стороны web-based движки хороши тем, что сделать адаптивный интерфейс относительно просто, все для этого есть из коробки и не требуется эзотерических познаний особенностей данного движка (достаточно вменяемого верстальщика).
Есть несколько режимов, которые автор игры может прописать сам и получить либо менее совместимую с разными девайсами игру, но более заточенную под конкретный экран, либо использовать дефолтный универсальный и почти резиновый режим масштабирования, который страдает в пограничных случаях (ультра-широкие экраны).
Мне нравится подход Inkle, когда движок может запускаться где угодно. 80 days из статьи например на Unity написана, кросплатформенна и всё такое.
Сам движок Ink — можно запустить в принципе везде где есть C# (mono, etc, unity3d). Я бы выбрал именно этот язык для написания игры.
Пишем текстовую игру на Python/Ren'Py