Scratch программирование

Scratch: программирование игры в жанре РПГ

Главная страница » Scratch для детей » Scratch: программирование игры в жанре РПГ

Приблизительное время чтения: 15 минут

RPG-игры, или игры, где нужно «вжиться» в роль — жанр компьютерных игр, где пользователь берет на себя роль героя, который развивается в вымышленной реальности. И сегодня мы попробуем создать игру такого жанра при помощи инструментов Scratch программирования.

Создание игры в скретч не предполагает проработанной графики и геймдизайна, какие мы можем видеть, например, в The Elder Scrolls V, Final Fantasy VII и пост-апокалиптической Fallout 4. Однако, для уровня детского программирования на Scratch такая игра будет хорошим обучением основам кодирования.

Давайте же начнем!

Как сделать игру в скретч в жанре РПГ: подробный гайд

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

Подготовка к созданию РПГ игры на скретч

Scratch программирование

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

Scratch программирование

Как создать игру в скретч: делаем меню выбора персонажа 

В меню мы сможем выбрать персонажа: мага или рыцаря. Этот выбор будет воздействовать на внешний облик геймера и его тип атаки. Для этого создадим переменную «персонаж», которая примет значение 1 для мага и 2 для рыцаря. Кнопка выбора персонажа будет отправлять сообщение «выбор 1» или «выбор 2».


Чтобы управлять кнопками, добавим код, который будет прятать кнопку при ее активации или при активации другой кнопки.

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

Скриптинг игрока в среде программирования для детей Scratch

В начале игры игрок будет невидим. При выборе персонажа мы будем отображать соответствующий костюм и задавать значение переменной «персонаж» (1 для мага и 2 для рыцаря).

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

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

Далее добавим условия столкновения игрока с врагом и с атакой. При столкновении с врагом будет отправлено сообщение «столкновение с врагом», а при атаке – сообщение «атака».

Как сделать в скретч игру РПГ: визуализация атаки персонажа

Для реализации атаки мечом, сначала привяжем спрайт меча к игроку и спрячем его.


В блоке сообщения «атака» проверим переменную «персонаж», определяющую выбранного персонажа. Если выбран рыцарь, то мы отобразим спрайт меча и повернем его на 60 градусов, что симулирует удар.


Перейдем к спрайту магического шара в нашей игре скретч РПГ. После проверки на выбранного персонажа (маг), мы подождем 0.5 секунды и создадим клон шара. Клон шара будет отображен и будет двигаться от игрока в сторону врага.

Работа с перемещением алгоритмами скретч программирования

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

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

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

Scratch программирование

В этом блоке мы будем проверять координаты игрока. Если игрок подошел к краю локации, то мы перемещаем его на противоположный край экрана и отправляем сообщение «смена карты».

Scratch программирование игр: генерация камней

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

Начнем с расположения камней на карте. Спрячем спрайт камня и будем работать с блоком сообщения «смена карты». При смене карты нужно удалить старые камни, поэтому в цикле удаляем все клоны камня. Затем в цикле со случайным значением от 1 до 5 создаем новые клоны камня и располагаем их в случайных местах на карте.

Скидка на Scratch программирование для новых учеников

    Отправляя заявку, вы соглашаетесь с политикой конфиденциальности

    Как сделать РПГ в скретч: проектирование и генерация деревьев

    Деревья будут располагаться на карте точно таким же образом, как и камни.

    Создаем врагов на платформе Scratch программирования

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

    Мышь будет летать по карте, пока игрок не атакует ее мечом или магией.

    Создание жизней в разработке игры 

    Игрок будет начинать игру с тремя жизнями. Когда они закончатся, игра завершится. Для этого создадим переменную «жизни» и присвоим ей значение 3.

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

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

    Отображение жизней в редакторе Scratch программирования

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

    При запуске игры нужно задать положение сердечек на экране и отобразить текущее количество жизней в интерфейсе.

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

    Scratch программирование

    Добавляем начало игры и условие победы в Scratch программировании

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

    Scratch программирование

    Сначала напишем код для жителя: при выборе игрока житель выдаст задание, а при смене локации исчезнет.

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

    Scratch программирование

    При генерации новой локации, принцесса появится с 10% вероятностью. Мы будем генерировать случайное число от 1 до 10, и если оно будет равно 1, то принцесса появится на ней.

    Доработка игры скретч РПГ

    Чтобы спрайты не перекрывали друг друга, нам нужно отрегулировать их положение на экране. Переместим фон на задний план:

    Кнопки выбора персонажей вытащим на передний план:

    Scratch программирование

    Также спрячем переменные, чтобы они не отвлекали внимание. После этих изменений проверим результат.

    На этом наш гайд закончен. Если вдруг ваш результат отличается от финального, советуем еще раз пройтись по скриптам с разработкой в статье и сравнить со своим кодом. Уверены, у вас все получится!

    Scratch программирование

    Этот урок — наглядный пример того, как при помощи инструментов Scratch программирования каждый желающий может собрать свою собственную игру. По ссылке вы найдете и другие мини-уроки по обучению Scratch для детей бесплатного формата.

    Где научиться основам программирования на Скретч?

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

    Для детей от 8 до 12 лет онлайн-школа программирования для детей PIXEL предлагает обучение на курсе Scratch-программирования. Программа нацелена на творческую реализацию каждого ребенка, разработку интерактивных проектов.

    Ссылка: https://pixel.study/scratch

    Школа обладает лицензией на ведение образовательной деятельности, что подтверждает ее легитимность. В штате организации более 100 опытных преподавателей. Обучение здесь доступно для всех: предлагаются групповые курсы, индивидуальные занятия, видеокурсы и онлайн-лагерь, позволяющие учиться в удобном формате и месте. Длительность занятий — 90 минут, количество уроков в неделю меняется в зависимости от формата (от 1 до 5 занятий).

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

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

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

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

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

    В школе предлагаются различные варианты обучения для всех желающих: ребенку не обязательно иметь начальные навыки кодинга или хорошо знать математику, чтобы заниматься на курсе по основам программирования на Скретч. Новым клиентам доступна скидка 10% на абонемент от 12 занятий, а также возможность оплатить обучение в рассрочку 50/50.

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

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

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

    Рубрики: , , , , , , , , , , , , , , , , , , , ,
    Share
    Опубликовано: 18 ноября 2024 181
    Подписаться
    Уведомить о
    guest
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
    Михаил
    Михаил
    16 дней назад

    Супер!