вторник, 28 июня 2016 г.

МАКРО-URQ

Всё думал, как будет лучше делать разноцветный текст в URQ, ведь для того чтобы поменять цвет и не потерять установленный ранее надо:
  1. Сохранить цвет текста во временную переменную
  2. Установить новый цвет текста
  3. Вывести текст
  4. Вернуть сохранённый цвет
И так каждый раз. Может быть это всё можно как-то упростить средствами самого URQ, но я не знаю как. Для удобства, я прикрутил внешний макропроцессор M4 к обработке URQ-файла, теперь, вот как выглядит вывод цветного текста: 
COLTEXT(зелёный текст, 0xFF009900)
 А теперь, то что получилось на выходе, после обработки препроцессором:
t1=textcolor
textcolor=0xFF009900
pln зелёный текст
textcolor=t1
Текст макроса:
define(COLTEXT,`t1=textcolor
textcolor=$2
pln $1
textcolor=t1')
В результате получилось разворачивание одной строчки в четыре, плюс с помощью макросов устанавливаются константы цветов, цветные ссылки, мини-параграфы с описаниями и многое другое. Если заинтересовались, пишите в комментариях!

Немного о геймплее

Так как эта текстовая игра, то у неё должны быть свои правила. В графических играх такие правила складывались постепенно с развитием игровых жанров. Почему бы не воспользоваться существующими правилами какого-нибудь жанра для текстовой игры? Мне приглянулась идея использования правил графических квестов для текстовых собратьев. Итак игровой процесс должен подчиняться правилам:
  1. Игрок не может погибнуть от врагов или вынужденных обстоятельств
  2. Для прохождения по сюжету надо решать головоломки
  3. Интерфейс point-and-click. Вместо графических объектов будут текстовые ссылки.

Разработка интерфейса

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

  • Ощущение лёгкости (интерфейс должен быть минимальный, не перегруженный)
  • Ощущение контроля (игрок должен примерно представлять к чему приведёт действие, какие риски)
  • Погружение в историю

В итоге я выбрал игровой интерфейс на основе разноцветных ссылок. Идея была почерпнута из игры "Гражданка Готье" на AXMA. Вместо цветовой схемы можно было использовать эффекты шрифта(жирный, наклонный), но более наглядным будет, мне кажется, именно использование цветов. Кнопки будет в самом начале, для меню. Описание схемы:

  1. Ссылка-действие. Должна быть яркого цвета. Когда игрок нажмёт на неё произойдёт событие, связанное с рисками, какие-нибудь значимые изменения в мире.
  2. Ссылка-описание. Мягкие цвета. При нажатии на ссылку происходит только вывод описания объекта, для подробного ознакомления.
  3. Ссылка-переход. Оттенки зелёного. Происходит безопасный переход к следующей игровой локации.
Пример промежуточной версии цветовой схемы (не окончательный вариант):
Что вы думаете по поводу схемы? Пишите в комментариях!