Приключения

Материал из ПокеВики
Перейти к: навигация, поиск
Спасибо EvilCat за предоставление информации. Спасибо всем, для кого была создана эта статья. 
Это - только начало.
Страница будет расширена.

Приключения - уникальный раздел Русской Лиги Покемонов, наравне с ФанАртом и фанфиками.

Вступление.

Итак, все мы любим играть в покемон-игры или смотреть аниме. И практически каждый из нас, хотя бы раз, мечтал стать настоящим тренером покемонов. И вот она, замена прямолинейным покеиграм и серым фантазиям! С помощью Приключений вы сможете почувствовать различные аспекты жизни настоящего тренера. Путешествовать по миру покемонов, участвовать в сражениях, выступать на турнирах... Либо же создать свой уникальный сюжет, придумать испытание... Ваши возможности зависят лишь от вашего воображения!

Что такое Приключение?

Это небольшие игры, в которых изображение заменено текстом, созданные самими пользователями. Они создаются с помощью php программирования. По сути, это скопление локаций, созданных и оформленных с помощью текста, и действий, с помощью которых можно по ним перемещаться. Небольшой пример. Представим локацию:

Название: Поляна.

Описание: Красивая поляна с ровной травой и редкими цветками. Слева от нас - озеро, справа - лес.

С помощью специальных действий мы можем переместиться на локацию леса или озера или же совершить некое действие.

Вот отличный пример, длинного, качественного приключения - "ходилки". Новогодний квест

Но это лишь маленький пример. "Генератор" квестов способен на большее. И вот пример: Самое первое приключение, в котором полностью раскрыты возможности "генератора"

Список образцовых приключений

Есть также приключения-сериалы. Это приключения, состоящие из нескольких серий. Увы, в последнее время они стали превращаться в откровенный мусор.

  • Пример удачного сериала - это "Приключение с покемонами"
  1. Первая часть
  2. Вторая часть
  3. Третья, финальная часть

Выше приведены примеры образцовых приключений, но вероятно, вы этим не насытились? Тогда...

Создаём свое приключение!!!

Для того, чтобы создать приключение, вам придется убить не один месяц, проштудировать не одну энциклопедию по программированию и неплохо было бы иметь опытного помощника.

Если это вас не остановило... Конечно, я соврал ^^. Создание квеста - дело довольно простое, нужно лишь понять несколько принципов.

Несколько негласных, но важных правил.

  1. Никогда не пытайтесь делать приключения в "де-активном" состоянии. Если у вас болит голова, если вы хотите спать или подвержены внешним отвлекающим факторам, у вас ничего не выйдет. В работе очень важна концентрация.
  2. Очень важные, практически необходимые в этом деле качества, это: Хорошая память. Умение концентрироваться. Хорошая фантазия. =)

Основы

Начнем наконец-то!!! Для начала попытаемся создать небольшую "ходилку".

Как создать локацию?

Локации состоят из трех частей: Номер, название, описание.

Номер. В начале строки номер локации в квадратных скобочках.

[1]

Повторять номера нельзя.

Название. Ни в коем случае не путайте название с описанием! Название должно одним, максимум двумя словами характеризовать место, в котором находится игрок. Например "лес" или "около озера". Название пишем через пробел после номера.

[1] Лес.

Описание. В описание вы должны... Э-э.. Описать, как можно подробней, место, в котором вы находитесь. Описать местность, а также указать на соседние локации и какие предметы находятся вокруг игрока. Описание нужно писать, нажав клавишу Enter, то есть на новой строке.

[1] Лес.

Описание леса. Вокруг нас то-то, на земле лежит то-то, сзади - город, спереди - чаща.

Считайте, локация готова. Но как инь и янь, локации не могут существовать без...

Действуем!

...Без действий. Действия - это специальные "ссылки", с помощью которых игрок может перемещаться по локациям.

Действия пишем, отступая строчку от описания локации. (Двойной "Энтер" ^^) Думаю, понятно что определенная локация имеет определенные действия. Для того, чтобы создать действие, сначала пишем значок # (Shift+3 в англ. раскладке), а затем название действия. После этого в квадратных скобках пишем номер локации, на которую ведет действие. Желательно "привязывать" к локации не меньше 2х, но и не больше 5-и действий. С одним - двумя действиями на локу приключение будет ужасно скучным и прямолинейным. А большое количество запутает не только игрока, но и создателя.

[1] Лес.

Описание леса. Вокруг нас то-то, на земле лежит то-то, сзади - город, спереди - чаща.
# Углубиться в чащу. [2]
# Подобрать то-то с земли.[3]
# Выйти из леса. [4]

Далее по такому же принципу создаём вторую локацию. Тут самое главное - не запутаться! Можно даже вести что-то вроде записей в тетради, особенно если вы затеяли крупномасштабный проект.

90-60-90

В идеале в приключении должно быть не менее 30и локаций и от 2х до 4ёх действий на каждом. Все остальное ограничивается лишь вашей фантазией.

Уровень 2

Выше я уже говорил о "генераторе". Если вы хотите сделать приключение "покруче", то для начала вы должны его "проапгрейдить".

Скрипты

Скрипты - это довольно важная часть приключения. Это некая инструкция которую вы можете "дать" приключению. При этом приключение может реагировать на различные действия игроков. Как это работает? Скрипт можно "прикрепить" к действию или локации, при этом программа будет срабатывать при выполнении действия или входе на локацию соответственно. Локация в "проапгрэйдженом" квесте выглядит так: название, описание и поле под названием "код". Это и есть скрипт. Но об этом чуть попозже. Несколько примеров:

  • Самый распространенный - накапливание баллов. За определенное действие вы получаете какое-то количество баллов, которое в конце подсчитывается. Таким образом игроки могут соревноваться между собой.
  • Таким же образом баллы можно тратить. Как пример - деньги, которые можно истратить.
  • Может меняться погода при вступлении на определенную локацию.
  • При входе на локацию Х игрок видит некоего легендарного покемона. При этом срабатывает скрипт - и при следующем попадании на эту же локацию покемона уже не будет.

Однако, и со скриптами нужно знать меру. Если можно обойтись без них - лучше обходиться без них, ибо обильное количество может затормозить приключение.

Скрипты - это довольно общее понятие. Сейчас мы поподробней рассмотрим их работу и функции...
Переменные

Главная движущая сила скриптов – это информация. Если бы приключение не могло запоминать последствия действий игроков, ситуация в игре бы не менялась.

Для хранения информации есть 100 ячеек, каждая из которых может запоминать целое число от минус двух миллиардов до плюс двух миллиардов – в общем, всем хватит. Числовые ячейки называются "переменные" и обозначаются в скриптах как n# (например, n1, n23, n100). "n" означает numeric – номер, число.

Сюда можно ввести HP покемона, количество денег, время.

Вам не обязательно запоминать номер той или иной переменной, вы можете дать им названия – "количество яблок", "защита" и так далее. Однако это только для вашего удобства: обращаться к переменной по её названию нельзя. Зато у вас будет удобное окошко с табличкой, где будут указаны имена всех переменных.

Вы ещё не забыли, что в приключении можно вести счёт? Счёт хранится в переменной n101. В общем-то, обычная переменная, только её результат можно сохранить в таблице рекордов.

Ещё переменным можно задавать начальные значения. Например, чтобы у игрока сразу было 309 денег, а не 0.

Триггеры

Триггеры - это своеобразные "рычажки" которые переключаются при совершения игроком действия. Триггеры обозначаются буквой t и могут иметь значения 1 или 0. "Да" или "Нет" соответственно.

(Я долго не мог запомнить соотношение "да" и "нет" и "1" и "0". И придумал способ - 1 - значит чтото есть. Ибо один это не ноль. Он выше, и содержит в себе чтото. А ноль - это ничто, пустое место, "нет".)

Как и переменных, триггеров 100 штук, и обозначаются они как t# (t2, t34, t99…). Им тоже можно давать понятные названия. Все триггеры в начале приключения выключены (равны нулю), но в процессе вы можете их включать, обозначая, что игрок что-то совершил. Если нужно, вы можете и выключать триггеры, возвращая им нулевое значение. Например:

  • Как в примере с легендарным покемоном: при выходе с локацией включается специальный триггер и при следующем входе на локацию значение будет равно не 0, а 1 = покемон больше не появится.
  • Если игрок пьёт воду из волшебного источника, он получает благословение (включается триггер), и покемоны в лесу начинают ему доверять. Однако если он пытается поймать какого-либо покемона, благословение исчезает (триггер выключается).
Формулы

Там, где есть числа, есть и вычисления.

Допустим, игрок хочет купить n1 яблок. У него есть n2 денег. Сначала надо проверить, достаточно ли у него денег – их должно быть не меньше n1*n2. Вот вам и формула.

В процессе выполнения скрипта формула вычисляется и заменяется на число.

Все мы сталкиваемся с формулами (выражениями), когда проходим математику и алгебру в средней школе. Сложение, умножение, скобки, возведение в степень, остаток, приоритет операций – всё это есть и здесь.

Допустим, n1=4, а n2=10. Примеры формул:

  • n1 (результат, как ни странно, 4.)
  • n1+3 (результат равен 7.)
  • n2-n1 (результат равен 6.)
  • n2*n1 (результат 40.)
  • (n1+1)*n2 (результат 50.)

Триггеры тоже могут участвовать в формулах: как известно, они равны или 0, или 1.

Возможно, вы ещё не сталкивались с операциями сравнения. Эти операции сравнивают два числа – в итоге получается 1 ("да") или 0 ("нет"). Примеры таких формул:

  • n1>n2 (результат "нет", 4 вовсе не больше 10.)
  • n1=n2 (результат "нет", 4 не равно 10.)
  • (n1=4)&(n2=10) (результат "да": n1 действительно равно 4 и n2 действительно равно 10.)

Если вы когда-либо программировали хотя бы на Бейсике, все эти операции должны показаться вам знакомыми. Итак, в формуле можно использовать следующие операции (перечислены в порядке приоритета – те, что идут первее, выполняются раньше):

Операция Обьяснение
 ! Отрицание: результат равен 1, если число больше нуля, или 0, если число меньше либо равно нулю.

Пример: !n1

^ Возведение в степень.

Пример: n2^2 (n2 в квадрате).

* Умножение
/ Деление
div Деление нацело
 % Остаток от деления
Пример: 5 div 2 (получается 2), 5 % 2 (получается 1), 2*2 (получается 4)

Деление на ноль не производится.

Операция Объяснение
+ Сложение
- Вычитание
& Логическая операция "и": если оба числа больше нуля, результат 1, "да". если хотя бы одно равно нулю или меньше – результат 0, "нет".

Пример: t1&t2 (если включены оба триггера, результат "да". Если хотя бы один выключен, результат "нет".)

Операция Объяснение
Логическое "или": если хотя бы одно из чисел больше нуля, результат 1, "да". Если оба равны нулю или меньше, результат 0, "нет".
x Исключающее "или": либо одно, либо другое. Если одно из чисел больше нуля, результат 1, "да". Если оба больше нуля или оба меньше либо равны нулю, результат "нет".

Пример: t1|t2 (если хотя бы один из триггеров включён, результат "да").


В формулах могут быть дробные числа (например, если разделить 1 на 2 или записать число с точкой – 0.5), однако помните, что в переменных могут храниться только целые.

Ещё в формулах можно использовать случайные числа. Согласитесь, многие игры без них никуда. Случайное число записывается так:

d# -- генерирует случайное (целое) число от 1 до #. "d" означает "dice" – бросок игральной кости. Если вы пользовались Чатовым Ботом, то вы поймете, в чем суть.

Инструкции

Переменные не значили бы ничего, если бы игрок не мог их видеть. Поэтому и существуют инструкции, которые вводятся прямо в текст локации.

Простейшая инструкции начинается с ##(. После скобки вводим название переменной. Например: ##(n1)

Пример: В n1 хранится ХП вашего покемона(Лукарио), а в n2 - ХП покемона противника (инфернейпа)

Что вводите и видите вы:

ХП вашего покемона - ##(n1), ХП покемона противника-##(n2)

Что видит игрок:

ХП вашего покемона - 75, ХП покемона противника-34

Допустим, вы выбрали действие-атаку "АуроСфера". Она имеет код n2-15. После использования от ХП противника отнимется 15 единиц.

Теперь вам стоит потренироваться! Потом в этой статье появится третий уровень - невероятно сложный. :) Удачи!