Пишем QSP-игру в текстовом редакторе
Для того, чтобы написать свой текстовый квест, понадобится любой текстовый редактор и программа TXT2GAM. Для более удобного использования этой программы существует специальная оболочка GAMConv, которой можно пользоваться для конвертирования кода уроков. Для проигрывания квеста понадобится QSP-плеер.
В примерах будут использоваться комментарии - строки, которые игрок не увидит и которые служат для того, чтобы можно было делать в коде игры различные заметки. Комментарий начинается с восклицательного знака «!».
Пример:
! эта строка видна только создателю квеста, игрок её не увидит
Урок 1. Локации, Действия, Переходы
Текстовый квест в QSP состоит из отдельных локаций (кадров, сцен, эпизодов), на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации), код локации (середину) и конец (знак «-», минус).
Пример:
# Имя_локации
! тут идёт код локации
-
Проигрывание квеста начинается с самой первой локации. Традиционно эта локация называется "Начало". Для того, чтобы вывести в игре текст, вы просто пишете строку в коде локации, заключённую в кавычки ('' или "").
Пример ("1.txt"):
# Начало
'Привет мир!'
-
Сохраните эти строки в текстовый файл, отконвертируйте с помощью GamConv или напрямую через txt2gam и откройте получившийся квест в QSPGUI. В основном окне вы должны увидеть текст «Привет мир!».
Но это совсем не похоже на текстовый квест. Ведь если мы будем просто выводить текст, то у нас получится какая-то книга, а не игра. Игра — это прежде всего интерактивность. От этого и название жанра Интерактивная Литература.
Чтобы добавить интерактивности давайте сделаем вторую локацию и дадим возможность игроку перейти из одной локации в другую. Для этого нужно создать на первой локации действие, которое будет осуществлять переход в другую локацию.
Пример ("2.txt"):
# Начало
'Привет мир!'
ACT 'Перейти в другую локацию':
GOTO 'Вторая_локация'
END
-
# Вторая_локация
'Вы только что совершили переход в другую локацию.'
'Этот текст начинается с новой строки.'
ACT 'Вернуться обратно': GOTO 'Начало'
-
Вторая локация создаётся точно так же, как и первая. Как можно заметить, действие создаётся командой «ACT», после которой идёт название действия в виде заключённой в кавычки строки и двоеточие. После двоеточия пишутся инструкции которые игра выполнит при выборе игроком нашего действие. После одной или нескольких инструкций ставится команда «END», которая означает конец действия.
Если инструкция одна, то мы можем писать её сразу после двоеточия, на той же строке, в этом случае «END» ставить не обязательно (см. Вторая_локация).
В нашем случае инструкциями является переход на другую локацию. Он ос уществляется командой «GOTO», после которой идёт имя новой локации, заключённой в кавычки. Как вы уже заметили, все строки в QSP заключены в кавычки ('' или ""), это специфика синтаксиса, которую необходимо соблюдать.
Отконвертировав этот пример, вы сможете походить по двум локациям.
Это основа всех квестов на QSP. Дальше мы попробуем не спеша сделать небольшой квест, в каждом новом уроке добавляя ему новые элементы, пока не охватим все возможности QSP.
Урок 2. Переменные, Условия
Пусть у нас будет игра из трёх локаций. В одной локации игрок сможет зарабатывать деньги, в другой - тратить их на различные предметы, в третьей - дарить эти предметы различным людям. К этим трём добавим ещё одну, стартовую, локацию, в которой будет объясняться задача игрока.
Напишем каркас.