Как сделать пиксельную игру в game maker

Обновлено: 04.07.2024

Итак, ищем на этом сайте эту программу, и качаем. Желательно купить лицензию за 20 $, что бы иметь больше возможностей. Без лицензии вы не сможете создать полноценную игру (хотя это можно, но проще будет с лицензией). Ознакомьтесь с примерами, которые даны вместе с программой, прочитайте основы программы в файле помощи. Вы наверно спросите, зачем нам эта статья, если всё подробно расписано в официальном файле помощи к игре? Да затем, что в официальном файле помощи описаны только коды и основы их пользования, а я расскажу, как сделать игру определенного жанра.

Вы ознакомились с Game Maker, теперь обязательно выучите хотя бы основы GML. Хотя ниже описанный пример platf_primer.gm6 будет использован преимущественно на кнопках (триггерах).

Платформеры – это, пожалуй, один из самых распространённых жанров в приставках Dendy, Sega и просто в играх на компьютеры. Суть его заключается в том, что вы ходите как бы по «платформам» и после прыжка, гравитация притягивает вас обратно к «платформе». Часто вам придется прыгать с одной «платформы» на другую. Вообще жанр платформеров очень обширный, это могут быть и 2D-шутеры с кровавой резнёй, или просто развесёлые платформеры наподобие Соника или Tiny Toon.

Для лучшего понимания про создание платформера, вместе со статьёй, есть пример платформера platf_primer.gm6 .

Начнём с создания персонажа. Создаём объект, называем например obj_player. Задаём ему движения в разные стороны. В кнопке Left проверяем столкновение объекта, как это показано в примере, и собственно смещение персонажа по оси x на координаты -4. Так само и Right, только координаты +4. И не забываем об изменении спрайтов. Красным шрифтом на рисунках отмечены мои текстовые объяснения действий.

ПРИМЕЧАНИЕ: ЕСЛИ НА РИСУНКАХ ДЛЯ КООРДИНАТ УКАЗАНЫ ЗНАКИ + ИЛИ – , ЭТО ЗНАЧИТ ЧТО ПРИ СОЗДАНИИ ДЕЙСТВИЯ НУЖНО ПОСТАВИТЬ ГАЛОЧКУ НА RELATIVE.

Теперь персонаж ходит влево и вправо. Пожалуй, самое важное в этих играх это гравитация, и естественно нужны платформы. Создаём ещё один объект, назовём его obj_platform – это будут наши будущие платформы описанные выше. Обязательно ставим галочку Solid (твёрдый) в obj_platform.

Переходим опять к obj_player. В Step ставим условия, показываемые на скриншоте и в примере:

Здесь так же объясняются все кнопки, для чего они, и что они дают. Я просто хочу, что бы не бездумно взяли мой пример платформера, и просто вставили свои спрайты. Я хочу, что бы вы поняли, как это всё работает.
Переменная, отображённая ниже, поможет вам ограничить скорость падения до 12 максимум. Это поможет вам избавиться от бесконечного увеличения скорости падения.

Теперь важно сделать прыжок персонажа. Давайте замахнёмся сразу на двойной прыжок.

Что бы сделать прыжок, нам нужно внедрить переменную. Давайте назовём её jump. Она понадобится нам для установления максимального количество толчков. В условии create создаём переменную jump=0. Переменные создаются выделенной красным цветом кнопкой. Когда вы её перенесёте в «Actions», появится меню. Указывайте там всё, как на скриншоте.


Теперь при создании персонажа переменная будет равняться нулю.
В Событии press (нажать кнопку вверх) создаём такое:

И теперь создаём цепочку действий в касании с объектом obj_platform.

В принципе, основной движок для нашего платформера готов! Но давайте внедрим в него дополнительные функции.

Давайте сделаем лестницы. Лестницы мы сделаем в событиях Step, Up, Down. Создаём новый объект, и назовём его obj_ladder.

В Step создаём следующие действия:

В Up, создаём следующее…

В Down создаём тоже самое, что и в Up, но координату y=-4, надо заменить на y=+4
Лестница готова.

Создаём объект врага. Назовём obj_enemy. Врагам в событии Create создаём действие, указанное на рисунке, и ставим в нём всё как указанно на скриншоте.

Ещё нам понадобится объект obj_rotate и сделать его невидимым (убрать галочку Visible).

Во враге создаём событие столкновения с obj_rotate и вставляем следующее действие:

При касании к этому объекту, враг будет менять своё направление, и идти в обратную сторону. То есть так мы устанавливаем области патрулирования врагов.

Что бы враги могли «убивать» персонажа, нужно сделать систему жизней и здоровья. В Game Maker такая система уже встроена.
В событии Step создаём следующее:

И в событии столкновения с obj_enemy:

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

Когда здоровья будет меньше одного, отнимается одна жизнь.

Вот уже можно сделать неплохой платформер. Идём в комнату и делаем уровень. Расставляем блоки, персонажа, врагов и прочее…

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

Hbor и Vbor нужно менять. Это координаты x и y при достижении которых, камера будет двигаться. Например, для вида размером 640х480 можно поставить Hbor:320; Vbor:240. Тога камера будет следить чётко по центру за персонажем.

Итак, с помощью моей статьи и примера, можно сделать собственную игру жанра платформер. Вам остаётся только сделать уровни! Научившись азам «Game Maker» вы сможете сами понимать, как сделать тот или иной жанр игры. Эта статья рассчитана для новичков. Думаю всё написано доступно.

Урок первый. Игра Sokoban (Кладовщик)

Сегодня я расскажу вам как на конструкторе Game Maker создать всем известную игру Sokoban или Кладовщик.

Для начала немного об игре:
Sokoban - классическая логическая головоломка, цель которой, передвигаясь по карте передвинуть все ящики на определенные позиции. Герой может лишь толкать ящики, причем всего один за раз. Следует продумывать ходы, чтобы не поставить ящик в безвыходное положение.

Итак, как же реализовать это чудо?!
Запускаем Game Maker и создаем новый проект.
В папку Sprites добавляем 4 спрайта: стена, ящик, герой и точка.
Я назвал их соответственно: spr_wall, spr_box, spr_hero и spr_point.
В дальнейшем вы можете использовать для них любые изображения, но в рамках урока я сделал все спрайты в виде квадратов размером 32х32, которые отличаются между собой только по цвету.


Далее нам потребуется создать пять объектов. Не сложно догадаться, что четыре из них - это стена, ящик, герой и точка. Назовем их obj_wall, obj_box, obj_hero и obj_ point. Так же не забудьте установить для каждого объекта соответствующий спрайт. Теперь создадим пятый объект без спрайта и назовем его obj_controll. Как понятно из названия этот объект будет что-то контролировать, но об этом позже.

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


Объект без спрайта в левом верхнем углу - obj_controll, не забудь его поставить.

Теперь приступаем к разработке механики игры. Для начала заставим нашего героя двигаться.
У объекта obj_hero в событии STEP пишем следующий код:

Означает этот код следующее: если нажата клавиша "ВНИЗ", то перемещаем героя вниз на 32 пикселя.

Аналогично дописываем код для оставшихся трех направлений.

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

Создадим два события столкновения для нашего героя. Первое – столкновение со стеной, а второе столкновение с ящиком. И пропишем там и там всего одну строку кода:

Это означает, что при столкновении с указанными объектами, герой не будет двигаться дальше.
Так же нужно сделать объекты obj_wall и obj_box твердыми. Для этого достаточно в свойствах объектов поставить галочку рядом со словом solid (твердость) .

Для объекта obj_box, в событии STEP прописываем следующий код:

Означает он следующее: Если герой находится над ящиком и нажата клавиша "ВНИЗ", то двигаем ящик вниз на 32 пикселя. Всё довольно просто. По аналогии сделаем движение ящика в другие стороны.

Теперь наш кладовщик обрел достаточно сил, чтобы сдвигать ящики. Но возникла новая проблема, он настолько сильный, что способен вдолбить ящик прямо в стену. Так как мы не делаем игру про супермена, давайте исправим эту оплошность. Делается это весьма просто. Создаем для объекта obj_box два события столкновения: первое – столкновение с obj_wall, а второе с obj_box. И, как вы, наверное, догадались, пишем там уже известную нам строку:

Дело осталось за малым, проверять доставлены ли ящики в нужные позиции.
Для начала в объекте obj_controll в событии CREATE мы создадим переменную num:

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

Далее в событии STEP всё в том же объекте obj_controll пропишем следующий код:

Теперь поработаем с объектом obj_point. Для него в событии STEP пропишем следующий код:

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

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

Всё в том же объекте obj_controll создадим событие DRAW и пропишем в нем следующий код:

Этот код выведет на экран значение переменной step, т.е. количество шагов, которые сделал игрок

Далее в объекте obj_hero в событии STEP немного изменим код, дописав для каждого направления движения ещё одну строку.

Эта строка увеличивает значение переменной step на 1 при каждом нажатии на клавиши движения.

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

Всем спасибо за внимание. Удачи в разработках.


Исходник по уроку:

Урок второй. Создание своеобразного редактора карт:

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

Приступим.
Для начала создадим новый проект и добавим туда два квадрата разных цветов размером 32 на 32 пикселя.
Сделаем на основе этих квадратов два объекта.
Первый объект назовем obj_Player, а второй obj_Wall.

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

Отвлечемся немного от Game Maker'а и создадим в папке с проектом текстовый документ. У меня он называется text.txt
Как было сказано выше, уровень будет формироваться на основе текстового документа. Работает это следующим образом: в текстовом файле мы рисуем внешний вид локации, а при запусти приложения то что мы нарисовали формируется непосредственно в игре.


Чтобы было более понятно скачайте отдельно мой текстовый файл.

x - обозначает стены и пол
P - местоположение персонажа

Теперь вернемся в Game Maker.
Создадим ещё один объект без спрайта и назовем его obj_Controll. Вот с этим объектом мы и будем работать.
Заходим в свойства объекта и создаем одно единственное событие Create и пишем в нем следующий код:

Итак, разберем его построчно.
Первые 4 строки задают переменные.
Переменная v будет хранить в себе строки, которые мы считываем из текстового файла.
Переменная a будет поочередно хранить в себе каждый символ из строки хранящейся в переменной v.
Переменные x1 и y1 отвечают за расстановку объектов в комнате.

Итак, для начала нам нужно открыть текстовый файл для чтения. Делает это следующая строка кода:
f=file_text_open_read('text.txt')
Идентификатор открытого файла хранится в переменной f и теперь чтобы работать с файлом, нужно обращаться к этой переменной.

Далее идет непосредственное формирование уровня.
Открывается цикл, который повторяется пока не достигнут конец файла.
while (!file_text_eof(f))

В этом цикле периодически происходит следующее:
Мы записываем в переменную v первую строку из файла text.txt
v=file_text_read_string(f)

Далее мы запускаем цикл который обрабатывает каждый символ из этой строки:
for (i=1; i

Всем в очередной раз здравствуйте.
Сегодня я расскажу вам, как создать ещё одну мини-игру. На этот раз это будет всем известная классическая змейка.
Приступим.
Создадим новый проект и добавим 3 спрайта. Для примера пусть это будут 3 разноцветных кубика размером 16 на 16.
Первый кубик - это тело нашей змейки. Я задал спрайту анимацию постепенного исчезновения для смерти и теперь этот спрайт состоит у меня из 16 кадров, вы тоже можете сделать так же.
Второй - это бонусы, которые мы будем собирать, чтобы расти.
И третий - это стены, при столкновении с которыми мы проигрываем.

После того, как это сделано, создаем три объекта с соответствующими спрайтами.
Назовем объекты obj_telo, obj_part и obj_wall

Можно сразу создать уровень, для дальнейшего тестирования. Расставьте стены, бонусы и поставьте один объект obj_telo.
Сделали?! Продолжаем.
Работать мы будем только с obj_telo.
Дважды щелкаем по нему и создаем событие Create, в котором пишем следующий код:

napr=2
image_speed=0
sp=15
dead=0

Давайте разберем что же мы написали.
Переменная napr определяет, в какую строну движется змейка.
Так как тело змейки состоит из нескольких кадров, а нам не нужно чтобы изначально анимация проигрывалась, то мы её просто останавливаем на первом же кадре при помощи команды image_speed=0
sp=15 - это скорость движения змейки. Следует заметить то, что чем больше значение переменной, тем медленнее движется змейка.
И наконец переменная dead определяет жива ли наша змейка.

Теперь самое главное, нам нужно определить является ли этот объект головой змейки. Для этого создадим следующее условие:
if

instance_find(obj_telo,0) возвращает идентификатор объекта obj_telo под номером 0+1. Функция автоматически берет значение на единицу больше указанного.
Таким образом мы проверяем совпадает ли id данного объекта с первым созданным объектом obj_telo.
Если совпадает, тогда мы сохраняем в переменной a значение id у этого объекта:
a=instance_find(obj_telo,0)
И плюс к этому сохраняем координаты этого объекта:
x1=a.x
y1=a.y

Таким образом переменная a хранит у нас идентификатор головы, а x1 и y1 хранят её координаты.
Что же происходит, если объект не является первым!? Всё просто, в этом случае нам нужно узнать какой объект был создан перед ним и записать его координаты:
a=instance_find(obj_telo,instance_number(obj_telo)-2)
x1=a.x
y1=a.y

instance_number - возвращает количество объектов.
Чтобы узнать нужный нам номер, отнимаем от общего количества объектов двойку.
Например, у нас есть 5 объектов. Как было сказано выше, функция instance_find прибавляет к номеру единицу, значит получается 6. От этого значение отнимаем 2 и получаем 4.
Таким образом в переменную a запишется идентификатор предпоследнего созданного объекта obj_telo (всего их 5, запишется 4-ый).

Последнее что нужно, это запустить таймер, который будет отвечать за движение змейки:
alarm[0]=sp

Теперь создадим событие Alarm 0 и запишем в нем следующие код:

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

Теперь создадим событие Step. В нем необходимо прописать следующий код:

Для начала проверяем, совпадает ли id и объект a, если они не совпадают, то нужно переместить данный объект в позицию предшествующий части змейки.
Как мы помним, позиция предшествующей части хранится в переменных x1 и y1.
Для начала проверяем свободна ли эта позиция:
if position_empty(x1,y1)
И если она свободна, то перемещаем в неё данный объект:
x=x1
y=y1
Не забываем при этом новые координаты предшествующей части змейки:
x1=a.x
y1=a.y

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

Остались мелочи. Для начала настроим управление. Как уже понятно, по нажатию на клавишу мы меняем значение переменной napr.
При этом направление не должно меняться в противоположную строну движения, если там присутствует тело. Чтобы этого избежать, пишем проверку:
!position_meeting(x,y-16,instance_find(obj_telo,1)) and !position_meeting(x,y-32,instance_find(obj_telo,1))

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

Аналогично делаем со всеми направлениями.
Напоследок в событии Step проверяем столкновение головы змейки со своим телом:

if napr=1 and position_meeting(x,y-16,obj_telo) and a=id
<
obj_telo.dead=1
obj_telo.image_speed=1
>

Условие определяет в каком направлении движется голова, голова ли это вообще (a=id) и есть ли в том направлении тело.
Если все условия выполняются, то все объекты obj_telo "умирают" и начинает проигрываться их анимация.

На этом с событием Step мы закончили.
Добавим новое событие под названием Animation End, тут будут действия, выполняющиеся по завершению анимации.
В моем примере это будет просто удаление змейки.

Далее создадим событие столкновения со стеной и пропишем там следующий код:
obj_telo.dead=1
obj_telo.image_speed=1

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

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

if a=id
<
instance_create(instance_find(obj_telo,instance_number(obj_telo)-1).xprevious, instance_find(obj_telo,instance_number(obj_telo)-1).yprevious,obj_telo)
with other instance_destroy()
>

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

instance_find(obj_telo,instance_number(obj_telo)-1).xprevious
Определяем идентификатор объекта obj_telo, который был создан в комнате последним (instance_number(obj_telo)-1). И определяем предпоследнее местоположение этого объекта при помощи xprevious.
Аналогично с координатой Y.

И не забываем удалить объект бонуса.
with other instance_destroy()

Вот и всё. Змейка готова.


Исходники по уроку можно скачать здесь:

Урок четвертый. Получение цветового кода спрайта и воспроизведение спрайта по этому коду:

отлично :)

Есть ли способ изменить размер маленьких пикселей на большие, а не размытые ?

не используйте сжатие с потерями для текстур, вместо этого используйте bmp, gif или png, все они поддерживают хранилище без потерь Когда у вас есть пиксельная графика, вы обычно хотите избежать изменения размера, потому что пиксельная графика всегда страдает от этого. Когда нельзя избежать изменения размера, следует использовать интерполяцию ближайшего соседа, чтобы сохранить четкость изображения. Когда вы хотите изменить размер, используйте векторную графику вместо растровой. К сожалению, я не могу вам с этим помочь, потому что я не знаком с GMStudio. Я не знаю возможностей производителей игр, но вы бы хотели отключить всю фильтрацию масштаба и включить масштабирование ближайших соседей. Если я правильно помню, у оригинального Spelunky (сделанного в Game Maker) была DLL, которая включала линейное масштабирование. Источник доступен по этой ссылке; посмотри.

Нашел решение с какого-то ресурса. Перейдите в «Глобальные настройки игры», затем перейдите к любому спойлеру платформы (например, «Windows» или «Android»), там выберите спойлер под названием «Графика» и отключите «Интерполировать цвета между пикселями». Радоваться, веселиться :)

Технически это работает, хотя пиксельная графика может измениться из-за увеличения с нецелым коэффициентом (например, 2,5x) Вы имеете в виду, что они не удосужились сделать это настройкой по умолчанию. Я только что проверил и что по умолчанию в Game Maker 8.0 по умолчанию. Это просто чокнутый . Отличный ответ, кстати.

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

:) Я надеюсь, что это поможет вам в ваших будущих начинаниях.

Это лучшее решение, если вы нацелены на несколько платформ, вам не нужно нажимать «Интерполировать цвета между пикселями» для каждой отдельной платформы! Именно то, что я искал.

Для этого я обычно использую Photoshop или GIMP (масштаб / ближайший сосед)

Снимок из игры, в которой я работаю над банкоматом, спрайт увеличен в самой GM: S

Но чтобы сделать это в редакторе спрайтов GM: S, я использую команду Stretch вместо масштаба и задаю для нее Плохое качество. Это сохранит блочный вид

Выше я играю в банкомате, я так и сделал!

Хотя это работает для масштабирования в определенных разрешениях, но не для всех из них, GM также имеет привычку сжимать текстуры по умолчанию. Это также будет по-разному масштабироваться на разных разрешениях при использовании функции растяжения, это приведет к размытию, которое мы пытаемся избежать. Тем не менее, +1 для (Scale / Nearest Neighbor) упоминания.

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

В качестве альтернативы используйте этот пост здесь, чтобы создать фоновый скрипт, который увеличит фон с (надеюсь) четкими результатами.

При этом используются поверхности, поэтому, если вам нужна дополнительная помощь по этому вопросу, этот пост содержит много информации.

РЕДАКТИРОВАТЬ:

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

ШАГ 1 : Выберите нужный масштаб. Используйте представление для каждой комнаты и соответственно масштабируйте порт W и порт H. Так, например, если бы вы использовали шкалу 2 . это выглядело бы так в редакторе комнат GM.

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

ШАГ 2. Создайте 3 сценария: screen_init, screen_begin и screen_end. Вот что входит в каждый из сценариев .

Цитата из: screen_init

Цитата из: screen_begin

Цитата из: screen_end

ШАГ 3 : Теперь у нас есть сценарии, но куда они идут? Создать объект. Например, obj_screen, objScreen, o_screen или что-то еще, и сделайте следующее:

  • A) Поместите screen_initscript в событие Create.
  • B) поместите скрипт screen_begin в событие Begin Step.
  • C) Поместите скрипт screen_end в событие End Step.

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

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

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

Объект исследования : программы для создания компьютерной игры

Предмет исследования : создание компьютерной игры средствами Game Maker .

Цель: рассмотреть особенности создания компьютерной игры средствами Game Maker , познакомиться с встроенным языком программирования, создать простую развивающую компьютерную игру.

Задачи исследования:

· Изучить и проанализировать специальную литературу по теме исследования.

· Рассмотреть основы программирования в Game Maker .

· Изучить требования, предъявляемые к развивающим играм.

· Разработать макет компьютерной игры и систему персонажей.

· Продумать сцену игры.

· Создать простую развивающую компьютерную игру средствами Game Maker .

Методы исследования: изучение литературы, анализ и синтез, классификация и обобщение.

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

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

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

Мы рассмотрели несколько вариантов программ и остановились на Game Maker.

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

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

Основные возможности Game Maker:

— Простой и интуитивно понятный интерфейс программы.
— Встроенные уроки по созданию первых игр.
— Программирование с помощью drag-n-drop.
— Бесплатная коллекция бесплатных изображений и звуков для игр.
— Возможность создания простых 3D-игр.
— Встроенный язык программирования Game Maker Language (GML), позволяющий разрабатывать более функциональные и интересные игры.


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


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

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

Подготовительные этапы сделаны. Следовательно можно приступать к разработки игры. Все изображения мы поместили в пакет Sprites , текстуры в — Fonts , музыку — Sounds .



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




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


Итак, объекты помещены на площадку, комната приобрела нужный нам фон. Осталось заставить двигаться нашего персонажа. Для этого открываем пакет Scripts и прописываем новый код. новый код, позволяющий привязать объект к командной клавише. Мы использовали три клавиши движение вперед — стрелка в право, назад — стрелка влево, прыжок — клавиша Z .



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


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

В ходе исследования цель, поставленная в работе, была достигнута, все поставленные задачи – выполнены.

1. При изучении и анализе литературы были использованы различные информационно-технологические и программистские издания.

2. Рассмотрены основы программирования в в Game Maker . Рассмотрены основные алгоритмические конструкции встроенного языка, уделяется внимание графике.

3. Были изученны требования, предъявляемые к развивающим играм.

4. При проектировании будущей игры был сделан ее макет и продумана система персонажей.

5. Была продумана сцена игры.

6. Была создана простая развивающая компьютерная игра средствами Game Maker .

Таким образом, в ходе проектирования и создания игры был приобретен навык работы со встроенным языком программирования, формировался навык пошагового составления алгоритма.

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

Список использованной литературы

1. Истомина И. Г. Информатика. Техническая графика. – Москва – Ростов – на - Дону, 2005. – 368с.

2. Левин А. В. Самоучитель компьютерной графики и звука – СПб.: Питер, 2003.- 258с.

3. Мураховский В. И. Компьютерная графика / под ред. С. В. Симановича. – М.: «АСТ – ПРЕСС СКД», 2002. – 640с.

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

  • подготовка к ЕГЭ/ОГЭ и ВПР
  • по всем предметам 1-11 классов
Ищем студентов
для работы онлайн
в проекте «Инфоурок»

Курс повышения квалификации

Дистанционное обучение как современный формат преподавания

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации


Курс повышения квалификации

Современные педтехнологии в деятельности учителя

  • Курс добавлен 23.09.2021
  • Сейчас обучается 46 человек из 23 регионов

Ищем педагогов в команду «Инфоурок»

  • ЗП до 91 000 руб.
  • Гибкий график
  • Удаленная работа

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

также Вы можете выбрать тип материала:

Краткое описание документа:

Проект «Создание компьютерной игры средствами Game Maker” В последнее время программирование стало актуально, особенно среди молодежи. Тем более, что на них пишутся компьютерные игры. Сейчас существует множество программ, позволяющих создавать качественные игры с использованием 2-х и 3-х мерной графикой. Небольшая, но очень интересная программа Game Maker, на наш взгляд, идеально подходит для создания компьютерной игры, так как он включает внутренний язык программирования, схожий с Delphi, и имеет удобный интерфейс. Создание приложения с помощью данной программы позволяет не только программировать, но и наглядно увидеть результат своей работы. Объект исследования: программы для создания компьютерной игры Предмет исследования: создание компьютерной игры средствами Game Maker. Цель: рассмотреть особенности создания компьютерной игры средствами Game Maker, познакомиться с встроенным языком программирования, создать простую развивающую компьютерную игру. Задачи исследования: Изучить и проанализировать специальную литературу по теме исследования. Рассмотреть основы программирования в Game Maker. Изучить требования, предъявляемые к развивающим играм. Разработать макет компьютерной игры и систему персонажей. Продумать сцену игры. Создать простую развивающую компьютерную игру средствами Game Maker. Методы исследования: изучение литературы, анализ и синтез, классификация и обобщение.

Читайте также: