У меня на багтрекере есть вот такой запрос. Собственно, вопрос к сообществу. Нужно ли такое вот шифрование? В принципе не слишком трудно сделать так, что формат файла будет полностью свой и данные будут надёжно зашифрованы. (Ну как надёжно, кто очень захочет — сломает, конечно). Мне просто интересно, насколько такая фича востребована.
Играю в IF3D (часть 2)
- «Посылка», Агент007
Безграмотный текст, сюжета нет, не закончена (да чёрт, почти и не начата). Отказать. - «Тайна предков», Ordan
Сложные чувства. С одной стороны, сюжет. Это, я вам скажу, важно. Т.е. в игре есть некая завязка, есть повествование (ну пусть без кульминации и персонажей), развязка (пусть скомканная). Есть геймплей. Игра увлекает. Но текст… Обнять и плакать. Атмосферы нет, складности нет,населена роботамимасса ошибок всех мастей. Автор, учись писать. (и это наш победитель…) - «Двенадцать часов ночи», KetMen
Не игра. Текстовая фиговина с пучком плохих концовок. «По паспорту его звали Виктор Анатольевич 23 года». Мда, ну и фамилия. - «Славный город Лудд», Андрей Лобанов
Графомания в стиле «instead». Что за город, чем он славен и почему его нет — я так и не понял (специально перепрошёл ещё раз). Главный герой ищет свою женщину, причём, чтобы спасти её от жутких кибер-похитителей, достаточно просто уйти от них через окно. Никакой погони. Полагаю, похитителям она и не была нужна. Простенькая загадка. Неудобоваримый (хоть и лучше некоторых других тут) текст. Пропинал и забыл. - «Сны», Tregor
Сгустки вакума (именно так) и абсолютной темноты. Вопящее перо. Летающий стол. «Надо это куда-нибудь записать и расшифровать, вдруг пригодится!» Не надо, уверяю вас.
Играю в IF3D
- Чешир, «Анабасис «Котов»
Хрен его знает, что такое «анабасис», но вероятно что-то крутое. Чешир обленился. Прислал на конкурс альфу, которая не тянет даже на демку твайна. Без единой загадки. Текст традиционно хорош, но хороший текст ещё не игра. Чешир, садись, два. - Светлана Пономарёва, «Солнце, движимое кровью»
«…он угодил ногой в яму-ловушку для животных, и повредил ее» — фраза уже говорит о многом. Автор считает необязательным читать и пытаться понять то, что она написала. Поэтому читать этот плохой текст сложно, будьте готовы к этому. Тут я удержался от многочисленных позывов цитировать авторские перлы. Немного о загадках. Их нет. Есть ветвление истории, и не слишком понятно, что я выбираю в том или ином случае. Отказать. - Saint, «Мечи, перья, замыслы»
Позабавило. Саинт определённо растёт. И текст всё лучше, и загадки всё… ммм… удобоваримее. В общем, перед вами простой, но забавный квест в духе старой урк-школы. Браво? Браво. - Korwin, «Замысел творца»
Ура! Я поиграл в безбажную, вычитанную и законченную игру Корвина! Теперь я видел в ифне всё! Игра отличная, маленькая, конечно, но всё при ней. И текст, и загадки, и та фигня, которая заставляет сопереживать главному герою. Найдя одну, хм… неоптимальную концовку, я переиграл ещё раз. А это о чём-то да говорит. Забавно будет, если на конкурсе Корвина победит Корвин. 🙂
Продолжение, наверное, следует…
Другое измерение
Читаю обзоры Эмили Шорт на различную интерактивную литературу, там, «у них». Завидки берут.
Серьёзная литература там у них. И твайновые менюшки, и книгры, вот это всё. Не развлекалочки, не поделки, не фиготки, слепленные за пару часов на коленке…
Утешаю себя мыслью, что, наверное, это у них тоже было, но этап пройден, а у нас пока нет.
Хотя я, может, необъективен. Последние пару лет почти не играю в нашу ифню. Может, у нас тоже есть серьёзное, просто я не видел. Надо посмотреть…
Аппетит во время еды
Начав с небольших доделок в версии 1.9.2, ввязался в переделку системы сохранений. Чтобы избавиться от одной важной кривизны классической урки — что при сохранении нужно указывать локацию, на которою после восстановления будет осуществлён переход, а текст, бывший на экране при сохранении полностью пропадает.
В общем, «не приспособлены мы, кролики, для лазанья». В смысле, что фурка писалась без задела на такую вот фичу, и переделок там… хм. Ну, в общем, непросто там всё.
Но интересно. Так что будем пилить дальше. 🙂
Восстановил блог
Восстановил блог после бегства в январе с iFiction.Ru. Будет жить теперь тут.
Фурка 1.9.2 в разработке, там немного фич (главным образом, связанных с декораторами) и багфикс.
Вот. Такие дела.
FireURQ 1.9.1
Вот, не прошло и года и снова релиз. Изменения — в основном багфикс и немножко синтаксического сахара.
Что стоит упоминания…
Переменная decor_<имя>_enabled для декораторов-кнопок. Позволяет делать кнопки неактивными. Как-то забыл я про неё в августе. Впрочем, никто не жаловался.
Кнопки теперь можно создавать без упоминания текста на них. Название локации и будет текстом на кнопке. Т.е. как-то так:
btn <локация>[, <надпись на кнопке>]
Если для локации указаны параметры или модификатор, то они в надпись на кнопке не попадут, разумеется.
Новые встроенные функции для работы со строками. Вызываются через proc, результат помещают в переменную _result, всё как обычно.
Функция _trim обрезает пробелы с начала и в конце строки, вызывается как proc _trim(str), где str — строка (строковая переменная или строка в кавычках).
Функция _scopy копирует кусочек строки, вызывается как proc _scopy(str, start[, len]), где str — строка, start — номер символа в строке, с которого начинать копировать и len — количество копируемых символов. Если параметр len опущен, то строка копируется до конца.
Например, если нужно взять первые 10 символов строки, то вызов proc _scopy(name, 1, 10) поместит в переменную _result 10 первых символов строки, содержавшейся в переменной name.
Одинарные и двойные кавычки теперь равнозначны. Т.е. можно задать строку с двойными кавычками внутри строки, определённой с помощью одинарных и наоборот. Например:
str = 'Бот назывался "Смердящий", и, как понял позже Валера, не случайно...'
В общем, это всё. Пишите игры.
Навеяло
У нас были 8 игр на урке, 9 на инстеде, несколько кусповых опусов, пара парсерных, по одной-две на неизвестных платформах, одна на дельфи, пара переводов вне конкурса и целая куча аксмы. Не то, чтобы это был типичный набор игр на конкурс. Но если начал принимать игры на КРИЛ, становится трудно остановиться. Единственное, что вызывало у меня опасение — это аксма. Нет ничего более беспомощного, безответственного и испорченного, чем аксмовские графоманы. Я знал, что рано или поздно мы перейдем и на эту дрянь.
FireURQ 1.9
Итак, вышла новая фурка. Скачать, как обычно, на вики. Главные нововведения — новые виды интерактивных декораторов и текстовый вывод текста в текстовый файл.
Итак.
Новые декораторы.
Декоратор «Область клика»
Это просто невидимый квадрат на экране, который ловит клики мышкой. Целевая локация — имя локации в кавычках. Модификаторы работают. Можно сделать выпадающее меню, переход или локальное действие.
decoradd <имя> (x, y[, z]) CLICKAREA <ширина>, <высота>, "<целевая локация>"
Декоратор «Кнопка-картинка»
decoradd <имя> (x, y[, z]) IMGBUTTON "<файл-текстура>", [<tx>, <ty>, <ширина>, <высота>,] "<целевая локация>"
файл-текстура — это полноцветный PNG с прозрачностью, например
tx, ty — это координаты верхнего левого угла В ПРОСТРАНСТВЕ ТЕКСТУРЫ
ширина и высота — это ширина и высота одного КАДРА
Кадры должны идти друг за другом в такой последовательности — нормальная, неактивная (disabled), в фокусе, нажатая
Если tx, ty, ширина и высота не указаны, то вся текстура просто «пилится» на четыре кадра по горизонтали. Это удобно, но слишком много текстур вредят скорости работы фурки. Поэтому, если у вас много кнопок, лучше всё-таки разместить их на одну текстуру.
Декоратор «Текстовая кнопка»
decoradd <имя> (x, y[, z]) TEXTBUTTON ["<рамка>", ] "<текст>", "<целевая локация>"
текст — надпись на кнопке
рамка — это название рамки, которая должна быть определена в скине. Это на случай, если захочется сделать много разных кнопок с разным оформлением. Рамки текстовых кнопок определяются в скине в разделе ресурсов. Если рамку не указать, то кнопка будет по умолчанию с тем же оформлением, что и btn-кнопки.
Для всех новых типов декораторов существует переменная decor_<имя>_target, которая позволяет поменять целевую локацию. Для текстовой кнопки есть ещё переменная decor_<имя>_text, позволяющая менять надпись на кнопке.
Вывод в текстовый файл
Корвин давно просил меня сделать возможность вывода в текстовый файл. Так вот, я и сделал. Итак, в фурке есть несколько новых команд:
fprint, которая сокращается до fp и fprintln, которая сокращается (сюрприз!) до fpln. Работают они ровно также, как всем привычные p и pln, только текст выводится не на экран, а записывается в файл.
Файл задаётся с помощью переменной fp_filename. Это просто строка. Но есть нюанс. Чтобы предотвратить написание вирусов и всякой вредоносной фигни на фурке я решил серьёзно ограничить создаваемые файлы. Первое правило — все файлы должны иметь расширение TXT. Второе правило — никаких путей, все файлы создаются рядом с файлом игры. Т.е. если вы даже попробуете задать в переменной fp_filename что-нибудь вроде «C:WindowsSystem32cmd.exe», ей присвоится «cmd.txt» и лежать этот файл будет рядом с файлом игры.
Есть ещё одна новая команда:
newfile <имя файла>
Она присваивает переменной fp_filename имя файла и стирает этот файл. Это для того, чтобы быть увереным, что вы пишете в пустой файл. Если просто присвоить переменную fp_filename, то новые записи будут добавляться к уже существующему файлу.
Ну вот, собственно, и всё. Пишите игры.
URQ: Generations
Показал сегодня дочке команды pln, btn, goto и end. Написала игру про лошадь. Я горд. 🙂