Как создать игру на unity

\Локации

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

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

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

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

Не забывай в конце каждой локации писать строчку с командой \СТОП.

Напишем парочку локаций:

\Первая локация
Этот текст из первой локации.
\СТОП


\Вторая локация
Этот текст из второй локации.
\СТОП

В коде выше есть две локации с именами «Первая локация» и «Вторая локация».

Сначала код выполняется начиная с \Первая локация и до команды \СТОП

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

Делаем игру немного умнее

Игра почти готова. Жаль, что играть вам не с кем. В качестве последнего этапа я покажу, как управлять оппонентом с помощью простой ИИ. Оппонент будет пытаться держаться параллельно мячу, когда тот летит в его сторону. Если оппонент ловит мяч, он перемещается случайным образом и бросает мяч в случайном направлении. Чтобы сделать ИИ чуточку человечнее, я добавлю задержки во все, что делается на поле. Это не особо умный ИИ, но все же против него будет можно играть.

При разработке системы такого рода хорошо мыслить состояниями. ИИ оппонента имеет три возможных состояния: following (следует), aiming/shooting (прицеливание/бросок) и waiting (ожидание). Начнем только с объекта AI:

В зависимости от состояния AI (ИИ) я хочу, чтобы он выполнял разные действия. По аналогии с мячом я создам функцию update, которую смогу вызывать в requestAnimationFrame, чтобы AI действовал в соответствии со своим состоянием:

Состояние FOLLOWING достаточно простое. Оппонент перемещается в вертикальном направлении мяча, и AI переходит в состояние WAITING, чтобы добавить некоторое замедление реакции. Эти два состояния показаны на рис. 15.

При разработке системы такого рода хорошо мыслить состояниями.

Рис. 15. Простое состояние FOLLOWING

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

Запустив игру, вы увидите, что оппонент следует за перемещениями мяча — не такой уж и плохой ИИ, состоящий менее чем из 30 строк кода. Конечно, если оппонент поймает мяч, он ничего делать не будет. Поэтому на излете отведенного мне часа пора заняться обработкой действий для состояния AIMING. Я хочу, чтобы ИИ заставлял вашего оппонента случайным образом перемещаться несколько раз, а затем кидать мяч в случайном направлении. На рис. 16 добавлена закрытая функция, которая именно это и делает. Добавление функции aimAndFire к выражению case с AIMING создает полнофункциональный ИИ, против которого интересно играть.

Рис. 16. ИИ прицеливается и бросает мяч

Играем стильно

Если бы вы загрузили эту страницу, то ничего не увидели бы, потому что никакого стиля не применено. Я уже подготовил ссылку на файл main.css в своем HTML, поэтому помещу все CSS в новый файл с тем же именем. Первым делом я позиционирую все элементы на экране

Тело страницы должно занимать весь экран, поэтому сначала я уделяю внимание этому:

Во-вторых, мне нужно, чтобы арена была заполнена фоновым изображением (рис. 3):

Рис. 3. Фоновое изображение для арены

Далее я размещаю табло. Я хочу, чтобы оно находилось вверху по центру — поверх других элементов. Команда «position: absolute» позволяет разместить его где угодно и оставить там: 50% — позиционирует табло посередине верхней части окна, но начиная с самой левой части элемента табло (scoreboard element). Чтобы гарантировать точную центровку, я использую свойство transform, а свойство z-index обеспечивает, что табло будет всегда находиться поверх других элементов:

Я также хочу использовать текст со шрифтом в стиле ретро. Большинство браузеров позволяет включать собственные шрифты. Я счел подходящим шрифт Press Start 2P от codeman38 (zone38.net). Чтобы добавить шрифт к табло, я должен создать новое начертание шрифта (font face):

Теперь результаты (scores) находятся в теге h1, поэтому я могу задать этот шрифт для всех тегов h1. На случай отсутствия этого шрифта я предусмотрю несколько запасных вариантов:

Для других элементов я буду использовать таблицу изображений-спрайтов. Таблица спрайтов (sprite sheet) содержит все необходимые игре изображения в одном файле (рис. 4).

Рис. 4. Таблица спрайтов для Ping

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

Любому элементу, имеющему изображение в этой таблице, будет назначен класс sprite. Тогда для каждого элемента я буду использовать background-position, чтобы определить, какую часть таблицы спрайтов мне нужно показывать:

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

Теперь мне нужно указать позиции каждого спрайта в таблице для каждого элемента. И вновь я буду делать это с помощью background-position, как показано на рис. 5.

Рис. 5. Добавление смещений для таблицы спрайтов

Свойство position: absolute в player, opponent и ball позволит мне перемещать их по полю, используя JavaScript. Если вы посмотрите на страницу теперь, то увидите, что к элементам управления и мячу прикреплены ненужные куски. Дело в том, что размеры спрайтов меньше 128 пикселей по умолчанию, поэтому я подстраиваю их под правильный размер. Мяч всего один, и я задаю его размер напрямую:

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

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

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

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

LearningApps

Это конструктор интерактивных заданий, которые помогут закрепить знания в игровой форме. Сервис позволяет создавать разные типы упражнений: «Хронологическая линейка», «Классификация», «Кроссворд», «Заполнить пропуски», «Викторина с выбором правильного ответа» и другие.

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

Упражнение в формате «Составьте пару», в котором необходимо соотнести имена персонажей «Преступления и наказания» с их описаниями. Скриншот: LearningApps

UNITY

Кроссплатформенный коммерческий игровой движок, разработанный Unity Technologies. Он использовался для таких игр, как Untitled Goose Game, Ori and Will of the Wisps и Hollow Knight.

Фото: epicgames.com

Для разработки: 2D- и 3D-игр.

Платформы: Windows, macOS и Linux.

Языки программирования: C#.

Стоимость: Бесплатно для личного пользования предоставляется студентам и любителям, а также небольшим компаниям, которые зарабатывают менее 100 000 долларов в год. Помимо этого, существуют годовые планы, начинающиеся с 399 долларов в год или 40 долларов в месяц.

Обучение: Unity предоставляет некоторые бесплатные ресурсы, чтобы помочь новичкам начать работу с движком. Но в рамках программы Unity Learn Premium она предоставляет гораздо больше возможностей, включая курсы, учебные пособия и даже сертификаты. Unity Learn Premium в настоящее время бесплатна до 10 июня 2020 года, но обычно стоит 15 долларов в месяц.

Начало работы: https://learn.unity.com/tutorial/create-your-first-unity-project

База для игр

Важная часть 2D-игры – это простой скелет. Основная масса браузерного софта представлена в виде основного цикла. Кодификация будет выполняться множество раз в процессе реализации контента.

При создании self made games на Pygame важно уметь «прикреплять» различные объекты, при помощи которых человек сможет играть в браузере и наслаждаться процессом. Это не так трудно даже начинающим программерам

Основы PyGame

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

С ней будет осуществляться дальнейшая работа.

Теперь важно подключить библиотеку. Проводится соответствующее действие командой import pygame

Далее предстоит выполнить следующие манипуляции:

  1. Вызвать функцию init() для подготовки модулей «движка» к функционированию – pygame.init().
  2. Создать графическое окно – screen = pygame.display.set_mode ((1200, 800)).
  3. Запустить основной цикл утилиты. Здесь будет перехватываться закрытие основное графокна юзером.

Как только желаемое событие наступает, предстоит завершить работу с библиотекой (def update pygame) посредством pygame.quit(). Далее требуется вызвать exit() из модуля sys.

Создание геометрии

В утилите можно размещать разнообразные фигуры. Пример – прямоугольник. В Питоне и Pygame при создании Self Game используется тип Rect.

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

В библиотеке функции отображения фигур геометрического типа расположены в модуле draw. Рисуется рассматриваемый объект через rect().

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

  • цвет;
  • сама фигура;
  • толщина линий.

Вот пример приложения:

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

Оттуда отображение корректировок вызываются посредством flip().

Прочие операции для рисования фигур

При создании Self игрушек в Pygame могут использоваться различные операции и функции. Их основа – геометрические фигуры:

  1. (surface, color, start_pos, end_pos, width=1). Происходит рисование линии на поверхности заданного цвета. Начало – в точке «старт», конец – в «энд». Толщина линии – width.
  2. (Surface, color, closed, pointlist, width=1). Рисуется линия, которая соединяет последовательности «поинлист» на заданной поверхности установленным цветом. Каждая точка – это пара координат. Здесь xlosed равен True, а конец соединяется с начальной.
  3. (Surface, color, pos, radius, width=0). Рисовка окружности с центром в точке «пос» и заданным радиусом. Если width = 0, происходит закрашивание круга.
  4. (Surface, color, Rect, width=0). Создание в Pygame эллипс, ограниченный прямоугольником Rect. При нулевом параметре width происходит закрашивание фигуры.
  5. (Surface, color, pointlist, width=0). Изображение многоугольника из последовательностей «поинтлист». Каждая точка – это пара координат. Если последний элемент = 0, фигура закрашивается полностью.

Пока этого будет достаточно для практики. Цветовые гаммы представляются моделью RGB. Цвет задается тройкой чисел от 0 до 255. Чем меньше значение числа, тем темнее получится в итоге оттенок.

Также есть модуль color, который содержит словарь thecolors. Там ключи – это цветовые гаммы. Подключение производится командой from pygame.color import thecolors.

Основной экран можно закрасить через метод fill().

Шрифт и текст

Если пользователь делает игру или иной контент, ему не обойтись без текста и шрифтов. Последние представлены Font. Для создания соответствующего типа используется функция SysFont (имя, размер, bold=False, italic=False).

Здесь:

  • задается имя шрифта – первый элемент после скобок;
  • размер в ПТ – «размер»;
  • bold и italic – на начертание.

Чтобы посмотреть все шрифты, имеющиеся в базе, стоит воспользоваться операцией get_fonts():

Теперь через метод render() можно вывести картинку с текстом, которая передается методу vlit() для отображения на основном экране:

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

Wordwall

Пользователю доступны до 33 интерактивных шаблонов и до 21 шаблона для печати — их количество зависит от выбранного тарифного плана. Чтобы сделать свою игру, требуется выбрать формат, заполнить шаблон учебным контентом и добавить в онлайн-урок. Или распечатать материалы, если занятие проходит офлайн.

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

Интерактивное задание для учащихся младших классов по теме «Вопросительные слова». Видео: Wordwall / Skillbox

Ловим мяч

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

Рис. 10. Заставляем мяч следовать за своим владельцем

На данный момент способа получить позицию объекта Player пока нет, поэтому я добавлю аксессоры getPosition и getSide в объект Player:

Теперь, если у мяча есть владелец, он будет следовать за этим владельцем. Но как определить владельца? Кто-то должен поймать мяч. На рис. 11 показано, как узнать, когда один из спрайтов игроков касается мяча. Когда это происходит, я устанавливаю владельцем мяча этого игрока.

Первый шаг в реализации класса player — заставить функцию move изменять позицию игрока.

Рис. 11. Обнаружение коллизии для мяча и игроков

Если вы сейчас попытаетесь поиграть в эту игру, то обнаружите, что мяч отскакивает от верхнего края экрана и что можно двигать игрока, чтобы поймать мяч. А как бросить мяч? Для этого и предназначены элементы управления по правую руку. На рис. 12 игроку добавлена функция fire, а также свойство aim.

Рис. 12. Свойство aim и функция fire для мяча

Код на рис. 13 дополняет функцию, связанную с клавиатурой. Он задает aim и fire объекта игрока. Прицеливание работает слегка иначе. Когда клавиша прицеливания освобождается, задается прямое направление (straightforward).

Рис. 13. Подготавливаем функцию прицеливания для игрока

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

Как создать свою игру на компьютер

   12.11.2015

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

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

Как создать свою игру на компьютер с помощью KODU от Microsoft?

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

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

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

Как создать свою игру на компьютер с помощью Construct 2?

Это довольно удобный и интуитивно понятный конструктор для создания 2D игр на компьютере. Чтобы работать в этой программе, знание языков программирования необязательно.

Примечательно, что в Construct 2 создать свою игру можно не только на компьютер, но и на мобильные платформы (iOS, Android), для социальных сетей (Facebook), а также для браузеров.

Боле подробный список поддерживаемых платформ представлен на сайте разработчика.

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

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

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

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

Как создать свою игру для компьютера с помощью Unity 5?

Это довольно популярная, многофункциональная программа для создания компьютерных игр в 3D.

В Unity 5 вы можете создавать игры в любых жанрах. Поддерживается не только ОС Windows, но и мобильные платформы, игровые консоли и браузеры.

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

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

2D анимация

У вас есть два варианта для создания 2D анимации:

  • Кадр за кадром. Здесь вам придется рисовать каждый кадр анимации и затем соединять их воедино. Для этого вам следует использовать спрайт- листы вместе с TexturePacker (или, если вы используете Unity — Sprite Packer).
  • Скелетная анимация. Нарисуйте все нужные конечности объекта и затем анимируйте, меняя их положение относительно предыдущего состояния. Этот способ анимации быстрее, проще и сэкономит место на вашем жестком диске, по сравнению с анимацией «кадр за кадром». Если вы решили создать 2D анимацию и используете движок Unity — попробуйте начать с анимации спрайтов или Anima2D.

Где обучаться созданию игр

  • SkillBox — онлайн-университет, который предлагает сразу несколько курсов для желающих внедриться в сферу разработки игр. «Профессия геймдизайнер» это — обучение созданию игр от концепции до релиза. Используется движок Unity. Длительность обучения 8 месяцев, компания оказывает помощь в трудоустройстве, обеспечивает участие в реальных проектах.
  • Нетология приглашает на курс «Геймдизайнер», в процессе которого кроме изучения базовых технологий обучающиеся создадут реальные проекты, необходимые для трудоустройства. Разработка прототипа собственной игры — на популярном движке Unreal Engine, программа обучения включает не только планирование и написание кода, но и ознакомление с маркетингом.
  • Факультет разработки игр Онлайн-университета Mail.Ru приглашает на обучение и предлагает отправиться на собеседование с рекомендациями со своей полностью готовой игрой. Акцент — на практику, освоение актуальных технологий. Эти курсы по созданию игр хороши тем, что  они проходят на реальном факультете реального университета. Обучением занимаются опытные разработчики с высшим образованием, имеющие ученые степени, практикующие программисты.
  • Udemy — видеохостинг, где можно ознакомиться с большим количество разных курсов на любой вкус. Одни из самых популярных — Разработка игр на Unity 3D, Разработка HTML5 игр на Phaser 3. Можно также изучать геймдев на практике в процессе создания игры. Хороший пример — курс «Шахматы на C# и Unity», с помощью которого можно научиться программированию на C# и созданию игр на   телефоне.

Godot

Движок разработан двумя программистами из Аргентины — Хуаном Линетски (Juan Linietsky) и Ариэлем Манзур (Ariel Manzur) в 2007 году. Несколько лет Godot был основой для внутреннего ПО некоторых латиноамериканских компаний. До того как исходный код движка выложили в открытый доступ, его итерации выходили под разными названиями: Larvotor, Legacy, NG3D и Larvita. Godot до сих пор активно поддерживается благодаря пожертвованиям на Patreon от сообщества, заинтересованного в развитии технологии.


Kingdoms of the Dump — игра, созданная на Godot

Достижения:

  • согласно данным портала itch.io, Godot занимает пятое место среди самых популярных игровых движков, оставив позади себя RPG Maker и Unreal Engine 4;
  • на Godot сделано более 5 000 проектов;
  • в начале 2021 года разработчики получили грант на 120 тысяч долларов от волгоградской студии «KEFIR!».

Преимущества:

  • подходит для 2D-игр;
  • в отличие от Unity, поддерживает систему измерения в пикселях и облегчает создание пиксель-арта;
  • мультиплатформенный редактор (Windows, macOS, Linux) работает в двух режимах — 32 и 64 бита;
  • скрипты реализованы проще, чем в других движках: помимо собственного GDScript, есть полная поддержка C# 8.0, C++, а также визуальное программирование;
  • гибкая система анимации объектов, встроенная в движок;
  • наличие подробной документации в сообществе, а также много полезной информации на reddit.

Недостатки:

  • 2D-физика и тени реализованы хуже, чем в других бесплатных движках;
  • могут возникнуть трудности с перемещением и изменением объектов на уровне;
  • 3D-движок не может конкурировать с более мощными альтернативами;
  • не поддерживает консоли;
  • ограниченная интеграция со сторонним API;
  • отсутствие знаковых хитов.

Игры на движке: Kingdoms of the Dump, The Garden Path, Until Then, Ex Zodiac, GDQuest.

Я заинтересовался Godot, когда искал альтернативу Unity/UE4 c открытым исходным кодом, и начал с ним работать в октябре 2019 года. До этого я делал игры на GameMaker, потом перешёл на Unity, чтобы сделать первую 3D-игру, и продолжал на нём работать, пока не попробовал Godot. Теперь я работаю только на нём. В процессе разработки нередко возникают проблемы с исправлением багов. Некоторые ошибки появляются в самых неожиданных местах, и сложно найти корень проблемы. Ситуацию усложняет скудное и запутанное описание к ним

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

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

Леонардо «Leocesar3D» Велозу (Leonardo «Leocesar3D» Veloso), инди-разработчик (Human Diaspora).

Интервью в марте 2021 года


Human Diaspora

«Каждый день я сталкиваюсь с молодыми людьми, убеждёнными в том, что Unity и UE4 — это единственные движки, которые стоит изучать. Они игнорируют тот факт, что экосистема геймдева разнообразна: игры создаются как на популярных, так и на собственных движках. <…> Godot не конкурирует с другими инструментами, ведь он создан не для прибыли. Мы заинтересованы в том, чтобы мотивировать разработчиков поработать на нём. Это поможет не только развеять мифы о разработке игр, но и увеличит количество людей, активно работающих над улучшением технологии, которая навсегда останется бесплатной для всех».

Райан Хьювер (Ryan Hewer), CEO Little Red Dog Games (Precipice).

«What is the best game engine: is Godot right for you?», апрель 2020 года


Precipice

Unreal Engine

Средний продвинутый уровень / Бесплатный / Для всех типов видеоигр

Если вы хотите что-то серьёзное, чтобы получить лучший результат, то ваш выбор – Unreal Engine.  Это сверхпопулярный движок среди разработчиков видеоигр, на котором создаются в том числе дорогие и успешные блокбастеры от именитых студий мира. Но прежде, чем бросаться изучать Unreal, подумайте, возможно, вашему первому проекту не нужен такой мощный инструмент.

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

С чего начать? 

  • Если вы новичок, мы рекомендуем для начала задуматься над вышеперечисленными вариантами, но если вы полны решимости, то для вас нет ничего невозможного. Переходите в раздел документации и справочников Unreal Engine и начинайте мастерить.
  • Чего можно достичь: просто взгляните на этот огромный список.
  • Дополнительная информация на официальном сайте Unreal Engine.

Знаете какой-то отличный не включённый в список инструмент? Или вы профессионал и хотите что-то порекомендовать? Добро пожаловать в комментарии! С удовольствием выслушаем ваши предложения.

Шаг 1. Придумать сюжет и пространство игры

Необязательно придумывать историю, достойную Вселенной «Звездных войн» — максимально простые сюжеты тоже становятся культовыми (привет червяку Джиму и Марио, которых помнят все, у кого были «Денди» или «Сега»). Дети понимают такие истории, да и взрослых они затягивают.

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

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

Мне кажется, если прийти к ребенку и сказать: «Вот ты три часа играл в Roblox, но на самом деле это просто трюк, который кто-то придумал», — это переориентирует его на то, чтобы он стал сопричастным к созданию этой игры.

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

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

А еще в играх вовсю работают законы драматургии. Например, в курсе «Игры на Python» ученики изучают принцип чеховского ружья, по которому в сюжете остаются только те элементы, которые его поддерживают и усиляют, а все остальное — удаляется.

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

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

Теоретический блок мы объясняем на пальцах. Например: «Кто-то постучал в дверь. Ты открываешь дверь, а там Годзилла», — это называется твист, неожиданный поворот сюжета.

После теории сразу практикуемся: предлагаем придумать твист для скучной истории. Ученики отвечают: «Кошка легла спать, потом встала, подошла к зеркалу, а в зеркале она не отразилась». Засчитано: ребята поняли, что такое твист.

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

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

Запишите ребенка на курс «Игры на Python» в онлайн-школе Skysmart: уже через 5 месяцев он сможет похвастаться не только собственной игрушкой, но и знаниями в драматургии, программировании и дизайне и даже алгебре. А еще прокачает креативность, логику и навыки презентации — себя и своих проектов.

Заключение

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

Michael Oneppo — креативный технолог и бывший менеджер программ в группе Microsoft Direct3D. В последнее время работает в качестве главного технического директора в технологической некоммерческой компании Library For All и ведет исследования по программе NYU Interactive Telecommunications Program для получения степени магистра.​

Выражаю благодарность за рецензирование статьи эксперту Магомету Амину Ибрагиму (Mohamed Ameen Ibrahim).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector