QSP Уроки: различия между версиями

Содержимое удалено Содержимое добавлено
новый урок
мНет описания правки
 
(не показано 12 промежуточных версий 5 участников)
Строка 1:
__NOTOC__
==Вводное слово, Комментарии==
 
[[QSP]] - программа для игры в текстовые квесты специального формата. Для того, чтобы написать свой текстовый квест, вам понадобится любой текстовый редактор и программа [[TXT2GAM]]. Для более удобного использования этой программы я написал специальную оболочку [[GAMConv]], которой вы можете пользоваться для конвертирования кода уроков.<br>
В примерах будут использоваться комментарии - строки, которые игрок не увидит и которые служат для того, чтобы можно было делать в коде игры различные заметки. Комментарий начинается с восклицательного знака «!».
 
''Пример:''
<pre width="80">! эта строка видна только создателю квеста, игрок её не увидит</pre>
<!-- О других применениях комментариев смотрите в Уроке 5. -->
 
==Урок 1. Локации, Действия, Переходы==
 
Текстовый квест в [[QSP]] состоит из отдельных [[локация|локаций]], на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации), код локации (середину) и конец (знак «-», минус).
 
''Пример:''
Строка 18 ⟶ 17 :
-</pre>
Проигрывание квеста начинается с самой первой локации. Традиционно эта локация называется "Начало".
Для того, чтобы вывести в игре текст, вы просто пишете строку в коде локации, заключённую в апострофыкавычки («'» или «"»).
 
''Пример (1.txt):''
Строка 40 ⟶ 39 :
ACT 'Вернуться обратно':GOTO 'Начало'
-</pre>
Вторая локация создаётся точно так же, как и первая. Как можно заметить, действие создаётся командой «ACT», после которой идёт название действия в виде строки, заключённой в апострофыкавычки и двоеточие. После двоеточия пишутся инструкции, которые игра выполнит после того, как игрок попытается выполнить действие. А после инструкций ставится команда «END», которая означает конец цействиядействия. Если инструкция одна, то мы можем писать её сразу после двоеточия, на той же строке, в этом случае «END» ставить не обязательно (см. Вторая_локация). В нашем случае инструкциями является переход на другую локацию. Он осуществляется командой «GOTO», после которой идёт имя новой локации, заключённой в апострофыкавычки.<br>
Как вы уже заметили, все строки в [[QSP]] заключены в апострофыкавычки («'» или «"»), это специфика синтаксиса, которую необходимо соблюдать.<br>
Отконвертировав этот пример, вы сможете походить по двум локациям.<br>
Это основа всех квестов на [[QSP]]. Дальше мы попробуем неспеша сделать небольшой квест, в каждом новом уроке добавляя ему новые элементы, пока не охватим все возможности [[QSP]].
Строка 171 ⟶ 170 :
-
#Дом
' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочитхлопочет на кухне. Дома всегда хорошёхорошо.'
' У вас <<Деньги>> монет.'
ACT 'Идти в порт':GOTO 'Работа'
Строка 232 ⟶ 231 :
-
#Дом
' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочитхлопочет на кухне. Дома всегда хорошёхорошо.'
' У вас <<Деньги>> монет.'
IF OBJ 'Конструктор':
Строка 273 ⟶ 272 :
==Урок 4. Настройки, Форматирование==
 
В этоэтом уроке мы рассмотрим, как сделать наш квест более привлекательным. В первую очередь следует настроить интерфейс так, чтобы в нём не оставалось ничего лишнего, отвлекающего от игры. Если вы сейчас запуститьзапустите наш пример, то увидите, что мы не используем "поле дополнительного описания" (справа внизу) и "командную строку" (внизу). Чтобы они нам не мешали, их нужно отключить. Делается это следующим образом:
 
''Пример (7.txt):''
<pre width="80">#Начало
SHOWSTAT 0
SHOWINPUT 0
Строка 285 ⟶ 284 :
 
''Пример (8.txt):''
<pre width="80">#Начало
BCOLOR = RGB(10, 10, 10)
FCOLOR = RGB(255, 10, 10)
FSIZE = 14
$FNAME = "'Arial"'
'Этот текст написан красным цветом, четырнадцатым размером и шрифтом Arial на чёрном фоне.'
-</pre>
Цвет в QSP задаётся с помощью функции «RGB», в которую мы передаём значения его отдельных компонент - красного (Red), зелёного (Green) и синего (Blue). Отсюда и название функции.<br />
Если вы не знакомы с таким способом задания цветов, то вам может помочь программа '''MS Paint''', которая входит в стандартную поставку Windows. Для этого запустите программу, щёлкните два раза по любому цвету в политрепалитре (внизу) и затем нажмите кнопку "Определить цвет". Появится расширенная палитра, на которой можно выбрать нужный вам цвет. Под палитрой снизу будет 3 поля (Красный, Зелёный, Синий), значениями из этих полей вам и нужно заполнить функцию RGB.<br />
Переменная «BCOLOR» устанавливает цвет заднего фона, «FCOLOR» - цвет текста.<br />
Следует учесть, что если все компоненты цвета будут равны 0, то проигрыватель квестов заменит указанный цвет на цвет из настроект самого плеера. Поэтому если вы хотите установить чёрный цвет, то следует сделать его "немного серым", т.е. установить значения всех компонент в 1. Визуально это ничем не будет отличаться от чёрного цвета, который имеет значения компонент 0.<br>
Следует учесть, что если присвоить переменной цвета значение 0 (к примеру, «BCOLOR = 0»), то проигрыватель квестов заменит указанный цвет на цвет из настроек самого плеера.<br />
Переменная «BCOLOR» устанавливает цвет заднего фона, «FCOLOR» - цвет текста.<br>
Чтобы изменить размер текста, используется переменная «FSIZE», шрифт текста задётся строковой переменной «$FNAME».
 
Многие игроки не любят, когда автор задаёт свои визуальные параметры для текстовых квестов. "На вкус и цвет фломастеры разные", кто-то привык читать зелёные буквы на чёрном фоне, а кто-то предпочитает классический вариант чёрного на белом. У кого-то большой монитор и- маленькие буквы читать на нём неудобно. Ии т.д. Проигрыватель квестов [[QSP]] позволяет настроить такие параметры индивидуально для каждого игрока, но только в том случае, если автор игры не заменил их на свои. Поэтому я рекомендовал бы вам не менять эти настройки для вашего квеста.
 
Есть ещё один, наилучший, на мой взгляд, способ сделать ваш текст внешне более привлекательным. Использование HTML. Язык гипертекстовой разметки документов очень хорошёхорошо подходит для этой цели. С помощью него можно не только заватьзадавать цвет, размер и шрифт текста, но и делать это для отдельных слов, фраз или даже букв, а так же позиционировать текст на экране. Например, можно расположить заголовки по-центру строки, или справа. Для этого нужно переменной USEHTML задать значение, отличное от 0, например 1. В следующем примере я приведу лишь небольшую часть возможностей, которых, впрочем, будет достаточно для оформления игры.
 
''Пример (9.txt):''
<pre width="80">#Начало
USEHTML=1
BCOLOR = RGB(255, 255, 255)
Строка 361 ⟶ 360 :
#Дом
'<center><b>Дом</b></center><br>'
' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочитхлопочет на кухне. Дома всегда хорошёхорошо.'
' У вас <font size="16"><b><<Деньги>></b></font> монет.'
IF OBJ 'Конструктор':
Строка 400 ⟶ 399 :
 
'''''Продолжение следует...'''''
 
[[Категория:Для разработчиков игр]]
[[Категория:Документация QSP]]