Занятие 4. Использование страниц в Kodu Game Lab. Создание уникальных историй и персонажей

На этом занятии ты познакомишься с тем, как использовать в игре несколько страниц, это пригодится тебе для того, чтобы назначить персонажу различные свойства и правила поведения. Использование многостраничного сценария в Kodu позволит повысить привлекательность игры и продвинуть ее на новый уровень.

Также мы рассмотрим правила по которым создаются игры.

Видеоурок от программистов Microsoft FUSELABS Видео “Использование страниц в Kodu Game Lab”
Проверь себя! После просмотра видео ответьте на вопросы:

● Зачем используются страницы в игре?

● С помощью каких клавиш можно удалить/вставить код на страницу?

● Как происходит перемещение между страницами кода?

 

Упражнение 1.Работа с несколькими страницами Сюжет игры:Завод выпускает сначала мячи, потом монеты, а потом ракеты.

Для успешного выполнения упражнения и создания игры, четко следуйте предложенному алгоритму:

● Загрузите программу Kodu.

● Откройте мир Завод, созданный в упражнениях 1-2 занятия 3.

● Измените код персонажа Завод, запрограммировав его на выпуск мячей каждую секунду. По прошествии 5 секунд перейти на страницу 2, пример кода приведен на рис. 4.1.

 

Рис. 4.1. Кодирование страницы 1 на выпуск мячей

·

● На странице 2 создайте код, позволяющий выпускать монеты каждый 10 секунд. А через 30 секунд запрограммируйте перейти на страницу 3. Пример кода приведен на рис.4.2.

Рис. 4.2. Кодирование страницы 2 на выпуск монет

 

● На странице 3 добавить код для выпуска ракет.

● Запустить программу на выполнение. Посмотреть результаты. Сохранить мир.

·

Задание для самостоятельной работы: ● Измените код так, чтобы переход на следующую страницу происходил не по времени, а при накоплении определенного количества баллов. ● Измените игру Shooting Fish так, чтобы через 10 секунд после появления объект Летающая Рыба направлялся к объекту Kodu, и при их встрече происходило бы окончание игры. Проверьте функциональность вашей игры.

 

Вопросы профессионального программиста:  

● Подумайте, с какой целью программисты используют подпрограммы (вспомогательные алгоритмы)?

● Как реализуется возможность создания и вызова подпрограмм в Kodu?

● Какие дополнительные возможности вы получаете, используя подпрограммы?

 

Блиц-опрос

1. Сколько страниц находится в Kodu?

a) 1

b) 5

c) 9

d) 12

e) 20

2. Какой команды нет в основном меню работы со страницами?

a) Вырезать страницу

b) Вставить страницу

c) Переключить страницу

d) Копировать страницу

 

3. Какая команда отсутствует в контекстном меню (вызывается правой кнопкой мыши) работы со строками?

a) Вырезать строку

b) Вставить строку

c) Удалить строку

d) Копировать строку

 

 

  Упражнение 2. Создание игры по предложенному сценарию  

Вы познакомились с основными компонентами среды программирования Kodu. Но для создания собственной компьютерной игры нужна не только среда программирования, важно еще знать и общие правила создания игр.

Разделитесь на группы по 2-3 человека и попробуйте смоделировать деятельность команды по разработке проекта игры.

 

Итак, пробуем свои силы?! Ваш первый заказ:

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

 

Для справки

 

Теннис, или большой теннис — вид спорта, в котором соперничают либо два игрока («одиночная игра»), либо две команды, состоящие из двух игроков («парная игра»). Задачей соперников является при помощи ракеток отправлять мяч на сторону соперника так, чтобы тот не смог его отразить не более чем после первого падения мяча на игровом поле на половине соперника.

 

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

● два игрока;

● красочность;

● подпрыгивающий/отскакивающий объект (мяч), по которому ударяют два игрока, перебрасывая его друг другу;

● возможность вести счет.

Шаг 1.Итак, сюжет (идея и смысл) игры понятен. Для того, чтобы выполнить заказ, вам сначала понадобится сделать раскадровку игры с текстом.

 

Для справки   Раскадровка — процесс создания предварительной визуализации кадров. История раскадровки берет свое начало в эпоху немого кино.

 

Создайте на листах бумаги раскадровку, отражающую видеоигру в теннис. На различных листах должны последовательно отображаться снимки экрана, соответствующие различным этапам игры: с начала (экран названия) и до конца (экран победы).

 

Шаг 2.Создайте виртуальный мир, соответствующий сюжету игры:

● спроектируйте теннисный корт, выбрав его размеры и нанеся соответствующую разметку;

● подумайте, какие объекты можно добавить еще на территории корта и за его пределами (сетка, место для судьи на корте, трибуны, деревья за трибунами и т.п.).

 

Для справки   Теннисный корт(англ. court, от лат. cohors — огороженное место) — ровная, прямоугольная площадка для игры в теннис. Длина корта — 23,77 м, ширина — 8,23 м (для одиночной игры) .

Шаг 3. Создайте игровые объекты: персонажей-теннисистов и мяч. Обратите внимание на их свойства и подумайте, как вы будете их использовать в процессе игры.

Шаг 4.Создайте код, определяющий правила поведения игроков и объекта:

● задайте способ (клавиши) управления и перемещения игроков по полю;

● напишите программу, задающую поведение мяча;

● опишите условия изменения счёта и запрограммируйте эту ситуацию.

● реплики героев и звуки

Шаг 5.Сделайте (в соответствии с имеющейся раскадровкой) экраны начала и окончания игры.

Шаг 6. Протестируйте игру в паре. Предложите поучаствовать в тестировании своим друзьям. Внесите необходимые правки в код. При необходимости осуществите корректировку ландшафта.

Шаг 7.Проведите презентацию игры и представьте разработку каждой группы. Выскажете своё мнение о том, что вам особенно понравилось в представленных проектах, предложите конкретные шаги по доработке.

Шаг 8. Сравните ваш подход и подходы ваших друзей к программной реализации поставленной задачи по следующим параметрам:

● оформление виртуального мира и его соответствие поставленной задаче;

● прозрачность правил игры;

● корректность поведения игроков;

● алгоритм подсчета очков (работы счетчика);

Выберите наиболее удачные решения написания кода, аргументируя свой выбор.

  Вопросы профессионального программиста:  

● Какие возможности объектно-ориентированного программирования вы уже использовали?

● Продолжи фразу “Объектно-ориентированное программирование позволяет…”
Обсуди свои выводы с друзьями!

  Это интересно...  

Компьютерные игры часто создаются на основе фильмов и книг; есть и обратные случаи. С 2011 года компьютерные игры официально признаны в США отдельным видом искусства.

  Это интересно...  

Геймдизайнер — специалист, разрабатывающий правила, стиль и дизайн компьютерных игр. Роль геймдизайнера аналогична роли постановщика задачи в обычном программировании и режиссёра в кино. Профессия появилась в конце 1980-х годов.

 

 

  Это интересно...

Раздел математики под названием теория игризучает оптимальные стратегии в играх. Под игрой понимается процесс, в котором участвуют две и более сторон, ведущих борьбу за реализацию своих интересов. Каждая из сторон имеет свою цель и использует некоторую стратегию, которая может вести к выигрышу или проигрышу — в зависимости от поведения других игроков. Теория игр помогает выбрать лучшие стратегии с учётом представлений о других участниках, их ресурсах и их возможных поступках.

  Это интересно...

Существует профессия сценарист компьютерных игр. Известный сценарист канадец Дрю Карпишин создает сценарии для видео и компьютерных игр.

 


Занятие 5. Разработка своей оригинальной игры от “А” до “Я”

 

Для справки: Проект (от лат. projectusброшенный вперед, выступающий, выдающийся вперёд)— это работа, планы, мероприятия и другие задачи, направленные на создание нового продукта.  

В нашем случае проектом будет созданная игра. Какая игра? Это решать вам! Но постарайтесь, чтобы она была интересна не только вам, но и вашим друзьям, родителям, близким, которые будут в нее играть.

 

Итак, изучив все возможности Kodu, приступаем к проектированию своейигры от “А” до “Я”!

  Советы профессионального программиста:

Конечно, программировать игру можно в одиночку. Но практика показывает, что наиболее удачными являются проекты (продукты), разработанные командой профессионалов с различной специализацией: сценаристов, дизайнеров, тестировщиков и непосредственно программистов! Важно не только собрать, но и правильно распределить роли. Это этого зависит и настроение, и вклад каждого из участников, и самое главное - результат!

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

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

 

  Для справки  

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

 

Шаг 1. Для начала выберите жанр игры. Что это будет за игра? Уточним, какие бывают жанры. Выбирай…

 

Для справки: Жанр определяется целью игры. Игра может принадлежать как к одному, так и к нескольким жанрам.  

Приключенческая игра (Adventure) — игра, обладающая полноценным литературным сюжетом, и игрок в процессе игры сам раскрывает все перипетии этого сюжета.

Ролевая игра (RPG — англ. Role Playing Game) — игра, отличительной особенностью которой является наличие у персонажей определённых навыков и характеристик, которые можно обрести, а впоследствии развивать, выполняя какие-либо действия.

Компьютерный симулятор (Simulator) — игра, полностью имитирующая какую-либо область реальной жизни, например, имитация управления гоночным автомобилем или самолётом.

Головоломка (Puzzle) — игра, полностью или более чем наполовину состоящая из решения различных логических задач и головоломок.

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

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

 

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

 

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

 

Для справки: Сюжет (от фр. subjet — «предмет») — в литературе, театре, кино и играх — ряд событий (последовательность сцен, актов), происходящих в определенном порядке и выстроенных для (зрителя, игрока) .
  Советы профессионального разработчика игр:  

Проектирование сюжета, естественно, потребует:

● придумать и создать эскиз на бумаге как будет выглядеть виртуальный игровой мир (ландшафта и его объектов: вода, дороги, деревья, горы и т.д.), в котором будут развиваться события;

● придумать героев (персонажей, объекты), управление которыми происходит в процессе игры (развития сюжета) или которые будут действовать самостоятельно. Заметим, что сюжет игры, во многом будет определяться возможностями тех объектов, которыми будет управлять играющий.

В любой игре используют такие элементы как:

● Основной персонаж/персонажи (главные герои).

● Основной противник или препятствия, которые противодействуют достижению цели игры (победе). Например, препятствием может стать условие или ограничение, например, по времени.

● Второстепенные персонажи.

Рис. 5.1. Идея сюжета игры

 

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

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

● Какую миссию будут выполнять главные герои (персонажи, объекты)?

● Нужны ли в вашей игре дополнительные герои и объекты? С какой целью?

● Будут ли персонажи и объекты, препятствующие достижению цели?

● Что каждый из героев умеет/будет делать (роль каждого из них в сюжете)?

● Каковы свойства и характеристики выбираемых объектов и как они будут использоваться в процессе игры?

● При каких условиях и в каких обстоятельствах будут использоваться те или иные свойства (возможности) персонажей (объектов)?

● Как будет осуществляться управление персонажами (объектами)?

 

Итак, на этом шаге вы должны:

● придумать ландшафт и выбрать управляемые объекты;

● изучить/освежить в памяти возможности управляемых персонажей (объектов);

● выбрать варианты поведения персонажей согласно сюжету.

 

Шаг 3. Детализируем цель игры.

  Советы профессионального разработчика игр:  

Очевидно, что сюжет игры должен быть ориентирован на какой-либо результат. Каждый играющий в вашу игру должен понимать, что он должен сделать, каков должен быть результат.

Как правило, цель игры (а значит, и победа игрока!) во многом определяется ее жанром. Например, игрок должен по сюжету:

● набрать как можно больше баллов (очков);

● то или иное действие выполнить за ограниченный период времени (например, лабиринт надо пройти за 2 минуты);

● прийти к финишу первым;

● собрать/создать/открыть/разрушить/освободить/ те или иные объекты, персонажей, информацию и т.п.

● соревноваться с другим персонажем, управляемым вторым игроком.

 

Результат этого шага -определить цель проектируемой вами игры и миссию игровых персонажей (героев, объектов) в процессе достижения этой цели.

 

Шаг 4.Создаём раскадровку и описываем правила игры.

  Советы профессионального разработчика игр:  

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

Пример правила: Объект Рыбаисчезает при столкновении с объектом Снаряд

 

Шаг 5. Создаем игровой мир, ландшафт, атмосферу согласно нашей раскадровке и сюжету.

  Советы профессионального разработчика игр:  

Такие вещи как цвет неба, текстура ландшафта, наличие или отсутствие воды влияют на восприятие игроком сюжета и его отношение к игре. Вид игрового мира должен соответствовать сюжету и жанру игры.

Пример:Если действие приключенческой игры происходит в дремучем лесу, то уместно выбрать тёмный цвет неба (а не ярко-голубой!).

 

Шаг 6. Добавляем персонажей. Программируем действия героев (персонажей, объектов) согласно разработанным правилам и сюжету игры .

 

Шаг 7. Проводим тестирование игры.

 

 

  Советы профессионального разработчика игр:  

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

Когда игра будет готова, пройдите ее от начала и до конца. Во время прохождения обращайте внимание не только на корректность поведения героев, но и на детали. Постарайтесь сделать что-то против заданных вами правил! В процессе разработки используйте метод “защита от дурака”.

  Для справки  

Защи́та от дурака́ — защита предметов пользования (в особенности, техники), программного обеспечения и т. п. от очевидно неверных действий человека, как при пользовании, так и при техническом обслуживании или изготовлении.

 

Также важно в процессе тестирования пройти игру всеми возможными путями, перебрав все варианты.

Проверьте, реализована ли цель игры и соответствует ли она обозначенному жанру.

 

Шаг 7.Презентация игры.

  Советы профессионального разработчика игр:  

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

● Расскажите о сюжете и правилах вашей игры, что вас вдохновило на ее создание.

● Представьте свою команду разработчиков (кто за что отвечал при разработке), отметьте вклад каждого участника.

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

 

Шаг 8. Поделитесь (загрузите) своей игрой в сообществе Kodu и на сайте “ИТ для молодёжи” .

 

Дорогие друзья!

Вот и закончились 5 занятий по освоению Kodu. Вы сделали первые шаги в программировании и получили важные навыки по созданию 3D-игр. Теперь вы знаете и умеете:

● разрабатывать сюжет и стратегию игры;

● проектировать виртуальный мир, создавать и редактировать модель местности;

● управлять объектами, создавая программный код;

● привязывать действия объектов к определенному времени;

● использовать звуковое сопровождение в игре;

● программировать счет очков и др.

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

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

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

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

 

Пожалуйста, поделитесь мнением о пройденном курсе, заполнив выходную анкету.