Создание компьютерной игры в среде «Scratch»

XXI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание компьютерной игры в среде «Scratch»

Быков А.С. 1
1МБОУ "СОШ №91"
Семакина Т.В. 1
1МБОУ "СОШ №91"
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Краткая характеристика проекта

Создание собственной компьютерной игры в визуально объектно-ориентированной среде программирования – Скретч.

    1. Тип проекта (Практико-ориентированный)

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

    1. Время продолжительности проекта

Для создания первой компьютерной игры нам понадобилось пол года. За это время: мы провели разбор программы Скретч (возможно от англ. from scratch - «с чистого листа»), продумали сюжет игры, выбрали героев, фоны, костюмы, запрограммировали персонажей, провели тестирование.

    1. Практическая (предметная) цель проекта

Цель проекта: исследовать возможности среды Scratchдля создания компьютерных игр.

Гипотеза: мы предполагаем, что сможем сами создать компьютерную игру в среде Scratch.

Задачи работы:

  1. Выяснить какие компьютерные игры существуют.

  2. Изучить среду программирования Scratch и ее возможности.

  3. Создать собственную развивающую игру.

  4. Провести анализ полученных результатов.

Методы работы:

  1. Искать информацию в интернете.

  2. Читать книги на тему Scratch.

  3. Тестировать продукт.

  4. Делать скриншоты.

  1. Формулирование проблемы

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

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

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

Мы полагаем, что это поможет уменьшить зависимость от гаджетов в прямом виде и даст возможность в последующем программировать игры на мировом уровне.

  1. Вопросы проекта

  1. Смогу ли я сменить бессознательное использование компьютера в осознанное использование гаджета в познавательных целях?

  2. Так ли сложно программировать?

  3. Сложно ли научиться искать нужную, новую информацию (гуглить)?

  4. Сможем ли мы составить нужную цепочку команд, чтобы персонаж делал то, что требуется?

  5. Сможем ли мы наладить взаимодействие персонажей друг с другом (событийная модель).

  1. Аннотация

Шаг 1. Создание идеи

Как-то раз мы на уроке Окружающего мира, изучали тему космоса. Нам рассказали, что первое животное, выведенное на орбиту Земли была собака-космонавт Лайка (1954 — 3 ноября 1957). Эта тема меня вдохновила на создание игры. Мы придумали, что собака будет проходить испытания в космосе, где ее будут ждать разные опасности. Цель игры – добраться до планеты Земля во что бы то ни стало.

Шаг 2. Создание спрайтов

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

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

Рисунок 1

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

Рисунок 2

Шаг 3. Создание фона

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

Рисунок 3

Откроется библиотека фонов, прокрутив ее в самый низ и выбрав фон "Xy-grid". На сцене появится координатная сетка. Мы выбрали несколько фонов из сети Интернет и назвали их следующим образом: (фон Лабиринт1-2, Космос2-3, You win, Game over).

Рисунок 4

Шаг 4. Выбор костюмов

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

Рисунок 5 Рисунок 6 Рисунок 7

Шаг 5. Программирование Лайки

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

Рисунок 8

Рисунок 9

Рисунок 10

В ходе программирования Лайки мы использовали команды:
- перейти в (x;y) (указывает начальное местоположение спрайта);

- установить размер 30% (спрайту задаётся размер);

- повернуться в направлении (указывает, куда будет смотреть спрайт);

- цикл “Повторять всегда” (команда, которая будет повторять какое-то действие всегда, например: команда “идти десять шагов” будет выполняться до пределов фона);

- условный оператор, «Если..то…» (например, если нажата “стрелка вправо”, то спрайт будет перемещаться по координате x);

- если касается края (если спрайт касается пределов фона, то он отталкивается);
- когда фон сменился на (например, когда произошло изменение фона, то либо спрайт прячется, либо переходит в указанное местоположение);

Шаг 6. Программирование метеорита #1

Рисунок 11

В ходе программирования метеорита#1 мы использовали команды:
- условные операторы («Если..то…», когда метеорит касается собаки, то сразу показывается фон “Game over”);

- Когда фон сменился на Лабиринт (команда из раздела события), то метеорит переходит в положение (х;y);

- установить размер (команда из раздела внешний вид) метеорита до 80%;

- показаться на сцене (команда из раздела внешний вид);

- В цикле “Повторять всегда” – задается как перемещается метеорит и его действия будут повторяться всегда по кругу;

Шаг 7. Программирование метеорита #2

Рисунок 12

В ходе программирования метеорита#2 мы использовали команды:

- условные операторы («Если..то…», когда метеорит касается собаки, то сразу показывается фон “Game over”)

- Когда фон сменился на Лабиринт2 (команда из раздела события), то метеорит переходит в положение (х;y);

- показаться на сцене (команда из раздела внешний вид);

- В цикле “Повторять всегда” – метеорит плывет 3 секунды в случайном положении;

Шаг 8. Программирование косточки #1

Рисунок 13

В ходе программирования косточки#1 мы использовали команды:

- Когда фон сменился на Лабиринт (команда из раздела события), то установить размер косточки 15%, местоположение косточки определяется системой координат (х; y);

- условные операторы («Если..то…», «Повторять всегда» – когда собака касается косточки, то отображается фон 2-го уровня);

- показаться на сцене (команда из раздела внешний вид);

- когда фон сменился на Лабиринт2 (команда из раздела события), то задать местоположение косточки определяемой системой координат (х;y);

Шаг 9. Программирование косточки #2

Рисунок 14

В ходе программирования косточки#2 мы использовали команды:

- Когда фон сменился на Лабиринт2 (команда из раздела события), то установить размер косточки 15%, местоположение косточки определяется системой координат (х; y);

- показаться на сцене (команда из раздела внешний вид);

- условные операторы («Если..то…», «Повторять всегда» – когда собака касается косточки, то отображается фон «You win»);

- когда фон сменился на Космос2 (команда из раздела события), то спрятаться;

- когда фон сменился на «You win» (команда из раздела события), то спрятаться;

- когда фон сменился на «Game over» (команда из раздела события), то спрятаться;

Шаг 10. Создание анимации

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

В ходе программирования анимации мы использовали команды:

- Когда фон сменился на Космос3 (команда из раздела события), то повернуться в направлении 90.
- Установить размер собаки 30%, местоположение собаки определяется системой координат (х; y);

- условные операторы («Повторять 1 раз» – перемещаться 2 секунды до координаты (х;y) и говорить «Спасибо, теперь я дома».

Рисунок 15

Шаг 11. Выбор музыки

Для создания и добавления звука в программе, необходимо нажать на кнопку «Выбрать звук» в левом нижнем углу откроется библиотека звуков Scratch. Здесь все мелодии распределены по категориям («Животные», «Эффекты», «Циклы» и т.д.). Мы загрузили 3 разные мелодии для сопровождения всей игры, при проигрыше и при победе.

Шаг 11. Тестирование

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

  1. Продукт проекта

QR-КОД для прохождения компьютерной игры:


Ссылка на компьютерную игру: https://scratch.mit.edu/projects/919032480

  1. Оценка продукта

Сильные стороны: в игре задействованы основополагающие функции в программировании такие как (условные операторы «Если… То», цикл «Повторять всегда»), на которых базируются программирование.

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

В игре разработаны разные сценарии игры (событийная модель). “Что будет с Лайкой, если она столкнется с метеоритом”, “Что будет, если собака врежется в ограждения” и т.д.

В игре используются уникальные герои = спрайты, такие как метеорит, нарисованный вручную в растровой графике. Главный персонаж - Лайка, загружен из сети интернет, не из библиотеки программы.

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

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

Перспективы развития моих личных навыков – изучениеязыка программирования для написания игр – C Sharp (C#).

  1. Расчет себестоимости продукта

В себестоимость продукта вошли:

- затраты на электроэнергию, ориентировочно 7кВт в месяц.

Для справки*:

- для сельского населения тарифы на электроэнергию составляют ~ 3,24 руб./кВт*ч;

- для городского ~ 4,63 руб./кВт*ч.
ИТОГО:

  1. 7(кВт)*6(мес) = 42 (кВт)

  2. 42(кВт)*4,63(руб./кВт*ч) = 194,46 (руб) - для городского тарифа

42(кВт)*3,24(руб./кВт*ч) = 136,08 (руб) - для сельского населения

Вывод: себестоимость нашей игры составила 194,46 (руб) – городской тариф, 136,08 (руб) – сельский тариф.

Список использованных источников информации

  1. Денис Голиков «Scretch для юных программистов»

  2. https://scratch.mit.edu/

  3. https://www.youtube.com/watch?v=9XTXIAYK3zE

Просмотров работы: 54