Инструменты пользователя

Инструменты сайта


help:locations

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:locations [2013/10/13 22:00]
newsash
help:locations [2024/10/10 17:14] (текущий)
aleks_versus
Строка 1: Строка 1:
-[[help:wtf_qsp|Назад:​ Что такое QSP?]]+[[help:qsp|Назад:​ Что такое QSP?]]
  
-=====Локации=====+====== Локации ​======
  
-Локация - элементарная единица игрового мира. Это может быть пещера,​ дом, комната,​ улица ​и т.п.\\  +**Локация** - элементарная единица игрового мира. Это может быть пещера,​ дом, комната,​ улица, большой ​город или даже целая планета.
-С точки зрения игрока он исследует игровой мир перемещаясь по локациям. \\  +
-С точки зрения создателя игры понятие локации гораздо шире.+
  
-Применения для локаций: +С точки зрения игрока он исследует игровой мир, перемещаясь по локациям. Но с точки зрения создателя ​игры ​понятие локация” гораздо ширеВ **QSP** локации ​— это отдельные блоки кодаи они могут использоваться не только для описания различных мест.
-  * Игровые локации - локации,​ по которым ходит ​игрок, основа игрового мира. +
-  * Служебные локации - локации,​ на которые не попадает игрок: +
-    * Локации-обработчики - локацииобрабатывающие определенные события в игре (переходы между ​локациями, таймер,​ выбор предмета и т.п.) +
-    * Локации-данные - иногда удобно хранить игровые тексты в отдельных переменных,​ а переменные - в отдельной ​локации, чтобы не захламлять код. +
-    ​Локации-функции - в QSP есть возможность сделать локацию-функцию +
-    * Локации с кодом - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях.+
  
-====Советы по именованию локаций====+Возможные назначения локаций:
  
-Советы носят рекомендательный характер. ​Цель советов - упростить понимание кода автором и не только автором. +  * **Игровые локации** - локации,​ по которым ходит игрок, основа игрового мира. Такие локации можно разделить по назначению:​ 
-  * Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть ​"Дом""House", но никак не "Пещера" +    * **локации мест** - локации,​ в которых описывается некоторый кусочек игрового мира. Комнаты, дома, города,​ пещеры,​ подземелья и т.д. 
-  * Для локаций удобно пользоваться префиксами в названии:​ +    * **информационные локации** - локации,​ на которых размещается информация об игре, своего рода страницы. Это могут быть: стартовый экран, страницы главного меню, страницы информации об авторе и об игре. 
-    * //!название// или ​//$название// - служебная локация с кодом +    * **локации главы, параграфы,​ или разделы** - локации,​ составляющие основу книг-игр. В книгах-играх игрок перемещается не столько по игровому миру, ​сколько между страницами интерактивной истории. Вот в такой роли и могут в данном случае выступать локации. 
-    * //#​название// - локация с данными +  * **Служебные локации** - локации,​ на которые игрок не может попасть,​ но которые необходимы для работы игры: 
-    * //^название// - локация,​ вложенная в предыдущую. Например,​ названия локаций через запятую: ​//Северная площадь////^Магазин игрушек////^^Продавец игрушек////^Магазин оружия////^^Мечи////^^Булавы////^^Оружейник/​/+    * **Локации-обработчики** - локации,​ обрабатывающие определенные события в игре (переходы между локациями,​ таймер,​ выбор предмета и т.п.). 
 +    * **Локации-данные** - иногда ​удобно хранить игровые тексты в отдельных ​переменных,​ а переменные - в отдельной локации,​ чтобы не захламлять код. 
 +    * **Локации-функции** - в QSP есть возможность сделать локацию-функцию. 
 +    * **Локации с кодом** - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях. 
 + 
 +**Вы сами определяете назначение ​локации**. Для плеера абсолютно все локации равнозначны. 
 + 
 +Любая локация может состоять из трёх полей:​ 
 + 
 +  * Базовое описание локации 
 +  * Базовые ​действия локации 
 +  * Код “Выполнить при посещении” 
 + 
 +Вы можете заполнять эти поля по своему усмотрению. Можно заполнить их все, или одно из них, или не заполнять ни одного,​ — всё зависит от того, какое назначение вы выбрали для вашей локации, и как вам удобнее воплощать вашу ​идею. 
 + 
 +Поля **Базовое описание локации** и **Базовые действия локации** доступны для заполнения ​только ​в редакторе [[help:​qgen|Quest Generator]],​ если ​вы работаете в обычном текстовом ​редакторе, весь код пишется только для поля **Выполнить при посещении**. 
 + 
 +===== Именование локаций ===== 
 + 
 +Имя локации в процессе игры не отображается и может быть любым. Вы сами решаете,​ как назвать вашу локацию и какие символы использовать для названия. Но есть общие рекомендации:​ 
 + 
 +  * Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть ​ДомHouse, но никак не Пещера”. 
 +  * Можно пользоваться префиксами в названии:​ 
 +    * **''​%%!название%%''​** ​или ​**''​%%$название%%''​** ​- служебная локация ​(не с базой данных) 
 +    * **''​%%#​название%%''​** ​служебная ​локация с [[help:​glossary|базой ​данных]] 
 +    * **''​%%^название%%''​** ​- локация,​ вложенная в предыдущую. Например,​ названия локаций через запятую: ​**''​%%Северная площадь%%''​****''​%%^Магазин игрушек%%''​****''​%%^^Продавец игрушек%%''​****''​%%^Магазин оружия%%''​****''​%%^^Мечи%%''​****''​%%^^Булавы%%''​****''​%%^^Оружейник%%''​**.\\ Подобная маркировка префиксами была актуальна для старых версий [[help:​qgen|Quest Generator]],​ в которых не было возможности распределять локации по папкам. Сейчас такая маркировка менее актуальна,​ так как названия без префиксов использовать намного удобнее,​ а в [[help:​qgen|Quest Generator]] есть возможность размещать локации в отдельных папках. 
 +  * Названия локаций из нескольких слов можно писать любым удобным способом,​ например:​ 
 +    * **''​%%Дом с трубой%%''​** 
 +    * **''​%%Дом_с_трубой%%''​** 
 +    * **''​%%ДомСТрубой%%''​** 
 +  * Регистр букв не важен: “домструбой”,​ “ДОМСТРУБОЙ” и “ДомСТрубой” - одна и та же локация. 
 +  * **Если вы пишете [[help:​organizing|локацию-функцию]]**,​ рекомендуется использовать в названии только буквы, цифры, символ подчёркивания и точку. Остальные символы могут поломать работу кода при упрощённом (неявном) вызове таких локаций-функций. 
 +  * Рекомендуется выбирать названия локаций не совпадающие с [[help:​keywords|ключевыми словами]] **QSP**. 
 + 
 +===== Команды для работы с локациями ===== 
 + 
 +==== Функции для обработки локаций ==== 
 + 
 +  * **''​%%$CURLOC%%''​** — данная функция возвращает название **текущей** (“активной”) локации,​ т.е. локации на которой “находится” игрок. Пример:​ 
 + 
 +<sxh qsp> 
 +*pl $curloc & ! выводим название текущей локации в Окно основного описания 
 +*pl "​Сколько раз перезашли:​ <<​перезашёл>>"​ 
 +act "​Перезайти на текущую локацию":​ 
 +  перезашёл += 1 
 +  goto $curloc 
 +end 
 +</sxh> 
 + 
 +===== Порядок воспроизведения локаций ===== 
 + 
 +При запуске игры автоматически воспроизводится только самая первая локация,​ на все остальные локации нужно делать [[help:​goto|переходы]],​ или [[help:​organizing|вызывать]] их иным образом. 
 + 
 +Так же, автоматически может выполняться код локации-счётчика и [[help:​service_locations|служебных локаций]],​ отвечающих за обработку разных событий. 
 + 
 +Подробнее о порядке воспроизведения локаций смотри статью [[help:​principle|“Порядок работы интерпретатора”]]. 
 + 
 +[[help:​main|Вперёд:​ Окно основного описания]]
  
----- 
-Вперёд:​ 
help/locations.1381701617.txt.gz · Последние изменения: 2013/10/14 02:00 (внешнее изменение)