KnigkinDom.org» » »📕 Создаем игры с нуля! 3 книги для старта в гейм-деве - Григорий Радовильский

Создаем игры с нуля! 3 книги для старта в гейм-деве - Григорий Радовильский

Книгу Создаем игры с нуля! 3 книги для старта в гейм-деве - Григорий Радовильский читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

1 ... 173 174 175 176 177 178 179 180 181 ... 195
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
и интегрировать кондишены по ним. Существует две версии: однопользовательская – для индивидуальной работы сценариста и многопользовательская – для совместной командной работы. Проект articy: draft экспортируется в движки Unity, Unreal Engine, в формат JSON, Word и таблицу Excel. Среди игровых проектов, прибегавших к этому инструменту: Disco Elysium, Suzerain, HipWitch, Saint Kotar, Gardenscapes, Spellforce 3 и другие.

Глава 11

Переменные. Программистская логика в структуре сюжета

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

Существует немало других возможностей и методов обойтись без сложных математических систем, выстраиванию баланса и созданию проекта, о чем мы уже говорили в главе 10 «Как это сделано». Нам хорошо бы разобраться в базовой логике выстраивания повествования с помощью самых простых переменных и их наборов. Мы не будем погружаться в глубины программистской архитектуры и философии, а лишь затронем те сущности, которые стоит знать игровому сценаристу и нарративному дизайнеру при создании интерактивных историй разных жанров.

Что такое переменные?

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

Переменная – это хранилище данных с каким-то значением, которое впоследствии может использоваться в программе.

Вначале мы, конечно, должны обозначить переменную, придумать ей имя – задать, то есть сделать ей своеобразную «упаковку» – инструкцию (instruction). Для этого применяются разные языки программирования, и переменные назначаются в зависимости от синтаксиса. Обычно переменные задаются английскими словами на латинице – для распознавания кода большинством программ. Пробелы не используем, они вообще являются страшным проклятьем в коде, так как не сразу заметны, надо быть внимательнее и обязательно удалять их. Вместо пробелов можно использовать нижнее подчеркивание или воспользоваться системой CamelCase (с англ. «ВерблюжийРегистр», также «ГорбатыйРегистр»), где каждое выделенное слово в переменной начинается с большой буквы. К примеру, RedMagicHat. Программисты вам скажут спасибо!

Что же это за «упаковка» такая? Давайте попробуем визуализировать ее на примере.

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

При этом, если представить переменную в виде подарочной коробочки, например назовем ее box, то внутрь мы можем положить какую угодно игрушку для ребенка – doll.

И мы можем менять игрушку столько раз, сколько потребуется.

box = 'doll!';

box = 'bear!';

И так далее. Все зависит от концепции использования переменных в нашем проекте.

Типы переменных и их логика

Переменные мы будем рассматривать в рамках визуального программирования, то есть метода работы с графическими объектами, без написания строчек кода, с так называемыми нодами. Это несложный способ понять, как работать с переменными без знания языка программирования. Мы коснемся лишь той части знаний, которая нужна для логики построения интерактивных историй.

Переменные по зоне видимости

Глобальные (Global) – переменные, которые доступны всей программе во всем проекте.

Локальные (Local) – переменные, которые доступны конкретной подпрограмме.

Мы остановимся лишь на первом варианте – на глобальных переменных, именно они актуальны для наших целей.

Переменные по функциональности

У каждой переменной есть своя функция и способ объявления, это как раз наша пресловутая «упаковка», о которой мы говорили чуть выше. Итак, мы рассмотрим три вида переменных.

● Логические булевы (Boolean)

● Строковые (String)

● Целочисленные (Integer)

Логическая булева переменная (Boolean Variable)

Это переменная, которая несет в себе информацию о том, истинно или ложно то или иное свершение, событие, утверждение, данные. Мы оперируем понятиями правда (true) или ложь (false). Исходя из этой довольно простой программной логики, можно создавать весьма ветвистое сюжетное древо.

Пример

Давайте рассмотрим логическую (булеву) переменную на примере.

Дед Мороз положил в один подарочный мешочек плюшевого мишку, а в другой – куклу. Какой подарок получит Мария, мы можем запомнить и использовать дальше в истории.

Мы вводим переменную Bear и фиксируем данную информацию таким образом:

● true (да, правда) – это наличие медведя.

● false (нет, ложь) – это отсутствие медведя.

Соответственно, в тех моментах истории, где важна подаренная Дедом Морозом игрушка, мы пользуемся логикой переменной Bear, проверяя, есть ли у Марии медведь.

Целочисленная переменная (Integer Variable)

Это переменная, которая несет в себе информацию о том, сколько прибавляется к той или иной игровой сущности (или убавляется от нее). Мы оперируем числовыми понятиями, обычно используемыми для прокачки отношений, инвентаря, коллекций.

Давайте рассмотрим целочисленную переменную на примере.

У Деда Мороза был продуктивный рабочий день, он упаковал 10 подарков: либо плюшевых медведей, либо кукол.

Мы вводим глобальную переменную Gifts и переменные внутри нее – Bear и Doll.

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

Строковая переменная (String Variable)

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

Давайте рассмотрим строковую переменную на примере.

Мария получила от Деда Мороза в подарок мишку. Игрок может дать ему имя или оставить то, что предлагается по дефолту.

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

Набор переменных (Variable Set)

В глобальных переменных можно выбрать набор переменных (Variable Set), отвечающих за какой-то общий параметр нашего проекта. Например, это могут быть Диалоги (Dialogues), куда мы вносим переменные по запоминанию ответов на диалоги на протяжении истории и, соответственно, выбор сюжетной ветки в зависимости от них. Или Инвентарь (Inventory), когда нам нужно ввести тот или иной предмет в процессе игры.

1 ... 173 174 175 176 177 178 179 180 181 ... 195
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.


Партнер

Новые отзывы

  1. Людмила. Людмила.06 ноябрь 22:16 гг тупая, не смогла читать дальше, из какого тёмного угла выпала эта слабоумная, и наглая. Неприятная гг, чит а ть не возможно, и... Нелюбимый муж. Вынужденный брак для попаданки - Кира Райт
  2. Гость Татьяна Гость Татьяна06 ноябрь 21:07 Книга не понравилась. Есть что- то напыщенное, неестественное. ... Ищи меня в России. Дневник «восточной рабыни» в немецком плену. 1944–1945 - Вера Павловна Фролова
  3. Гость Гость Гость Гость06 ноябрь 16:21 Очень увлекательный сюжет. Хороший слог. Переводчику этого автора отдельное спасибо. Прочитала чуть ли ни в один присест.... Невинная - Дэвид Бальдаччи
Все комметарии
Новое в блоге