События и стандартные действия в Game Maker — Game Maker — DevTribe: инди-игры, разработка, сообщество
Вступление или «Почему и зачем?»
В Game Maker каждый объект может иметь набор событий, которые запускают выполнение определённых действий. Всё. Вся «логика» игры строится именно по этому принципу. Если происходит определённое событие — выполняются созданные для него действия. Просто, не так ли? Эти события могут быть как персональными, так и глобальными, но в GM они никак не разделяются на типы, оно и к лучшему. Вы можете создавать для разных объектов разные события и определять какие угодно действия. Именно таким образом и будет работать вся ваша игра.
События создаются и редактируются в окне объекта, в поле-списке «Events», с помощью трёх кнопок «Add event» (Создать событие), «Destroy» (Удалить событие), «Change» (Сменить событие с сохранением списка действий), или в контекстном меню поля с аналогичными командами. В контекстном меню добавляется дополнительная команда «Duplicate event», которое лишь копирует список действий, а событие вам всё равно придётся выбрать заново.
Итак, создаём событие, кликая по волшебной кнопочке. Открывается крохотное, в прямом смысле этого слова, окошко со всеми событиями GM. Некоторые события при нажатии на свою кнопку открывают контекстное окно, в котором вам предлагается уточнить событие, выбрать его определённый вид.
Все события располагаются в списке в определённом порядке, а именно — в порядке срабатывания. Т.е. первыми всегда срабатывают события создания образца, потом — уничтожения, потом — события нажатия кнопок клавиатуры и т.д. и т.д. Это очень важно помнить.
Описание событий или «Я не придумал ничего лучше»
Давайте по порядку, как на картинке, я опишу события и их виды.
- Create — всё просто, это событие выполняется, когда создаётся экземпляр объекта. Обычно используется, чтобы задавать «начальные» характеристики объекта, всякие там переменные и т.д., но может иметь и более широкое применение. Например, объекты, которые вы расположили в комнате через редактор, тоже создаются, когда комната запускается. Можно использовать такие объекты для объявления глобальных переменных и прочего и прочего. Однако, для таких как я, были созданы такие события, как Game Start и Room start, о которых речь ниже.
- Destroy — ещё проще, это событие выполняется, когда экземпляр объекта удаляют. Можно применить, например, чтобы создать кровавое пятно на месте врага.
- Alarm — а вот это уже интересней. Это событие таймера. Каждый экземпляр объекта может заиметь до 12-ти таймеров, каждый их них будет подписан в списке событий как Alarm0, Alarm1, Alarm2 и т.д. С помощью определённого действия или кода, можно запустить нужный таймер и по его истечению, выполнятся нужные действия я иногда использовал алярмы чтобы персонажи моргали глазами :3, диапазон применения — очень широк, иногда даже 12-ти таймеров не хватает.
- Step — событие «шага», архиважное событие, находит применение практически всегда. Вам нужно перемещать объект за курсором? Вам нужно событие «шага». Нужно постоянно перемещать образцы по координатам? Вам нужно событие «шага». Нужно отследить монстров на наличие бафов? Вам нужно событие «шага». Это событие выполняется «постоянно», то есть, каждый игровой «шаг». Как его определить? В окне комнаты есть такое поле, как «Room speed» — это скорость комнаты, и по сути, скорость игры, т.е. FPS — количество кадров в секунду. Так что, если у вас скорость текущей комнаты 60 fps или шагов — событие «шага» будет срабатывать 60 раз в секунду. Вуаля. Рассмотрим виды этого события:
- Step — самое распространённое событие, срабатывает как раз после событий создания и уничтожения, но перед всеми остальными. Очень удобно отлавливать этим событием кнопки клавиатуры или мышки.
- Begin step — это событие шага срабатывает перед всеми остальными событиями, хотя в списке оно и идёт где-то посредине.
- End step — это событие шага срабатывает после всех остальных событий, но перед событием рисования.
- Collision — событие «столкновения». Срабатывает, когда спрайт или маска объекта пересекаются со спрайтом другого объекта. В контекстном меню это событие предлагает выбрать с каким объектом нужно чтобы текущий объект сталкивался. Потому этих событий может быть много — для каждого из предопределённых объектов. Самое распространённое применение — столкновение пули со стеной, конечно же.
- Keyboard — событие нажатия на кнопку клавиатуры. Но не обычное. Это событие срабатывает каждый шаг, пока кнопка нажата. Предлагает на выбор множество различных кнопок, от алфавитных до функциональных и прочих Backspace’ов. Потому это событие может быть у объекта не одно — зависит от количества кнопок, нажатия на которые вам нужно отлавливать. Стоит отметить лишь событие Keyboard — No key и Keyboard — Any key. Первое срабатывает постоянно, каждый игровой шаг, пока не нажата ни одна кнопка. Второе — срабатывает постоянно, пока нажата любая кнопка на клавиатуре. Наркомания, не так ли? Эти два вида событий есть и у других событий клавиатуры, о которых речь ниже.
- Mouse — это все события мышки. Давайте рассмотрим их виды:
- Left/Right/Middle button — события мышки, которые срабатывают каждый шаг, пока курсор наведён на спрайт объекта и при этом зажата левая/правая кнопка мышки или колёсико. Да-да, колёсико мышки бывает кликабельное.
- No button — аналогично предыдущим, только событие срабатывает постоянно, пока не нажата ни одна из кнопок мышки (не стоит забывать, что курсор всё ещё должен быть на спрайте, поскольку это персональные события).
- Left/Right/Middle pressed/released — эти события отличаются от предыдущих тем, что срабатывают лишь один раз, когда кнопка мышки нажата (pressed)/отпущена (released), а курсор находится на спрайте объекта. Когда событие сработало один раз, оно не будет срабатывать, пока пользователь не нажмёт/отпустит нужную кнопку ещё раз.
- Mouse enter/leave — событие срабатывает, когда пользователь наводит/уводит курсор со спрайта или маски объекта. Очень удобное событие чтобы делать, например, всплывающие описания для предметов.
- Mouse wheel up/down — эти события срабатывают, когда пользователь прокручивает колёсико мышки вверх/вниз. Глобальное событие.
- Global mouse — а вот это уже очень важные события, которые отлавливают события шага/нажатия/отпускания кнопок мышки на общем уровне, т.е. событие глобальное, и потому не нужно, чтобы курсор находится на спрайте объекта. Находят применение чаще всех остальных.
- Joustick 1/2 — честно говоря, никогда ими не пользовался. Это события для буржуйских джойстиков — когда нажата нужная ось или кнопка.
- Other — прочие события, которые не вошли в основные категории событий. Вот они:
- Outside room — событие срабатывает, когда объект покидает границы текущей комнаты. Можно использовать, например, для удаления таких образцов.
- Intersect boundary — событие срабатывает, когда спрайт объекта пересекает границу комнаты.
- Outside/Boundary view X — аналогично предыдущим двум событиям, только для одного из семи доступных видов (проще — игровых камер).
- Game start/end — из названия понятно, что эти два события срабатывают лишь по одному разу за игру — в её начале и в конце. Это глобальные события, обычно используются для инициализации игровых данных. Часто game end используется чтобы закрывать dll’ки и удалять прочие непотребства из памяти, даже не смотря на то, что GM большинство из таких операций делает автоматически.
- Room start/end — аналогично предыдущим, только для игровых комнат. В GM комнаты — это, по сути, игровые уровни. Так вот, эти события срабатывают, когда текущая комната запускается/заканчивается. Стоит помнить, что событие может срабатывать многократно, поскольку игрок может выходить/возвращаться в комнату.
- No more leaves/health — это события для встроенных в GM систем здоровья и жизней, события срабатывают, когда они заканчиваются (равны нулю). Не понятно, кто ими пользуется, ведь намного проще объявить две-три переменных и сделать свою системку здоровья.
- Animation end — это событие также для встроенной в GM системы анимаций. По сути — срабатывает когда все кадры у спрайта объекта проигрываются до последнего. Иногда полезно, но снова же, проще написать свою гибкую систему анимаций.
- End of path — событие срабатывает, когда объект подходит к концу пути. Тоже иногда полезно.
- Close button — событие срабатывает, когда нажимают кнопку закрытия игры — т.е. на крестик окна игры. Это же событие должно срабатывать и для кнопки Esc, если в настройках игры установлена такая возможность.
- User defined X — это пользовательские события, их доступно до 16-ти штук. Срабатывания этих событий можно выполнить лишь через код, с помощью специальной функции. Редко, но находят применение.
- Draw — вот мы и подобрались к самому интересному событию. Это событие «рисования». В своё время никак не мог понять, что оно делает и как им пользоваться, но когда разобрался, приятно удивился. Итак, событие рисования. Когда вы добавляете его объекту, он перестаёт отображать свой стандартный спрайт, не смотря на то, что события столкновения срабатывают как прежде, по сути делает объект невидимым. Это событие срабатывает каждый шаг и предназначено для динамической перерисовки. Вы делаете свою систему анимаций и нужно нарисовать спрайт персонажа? Вам нужно это событие. Вам нужно отобразить текст на экране или создать свой интерфейс? Вам нужно это событие. Вы хотите, чтобы у ваших юнитов были полоски здоровья, а при наведении на них курсора отображались всплывающие подсказки? Для всего этого существует событие рисования.
- Key pressed и следующее за ним Key released — события нажатия/отпускания кнопок клавиатуры. В отличии от указанных выше событий Keyboard, срабатывают не каждый шаг, а лишь один раз, после чего пользователь должен отпустить/нажать кнопку снова. Используются чаще всего, например, для управления персонажем/машинкой/т.д.
- Trigger — это новый вид событий, который появился в Game Maker 8. При добавлении этого события открывается окошко редактирования триггеров — это новый ресурс GM, хоть их и нельзя добавлять в структуру игры напрямую. В этом окошке вам предлагается в виде кода прописать условие, которое будет проверяться каждый шаг, и событие будет выполняться тогда, когда условие истинно, т.е., по сути, триггеры — это одна из модификаций события Step. Вы можете написать туда не только условие, но и вообще какой угодно код, который будет выполняться каждый шаг. Уже не говоря, что к этому событию можно и нужно добавлять действия в списке действий. Не очень понятно, зачем они нужны, ведь тех же самых результатов можно добиться, используя событие Step. По-видимому, они позиционировались как уникальные пользовательские события. Но раз их добавили — значит, иногда они всё-таки очень нужны.
Итого, вот и все события, которые есть в Game Maker, но их хватит на все случаи жизни. Поскольку каждому объекту можно задать свой набор событий, это заметно упрощает построение логики игры, позволяет реализовать тот или иной момент разными способами. Такая гибкость наравне с объектами — фишка GM, и одновременно — его наказание, поскольку многие моменты приходится реализовать вручную, которые уже встроены по-умолчанию в другие конструкторы. Также, поскольку каждому событию можно задать список действий, нужно рассмотреть стандартные действия, т.е., привычные каждому модмейкеру на варкрафте гуи-иконки, так называемые библиотеки стандартных действий.
Стандартные действия или «Почему я всё ещё это читаю?»
Итак, вы добавили объекту событие. Теперь, в соседнем поле «Actions» вы можете добавлять действия, которые просто перетягиваете из панельки с закладками справа в список. Все действия выполняются в порядке расположения в списке — сверху вниз. Их можно перетягивать вверх-вниз, копипастить и так далее.
При перетягивании большинства действий открывается окно настроек этого действия — там вы задаёте все нужные данные. Редактирование уже добавленного действия выполняется последствием двойного клика на иконку в списке.
По-моему, проще некуда. Хотя, на самом деле, продвинутому пользователю нужно всего одно действие — блок кода «Code» на закладке «Control», нужно рассмотреть все стандартные действия, хоть это и не очень удобный и громоздкий способ задавать логику игры.
Итак, по закладкам:
- Move: Все действия для перемещения объектов. Сюда относятся перемещения по координатам, направлениям и путям.
- Main1: Различные действия. С их помощью можно создавать/удалять/заменять образцы объектов, задавать и изменять их спрайты, проигрывать звуки и переходить между комнатами (игровыми уровнями).
- Main2: Различные действия под номером 2. Здесь есть действия для работы с таймерами (alarm) объектов, а также таймлайнами (timeline). Также, здесь есть действия для вывода различного инфо, а также действия управления игрой — конец игры/рестарт/сохранить/загрузить игру и т.д. Ещё на этой закладке есть пару действий для подгрузки изображений, звуков и задних фонов из внешних папок.
- Control: Я думаю, рядовой картодел на Варкрафте до этого момента уже задавался вопросом: «Погодите, в GM есть события и действия, а где же… условия?». А вот они, на закладке «Control» в виде действий. Все иконки действий имеют свои аналоги в gml-коде. Ничего не напоминает, картоделы? По сути мы пишем код гуишными иконками. Вот так и создаётся вся логика игры стандартными действиями. Такие дела. Только не говорите, что на картинке ниже ничего не понятно 🙂
Вам решать, что проще и понятнее.
if(mouse_check_button_pressed(mb_left)) { Uber=awesome instance_create(0,0,obj_player) } else { sound_play(snd_combobraker) sprite_index=spr_zombie1 instance_destroy() }
Также, на этой закладке есть действия для задавания и проверки переменных.
Нужно отметить действие, которое я уже упоминал — это блок кода «Code». Обычное текстовое поле, которое позволяет ввести gml-код. Используется почти всегда на замену неудобным иконкам. В стандартной справке упоминается, что нежелательно прописывать сюда большие объёмы кода, а использовать для этого скрипты, но всем как всегда.
- Score: Действия для работы со встроенными в GM системами здоровья, очков и жизней. Их описание я пропущу, потому что практически никогда и никем не используются.
- Other: Действия для работы с системами частиц и, внимание, музыкальными дисками в CD-приводе. Гордо работают только в Pro-версии GM и никому не нужны.
- Draw: Действия для рисования спрайтов, текста, линий, геометрических фигур и прочих ништяков, вроде полос здоровья. А ещё здесь есть действие, чтобы сделать скриншот игры. Понятное дело, эти действия, кроме последнего, работают только в событии Draw.
В общем-то, это и есть все стандартные действия, которых, однако, хватит лишь на создание самых простых игр, для всего прочего нужно учить GML. Стоит упомянуть, что библиотеки гуишных действий можно создавать самому с помощью специального софта и добавлять их в GM, но, если задуматься хорошенько, кому это надо? Лучше уж делать пакеты расширений.
Послесловие или «Ну наконец-то!»
Надеюсь, этот короткий справочник поможет вам разобраться среди событий и действий в гамаке и прояснил некоторые моменты, чтобы понять, насколько это просто, гибко и удобно. Удачи в создании своих игр.
D:\side\The Game Maker Language: введение, выражения
⚠️ Обращайте внимание на даты.
Этот блог больше не ведётся с 17 января 2023, и на тот момент с написания этой страницы (08.06.2013) прошло 9 лет.
Изначально создававшийся для создания анимации Марком Овермарсом, GameMaker перерос в целый игровой движок, способный работать на целом ряде платформ, и сейчас поддерживается целой организацией опытных разработчиков YoYo Games. Когда-то Game Maker, ныне GameMaker. Сейчас среди всех доступных средств для разработки его можно отнести к “игровым конструкторам общего назначения”.
Он не ограничивает вас конкретным жанром игры. Чем это плохо? Почти всю игровую механику вам придётся вписывать самостоятельно. Зато написать на фоне всей этой дребедени что-то своё, чего никто раньше не делал, вы сможете без труда. Особенно это занятие облегчает наличие встроенного скриптового языка. На самом деле, без этого языка многое сделать либо просто нереально, либо слишком долго.
Перед тем, как мы начнём… Если вы хотите научиться пользоваться GameMaker с нуля — вы попали не по адресу. Учить GML имеет смысл только после освоения всего интерфейса, и хотя бы прочтения справки по действиям. Написать несколько игр (не серьёзных, разминочных) на нём тоже желательно, просто чтобы свыкнуться с основными принципами. В общем, в рамках этого цикла я буду считать, что вы знаете о каждом виде ресурсов в GameMaker (а именно спрайтах, комнатах и объектах — остальное можно разобрать и далее), а также умеете писать несложные действия с событиями. То есть, по сути, знаете всё, кроме языка. Или представляете, как это работает.
Всё ещё с нами? Хорошо, поехали!
Переменные
Почти все скрипты вертятся вокруг “переменных”. Переменная — некая информация, хранящаяся в известном месте. Для компьютера это адрес в оперативной памяти, а для вас — это имя переменной. Есть ряд системных переменных, но для написания сложных программ вам придётся использовать немало собственных. И придумывать им имена нужно с умом.
Не рекомендую использовать в них ничего, кроме латинских букв и знака _. Даже цифры. Их можно использовать лишь с тем условием, что название начинается не с цифры. Ещё стоит отметить, что “Vari” и “vari” — разные названия. Дальнейшие правила, которых я советую придерживаться, я расскажу позже — когда будем обсуждать написание скриптов.
А, и вот ещё. GML нещадно карает за любые опечатки. Пишите внимательно.
В GML значения у переменных могут быть всего двух типов (иначе говоря, в GML два типа данных). Это числа и текст. Если вы используете переменную, у которой значения ещё нет, а потому и тип её значения неизвестен — высветится ошибка. Это примерно как диалог:
— Дай мне авокадо!
— А что такое авокадо?
PS: да, наверное, меня можно назвать гурманом.
Также есть три типа видимости переменных: локальные, поля и глобальные. О том, как их создавать — позже, сейчас лишь различия:
Локальные исчезают сразу после того, как закончился кусок кода с их участием. Нужно специально указать в начале участка кода, что переменная локальна. Они нужны лишь тогда, когда хранение числа нужно лишь в данном участке.
Поля принадлежат объектам, и в каждом объекте свой экземпляр поля, со своим значением. Можете хранить в объектах что угодно при помощи полей. Этот тип видимости используется всегда, если не указано иное, также есть целый ряд подобных переменных в самом GM, в каждом объекте. Вполне очевидно, что каждый объект знает, где он находится, куда движется и с какой скоростью. А знания эти находятся в этих переменных:
x
y
speed
direction
. На самом деле, таких переменных гораздо больше, но сейчас нам это не понадобится. Если вы забыли какое-то название — подсмотрите в справке, потому что их такое огромное количество, что их бесполезно учить наизусть. Кое-что вы запомните сами в процессе работы, и этого вам, скорее всего, будет хватать.Глобальные доступны абсолютно всем абсолютно отовсюду. Из какого объекта вы бы к ней не обратились, вы получите одно и то же значение. В самом GM таких переменных тонна, и они описывают текущее состояние всей игры. К примеру, в
room
находится индекс работающей на данный момент комнаты,room_speed
содержит число шагов, выполняемых игрой в секунду (это число обычно30
, и указывается в настройках конкретной комнаты). Очевидно, в каждый конкретный момент эти характеристики одинаковы для всех.
Выражения
Выражения — это любые конструкции GML, выполнение которых оставляет после себя некоторое значение. Простейший пример: 2+2
, вычисление этого выражения даст результат 4
. Что-нибудь посложнее: 2+2*2
. Это 6 (обращаю внимание, не 8
!). Если GM встречает выражение в коде, он вычисляет его, и на место всего выражения, проще говоря, подставляет получившийся результат. Это никак не влияет на последующие попытки выполнить код — выражение вычисляется каждый раз, когда выполняется фрагмент кода, в котором оно находится. Сложновато звучит, но работает очень просто — программа ничего не запоминает без вашего указания, и даже одинаковые вещи будет считать раз за разом, если приказано.
В этом посте мы будем рассматривать только простейшие выражения — будем трогать только числа и знаки +
и -
. В следующем посте, когда узнаем о функциях, сможем конструировать более крутые и полезные выражения.
Одно замечание. Не надо делить на ноль. Это плохо.
Может показаться странным — но писать код на GML мы начнём не со скриптов. Прежде чем писать какие-то действия, надо научиться обрабатывать данные из переменных. Поэтому наши первые фрагменты GML будут выражениями, и будут попадать в места, где, казалось бы, коду не место. Потому что выражение само по себе никак не влияет на игру.
Есть ещё один способ использовать выражения — режим отладки. В левом верхнем углу GameMaker у вас есть две кнопочки, а в строке меню есть Run
.
Что делает первая опция, вы уже наверняка знаете, а что делает вторая — скорее всего, не поняли, если наугад попробовали. Она запускает игру в режиме отладки, и особенность этого режима — наличие окна с таблицей в два столбца. Первый столбец вы можете заполнять выражениями, второй столбец будет заполняться их значениями каждый шаг.
Удобный способ следить за происходящим. Как с помощью этого режима следить за объектами — обсудим позднее, когда будем думать о применении объектов внутри скриптов.
Если вы работали с GM, то уже наверняка знаете о действии “прыжок в указанные координаты” или “jump to given position”. Он будет нашим подопытным, поскольку в него можно прекрасно вписывать любые числовые выражения. Напомню, это действие мгновенно перемещает объект в указанную точку.
В GameMaker: Studio это действие называется просто “Jump to position”, и выглядит так:
Окно нашего подопытного устроено просто. Два поля для координат нужной точки, и галочка “Relative” (“Относительно”) внизу, а также переключатель “кому совершить действие” в верхней части. Наш первый эксперимент будет объяснять, как работает галочка “Relative”. Возможно, вы это уже знаете, но на ценность урока это не повлияет.
Одна из самых распространённых задач, которые решают начинающие — сделать движение персонажа. И сейчас всё меньше статей, которые делают это без кода. По большей части потому, что их авторам лень тратить время на сооружение пугающих конструкций из значков, когда это можно записать в две строчки. То, что обучающийся ни слова не поймёт из скрипта, для них неважно или неочевидно.
Немножко математики. Каждая точка в комнате обладает некоторыми координатами вдоль двух осей: x
и y
, измеряются они в пикселях. В каждом объекте есть эти переменные, и они содержат его положение в комнате. Ось Х направлена вправо, то есть, при увеличении х
объект сместится вправо, а при уменьшении влево. Ось Y же направлена вниз (не так, как принято на математических чертежах!) и увеличение y
сместит объект вниз (уменьшение, соответственно, вверх). Точка, где x=0 и y=0 — левый верхний угол комнаты. Если изменять эти координаты каждый шаг на одну и ту же величину, объект будет двигаться с постоянной скоростью.
Эксперимент I
Шаги, отмеченные флагом Опционально необязательны. Если вы понимаете, что произойдёт, выполнять их не нужно.
Приготовления:
- Создайте в GM новую пустую игру.
- Создайте комнату (просто комнату, пустую, без всего).
- Создайте один спрайт, загрузите в него что-нибудь небольшое, три экземпляра чего поместятся на экран.
- Создайте три объекта: пусть даже
object0
,object1
и (Опционально)object2
- Укажите им всем ваш единственный спрайт.
- Разместите по одному экземпляру каждого объекта в вашей комнате.
- Создайте в
object0
иobject1
событие “Стрелка вправо” из группы “Клавиатура”: - Опционально Своим любимым способом заставьте
object2
двигаться вправо со скоростью 1, когда нажата клавиша “вправо” (иначе стоять на месте).
Начинаем развлекаться!
Теперь содержательная часть. В указанное событие вставьте действие, которое мы обсуждали выше (Jump to position), со следующими параметрами:
- В
object0
поставьте галочку Relative, в поле “х” напишите1
, в поле “y” оставьте0
. - В
object1
не ставьте Relative, в поле “х” напишитеx+1
, в поле “y” оставьте ноль.
Запустите. Поймите, что происходит.
Очевидно, x+1
— выражение. Оно может быть и более сложным. Скажем, оно может зависеть от ширины комнаты: x+room_width/180
. Здесь room_width
— системная переменная, и она есть в справке, как и все прочие. В таком варианте — за 180 шагов к x
прибавится 180 раз наша дробь, то есть, прибавится ширина комнаты. А это означает, что объект сместится вправо на ширину комнаты за 6 секунд (180/30
). Если он стоит у левого края в самом начале, то при непрерывном удерживании клавиши “вправо” 6 секунд он уйдёт за правую границу. Чтобы увидеть эффект такого выражения, позапускайте игру с разной шириной комнаты.
На этом обсуждение простейших выражений, а вместе с ним и первый урок завершается. В следующем уроке поговорим уже о функциях и действиях, что позволит уже писать простейшие скрипты! На этом знакомство с GML ещё только начинается. По плану нам нужно освоить:
- функции
- сложные выражения
- действия
- простейшие скрипты
- языковые конструкции
- обращение к объектам
- управление ресурсами игры
Программа большая. Надеюсь, успею довести её до логического конца и не сдуться по дороге. Комментарии и вопросы по изложенному и будущему материалу всегда приветствуются!
Не переключайтесь!
ОбзорGameMaker для учителей | Common Sense Education
GameMaker — отличный выбор для углубленного изучения раздела или целого курса по игровому дизайну. Другие уроки по созданию игр от Code.org или Scratch могут дать более быстрые результаты по основам, но через несколько часов преподаватели и учащиеся, которые ищут содержательную среду для создания игр, захотят большего. Используйте уроки, чтобы дети начали. Затем предложите им подумать о своих любимых видеоиграх и о том, какие объекты и механизмы в них задействованы. Разбейте игры на компоненты и обсудите, как каждый из этих компонентов должен управляться фоновым кодом отдельно. Затем начните с учебных пособий и демонстрационных проектов GameMaker, обучая учащихся настройке среды разработки игр. Затем продвинутые учащиеся могут разрабатывать свои собственные игры для класса или даже для продажи на Marketplace.
GameMaker – один из самых популярных инструментов для создания игр, а это означает, что он включает в себя активные форумы поддержки и многочисленные возможности для участия в образовательном сообществе, которое выходит за рамки классной комнаты. Его сообщество активно и обширно, отчасти из-за того, что оно доступно на сайте цифрового распространения Steam. Через Steam студенты-дизайнеры могут легко делиться своими играми и получать доступ к играм других людей, а также могут участвовать в альтернативном сообществе поддержки.
Примените этот инструмент на практике:
3 отличных способа заставить учащихся программировать в классе
Советы: начните работу с кодированием
GameMaker – это настоящая находка: его среда программирования с возможностью перетаскивания позволяет новым разработчикам игр сразу приступать к работе и создавать 2D-игры. С его помощью они могут создавать игры профессионального уровня, но он по-прежнему доступен для любителей и людей с ограниченным бюджетом. Когда учащиеся хотят получить доступ к более гибкому или тонкому поведению игровых объектов, они могут переключиться на встроенный язык GML, основанный на C. Включенные редакторы изображений, комнат, спрайтов, объектов и наборов фрагментов дают полный контроль над игрой. игра, все в пределах рабочей области.
Пользовательский интерфейс GameMaker для создания последователен и понятен. Создание игры — это простой процесс сборки всех игровых элементов в общую библиотеку, показанную в виде расширяемого иерархического дерева, а затем создание различных «объектов» с использованием этих изображений или звуковых фрагментов. Затем к объектам добавляются различные варианты поведения (например, что делать, когда игрок нажимает клавишу со стрелкой влево или когда один объект сталкивается с другим), создается новая «комната» и размещаются объекты в комнате. Игры можно запускать/играть в любой момент, обеспечивая мгновенную обратную связь о том, что уже было создано.
В зависимости от приобретенной лицензии учащиеся могут создавать игры для настольных компьютеров, мобильных устройств, консолей или веб-сред и даже продавать их в Marketplace. Огромное сообщество доступно для получения помощи и поиска идей. Пробная версия GameMaker имеет ограниченные ресурсы, и с ее помощью вы не можете создавать исполняемые файлы. Но он предоставляет достаточную функциональность, чтобы помочь вам понять, нужна ли вам эта среда разработки игр.
Примечание редактора. Этот обзор посвящен GameMaker Studio 2 и может не полностью отражать текущую версию GameMaker.
Научиться собирать базовую игру в GameMaker легко, если следовать приложенным пошаговым руководствам, а также имеется множество ресурсов для учителей. Тем не менее, вероятно, лучше сначала иметь некоторые фундаментальные знания. Начинающие гейм-дизайнеры могут дополнить учебные пособия, посмотрев множество отлично сделанных сторонних видеороликов на YouTube и получив помощь на активных форумах сообщества. Эти ресурсы также знакомят учащихся с основными концепциями игрового дизайна, которые будут работать даже вне GameMaker. В общем, GameMaker ориентирует учащихся в среде программирования, дизайна и разработки, но это всего лишь инструмент; знание того, как разработать углубленную игру, обычно изучается отдельно. Также было бы полезно быть знакомым с терминологией разработки игр.
Когда у учащихся появляется идея игры, GameMaker представляет собой открытый инструмент для ее воплощения в жизнь, независимо от того, собираются ли они создать простую игру «двигайся и стреляй» или игру с более сложной графикой и геймплеем, или даже физический движок. У него достаточно возможностей для обработки первых студенческих игр вплоть до продажных игр профессионального уровня. Кроме того, создание игры с интерфейсом перетаскивания позволяет учащимся взглянуть на код блоков и узнать больше о том, как работает программирование.
Рейтинг обучения
Общая оценка
Engagement
Имеет согласованную схему контроля качества и организации для создания, размещения и управления игровыми объектами и их поведением, что упрощает внедрение хорошего рабочего процесса.
Педагогика
Предоставляет новым пользователям набор необязательных встроенных руководств и, что еще лучше, надежное онлайн-сообщество, предлагающее простые обучающие видео. Учащиеся приобретают навыки, применимые в реальной жизни.
Support
Имеется руководство пользователя, база знаний, большое интернет-сообщество для создания игр и пошаговые обучающие видео. Есть также многоязычные варианты, но нет очевидных функций доступности.
Обозреватель Common Sense
Дженни Бристоль
Посмотрите, как мы оцениваем и оцениваем
Рейтинг конфиденциальности
57%
Предупреждение
Безопасность данных Насколько безопасен этот продукт?
- Неясно, поддерживает ли этот продукт взаимодействие между доверенными пользователями.
- Личная информация может отображаться публично.
- Контент, созданный пользователями, не фильтруется на наличие личной информации перед тем, как стать общедоступным.
Права на данные Какие права у меня есть на данные?
- Пользователи могут создавать или загружать контент.
- Доступны процессы для доступа или просмотра пользовательских данных.
- Процессы изменения данных доступны авторизованным пользователям.
Объявления и отслеживание Есть ли реклама или отслеживание?
- Личная информация передается для стороннего маркетинга.
- Отображается традиционная или контекстная реклама.
- Отображается персонализированная реклама.
Продолжайте читать о методах обеспечения конфиденциальности этого инструмента, включая сбор данных, совместное использование и безопасность.
Посмотреть полную оценку
Узнайте больше о наших рейтингах конфиденциальности
Pass
Соответствует нашим минимальным требованиям к конфиденциальности и безопасности.
Предупреждение
Не соответствует нашим рекомендациям по обеспечению конфиденциальности и безопасности.
Fail
Не имеет политики конфиденциальности и/или не использует шифрование и не должен использоваться.
100%
Каждый рейтинг конфиденциальности включает балл. Более высокий балл (до 100%) означает, что продукт предоставляет более прозрачные политики конфиденциальности с лучшими методами защиты пользовательских данных.
Курс GameMaker Studio 2 для начинающих
Перейти к содержимому- Дом
- Обзор
- Курсы
Расширенная библиотека
Брайан Секин
Создание видеоигры стало проще, чем когда-либо прежде. Этот курс научит вас основам программирования и использования IDE для создания игры с боковой прокруткой с вражеским ИИ, несколькими уровнями, параллаксным фоном и звуковыми эффектами.
Предварительный просмотр этого курса
Попробовать бесплатно
Получить это курс, а также лучшие подборки технических навыков и других популярных тем.
Начало работы
45,00 $
в месяц после 10-дневного пробного периода
Ваша 10-дневная бесплатная пробная версия Premium включает
Расширенная библиотека
Этот курс и более 7000 дополнительных курсов из нашей полной библиотеки курсов.
Практическая библиотека
Практикуйтесь и применяйте знания быстрее в реальных сценариях с проектами и интерактивными курсами.
*Доступно только в версии Premium
Для команд
Предоставьте до 10 пользователям доступ к нашей полной библиотеке, включая этот курс бесплатно на 30 дней
Информация о курсе
Чему вы научитесь
Вы когда-нибудь хотели создать свою собственную видеоигру, но не знали, с чего и как начать?
Если да, то курс «Создание своей первой игры в Game Maker Studio 2» станет для вас идеальным курсом, потому что вы научитесь создавать свою собственную видеоигру с боковой прокруткой.
В этом руководстве по Game Maker Studio 2 для начинающих вы узнаете:
- Как импортировать и создавать активы для вашей игры.
- Далее вы изучите основы языка Game Maker и узнаете, как кодировать различные аспекты вашей игры.
- Наконец, вы будете программировать ИИ, создавать слои параллакса, использовать наборы фрагментов и работать со звуками, чтобы оживить свою игру.
Когда вы закончите этот курс, вы будете знать не только, как создавать видеоигры, но и как использовать эти навыки для создания будущих игр разных типов.
Необходимое программное обеспечение: Game Maker Studio 2.
Содержание
Введение в Game Maker Studio 2
18 минут
Объекты программирования
29 минут
- Обзор модуля 2 м
- Программирование объекта Player 8м
- Обнаружение столкновений и прыжки 7м
- Анимированные спрайты в действии 8м
- Программирование объекта-паука для автономного движения 4м
Атака и сбор объектов
29 минут
- Обзор модуля 2 м
- Создание скриптов 10м
- Конечные автоматы 6м
- Убийство пауков 4м
- Сбор монет и подсчет очков 7м
Создание портов просмотра и использование наборов листов
20 минут
- Обзор модуля 1м
- Создание портов просмотра 10м
- Создание наборов листов 4м
- Строительство нашей комнаты 5м
Добавление звуков и фона параллакса
33 минуты
- Обзор модуля 1м
- Добавление звуков 6м
- Добавление фона параллакса 6м
- Паук ИИ 10м
- Как расширить свою игру 10м
Часто задаваемые вопросы по курсу
Что такое GameMaker Studio?
GameMaker Studio — это игровой движок, идеально подходящий для создания кроссплатформенных и мультижанровых видеоигр с помощью визуального программирования методом перетаскивания. Он лучше всего подходит для разработки 2D-игр, но имеет ограниченные возможности 3D по сравнению с другими игровыми движками, такими как Unity или Unreal.
Бесплатно ли GameMaker Studio?
Нет, к сожалению, бесплатной версии нет. А вот недорогая «Creators Edition» GameMaker Studio 2 стоит около 39 долларов.
Подходит ли GameMaker для начинающих?
Да! GameMaker Studio относительно прост в освоении по сравнению с другими разработчиками игр, такими как Unity или Unreal, поскольку вы можете создавать игры без большого количества кода или сценариев. Однако игры, сделанные в GameMaker, как правило, не такие сложные, как на других игровых движках.
Есть ли предварительные требования к этому курсу?
Этот курс является кратким введением в GameMaker Studio 2, поэтому вам не нужно иметь какой-либо предварительный опыт!
Что я узнаю на этом курсе?
Вы научитесь создавать собственные видеоигры с боковой прокруткой, импортируя и создавая активы, изучая основы языка Game Maker и кодирование для игр, программируя ИИ и многое другое!
Какое программное обеспечение необходимо для этого курса?
Вам потребуется установить GameMaker Studio 2, чтобы пройти этот курс и получить от него максимальную отдачу.
Об авторе
Брайан Секин
Брайан — гейм-дизайнер, специализирующийся на 2D-играх, но изучавший анимацию и 3D-моделирование. Несмотря на то, что у него есть опыт работы в отрасли, он больше увлечен преподаванием. Благодаря своему опыту преподавания STEM-образования с помощью видеоигр, Брайан решил, что обучение наиболее эффективно, когда оно приносит удовольствие. Во время учебы в колледже Брайан также изучал искусство приготовления суши в качестве профессии и ведет личный веб-сайт http://www.secretsofsushi.com, где учит людей, как крутить суши дома.
Посмотреть другие курсы Брайана Секина
Попробовать бесплатно
Получить это курс, а также лучшие подборки технических навыков и других популярных тем.
Начало работы
45,00 $
в месяц после 10-дневного пробного периода
Ваша 10-дневная бесплатная пробная версия Premium включает
Расширенная библиотека
Этот курс и более 7000 дополнительных курсов из нашей полной библиотеки курсов.
Практическая библиотека
Практикуйтесь и применяйте знания быстрее в реальных сценариях с проектами и интерактивными курсами.
*Доступно только в версии Premium
Для команд
Предоставьте до 10 пользователям доступ к нашей полной библиотеке, включая этот курс бесплатно на 30 дней
Информация о курсе
Получить доступ сейчас
Зарегистрируйтесь, чтобы получить немедленный доступ к этому курсу и тысячам других, которые вы можете смотреть в любое время и в любом месте.
Отмена Начать бесплатную пробную версию Отмена
С планом Pluralsight вы можете:
С 30-дневным пилотным планом вы можете:
- Получите доступ к тысячам видео для развития важных навыков
- Предоставьте до 10 пользователей доступ к тысячам видеокурсов
- Практика и применение навыков с интерактивными курсами и проектами
- Просмотр данных о навыках, использовании и тенденциях для ваших команд
- Подготовьтесь к сертификации с помощью лучших в отрасли практических экзаменов
- Измерение уровня владения навыками и ролями
- Согласуйте обучение с вашими целями с помощью путей и каналов
Готовы повысить уровень
всей своей команды?
10
Подписки
Нужно больше подписок? Свяжитесь с отделом продаж.