Суббота, 21 Декабря 2024, 18:07

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [85]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [151]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как часто вы играете?
Всего ответов: 1081
Главная » Статьи » Создание игр

Game Maker для абсолютных новичков! №1/2
Немного о Game Maker

Исходя из названия модно сразу понять, что Game Maker сделан для быстрого и лёгкого создания игр. Game Maker – конструктор игр разработанный Марком Овермаком. На нём был сделан конструктор игр, с одноименным названием «Construktor». Множество игр делаются на нём как просто начинающими, так и профессионалами, и по их играм есть постоянные конкурсы. Множество сайтов разных стран нацеленных на Game Maker говорит о большёй аудитории этого конструктора.

Обзор интерфейса

Все уроки будут приводиться с примерами к русифицированному Game Maker 8. Также частично примеры с английской версии. Сам Game Maker можно ска¬чать у нас на сайте. И так… Запустив Game Maker мы увидим то что изображено на рисунке

В левой колонке мы увидим папки Sprites, Sounds, Backgrounds, Paths, Scripts, Fonts, Time Lines, Objects, Rooms и ещё файлы настроек Game information, Global Game Settings, Extension Packages.
Sprites - папка куда будут помещаться все спрайты, которые вы будете до¬бавлять. Спрайт – картинка, которая применяется к объекту, может быть анимирована с расширением *.GIF.

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

Backgrounds – задние фоны комнат. Не могут быть анимированными! Можно принять растяжение на весь экран, скорость скроллинга и виды, например чтоб экран следовал за выбранным объектом.

Paths – пути которые вы «рисуете» в отдельном редакторе, и задав таким образом путь объекту, он будет передвигаться по нему.

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

Fonts – шрифты добавляемые с помощью отдельного окна, где вы выби-раете размер, шрифт, и направленность шрифта. Цвет задаётся отдель-ным оператором.

Time Lines - Во многих играх некоторые вещи должны происходить в оп-ре¬делённый момент времени. Вы можете попытаться этого достигнуть, используя события сигнала-таймера, но когда эти вещи получаются чрезвычайно сложными - они могут не работать. Ресурс тайм-лайна предназначен именно для этого. В течении тайм-лайна, которого Вы оп-ределяете, должно случиться указанное действие(я) в определённый промежуток времени. Вы можете попытаться использовать все те дейст-вия, которые доступны для других событий. Как только Вы создали тайм-лайн, то можете его назначить для образца объекта. Этот образец в дальнейшем выполнит действия, которые будут указаны в моментах времени. (определение Time Lines взято из русифицированной справке к Game Maker).

Objects – папка с объектами.

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

Game information – редактируемое окно которое всплывает и показует ин¬формацию об игре заранее записанную вами.

Global Game Settings – окно с настройкой игры. В нём задаётся разреше¬ние экрана, синхронизация, чистота и глубина. Также задаются про¬граммные кнопки типа F1, F2… и прочие настройки.

Extension Packages – добавления пакетов расширения. Они увеличивают возможности Game Maker’a и добавляют новые события и кнопки. Па¬кеты расширения бывают LIB, DLL, GEX.

Второй сектор содержит в себе такие кнопки: Создать новую игру, Открыть, Сохранить, Создать ЕХЕ файл, Опубликовать свою игру, Запустить, Запустить в отладочном режиме, Загрузить … Спрайт, Звук, Фон, Путь, Скрипт, Шрифт, Тайм-лайн, Объект, Комнату… Добавить игровую информацию, Настройки, Пакеты расширения и Справка.
Из этого объясню только …
Создать ЕХЕ файл – создать отдельный автономный файл игры, который сможет запускаться как отдельная программа.
Запустить – запускает то, что вы сейчас сделали в Game Maker, если вы-да¬ётся ошибка то, скорее всего вы что-то не так сделали, расставили либо запрограммировали.
Запустить в отладочном режиме – запускает также как и прошлая кнопка, с той лишь разницей, что открывается дополнительное окно от-ладки, где вы можете следить за всем, что происходит сейчас с игрой переменными и прочим.
Сектор три можно убрать, чтоб он не запускался каждый раз нажав в низу правой колоны на галочку «Показывать уроки при запуске». Там показан простой урок создания игры, проект которого можно открыть в папке с game_maker8/ Examples/ там есть три урока.
Сектор четыре - основной экран, в котором будут происходить все наши действия.
Ну что ж, вы ознакомились с основным интерфейсом Game Maker’a те¬перь можно приступить к созданию вашей первой игр. Если вы что то не по¬няли, не переживаёте вы всё поймёте в процессе создания.
И так приступим…

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

Все создатели подобных статей, уроков, учебников предстоят перед вопросом: описания разработки какого жанра игры нужно предоставить читателям. Всё зависит от самого автора, конструктора или движка на котором делается игра. Я решил, что для Game Maker в роли первой игры идеально подойдёт игра типа Лабиринта.
Значит так, включаем Game Maker и приступаем…

Истоки

Когда мы запускаем игру, мы видим отдельный экран – полноэкранный либо окно, в котором мы взаимодействует с программой с помощью мышки, клавиатуры, геймпада, джойстика и прочих комплектующих. Этот - отдельный экран, в Game Maker называется Room в английской версии, и Комнатой в русской.
Либо нажимаем кнопку Добавить Комнату (Creat Room), либо Добавить ресурс->Добавить комнату (Resource -> Creat Room).

После добавления комнаты переходим на закладку Установки (Set-tings)

В выделенной зоне в строке Ширина (Width) пишем 800, а в строке Высота (Height) пишем 600. То как мы будем делать игру в полноэкранном режиме, а для этого я использую разрешения экрана 800*600, потому что оно поддерживается всеми мониторами.
После жмем Global Game Settings.

В появившемся окне выбираем закладку «Разрешения» (Resolution). Ставим галочку «Установить разрешения экрана» (Set the resolution of the screen). В окошке появятся дополнительные настройки как на рисунке №1.6. В «Разреше-нии» выбираем 800*600. После снова переходим на «Графика» и ставим галочку возле на «Cтapт в пoлнoэкpaннoм peжимe». Теперь включая игру, она будет автоматически переводить разрешения экрана на 800*600 в полноэкранном ре-жиме.

Нажимаем Ок. Также как добавили Комнату, добавляем Объект. В основном виде высветится то, что на следующем рисунке.

Так как мы сейчас создаем самого персонажа, называем объект «Pers». Есте-ственно вы можете называть объекты разными именами, но я рекомендую на-зывать их соответственно, то есть если это блок, то называем его Block. Если это дверь, то называем его Door. В процессе создания игры вы неоднократно будете пользоваться объектами и чтоб не путаться, лучше писать имена обозначающие объект максимально точно. Это касается и комнат, спрайтов, звуков и тому подобное…

Окно объекта

Как изображено на рисунке в редактор объекта входит: Имя (name), Спрайт (sprite), Видимый (Visible), Твёрдый (Solid), Глубина (Depht), Постоянный (Persistent).
Имя – имя объекта, не влияет на течения самой игры, но помогает при её создании.
Видимый – задаётся параметр видимый объект или нет. В процессе игры можно с помощью скрипта поменять этот параметр.
Твёрдый – влияет на поведения объекта при столкновении с другими объектами.
Глубина – с каким приоритетом будет отображаться на экране этот объект.
Постоянный – создав объект, с включенным этим параметром, тогда объект будет действовать во всех комнатах, пока вы его не уничтожите. Очень помогает при создании основного персонажа, который должен быть во всех комнатах. Но также может привести начинающего пользо-вателя к ошибке в игре и лично мною не рекомендуется как основным способом перемещения объекта между комнатами для начинающих.

Основной персонаж. Спрайты

Называем его Pers, оставляем галочку возле «Видимый», также ставим галочку возле «Твёрдый», пока нажимаем Ок, и переходим к загрузке спрайтов для персонажа.
При нажатие кнопки «Добавить Спрайт» видим …

Жмем «Загрузить спрайт». Появляется окно загрузки. Сейчас мы будем поль-зоваться стандартными спрайтами, а когда вы наберетесь опыта (либо вы уже умеете) научитесь рисовать свои спрайты. Выбираем директорию «C:\Program Files\Game_Maker8\Sprites\Maze-Platform» (если вы установили Game Maker в дру-гую директорию, то ищите в ней). Нам подходит спрайт «explorer_down_strip8». Называем его Pers_Down в строке Имя. Нажимаем Ок и повторяем всё тоже самое загружая спрайты «explorer_up_strip8» называя его Pers_Up, « explor-er_left_strip8» называем Pers_Left, «explorer_right_strip8» называем Pers_Right.
Мы загрузили спрайты в разных положениях, так как будем использовать различные анимации передвижения персонажа.
Снова переходим к Pers, выбрав его в левой колоне. В общем, пока что у вас должно получится, что-то подобное как на рисунке

Нажимаем на значок списка справа от строки спрайта. Появляется выпадающий список спрайтов, которые вы загрузили. Клацаем по «Pers_Down» и видим это...

События

В общем, окно объекта выглядит так...

В секторе №1 нажимаем «Добавить событие»
Теперь делаем управление с клавиатуры. Клацаем на «Клавиатура->Влево (Left)».
В сектора 2 нажимаем на правой кнопкой мыши кнопку «Fixed Move»

В появившемся окне (следующий рисунок) нажимаем на отмеченную стрелку. Эти стрелки обозначают направления движения, а задаваемое число скорость для объекта, так как мы выбрали событие нажатия кнопки «влево», то соответственно и направления должно быть влево.

Скорость ставим на 15, нажимаем Ок.
В секторе №1 щелкаем на кнопку «Добавить событие -> Клавиша отпу-щена ->Влево».
В секторе два выбираем снова «Move Fixed», нажимаем на квадрат по центру (знак стоп), а скорость ставим на 0. То есть пока игрок держит клавишу «Влево», персонаж перемещается влево с скоростью 15, а когда игрок отпускает клавишу то он применяет скорость ноль – остановку.
Тоже самое делаем с кнопкой «Вперёд», «Вправо», «Назад».

Не забудьте менять кнопки напровления и «Клавиша нажата», «Клавиша отпущена» и ставить скорость 15 кроме «Клавиша отпущена» где скорость 0.

Выйдет такое...

Управление анимацией движения

Теперь перейдя к «Комнате», перейдите на закладку «Объекты», и нажмём на кнопку, отмеченную на рисунке №2.7. В этом выпадающем меню мы выбираем объекты, которые хотим расставить на сцене.

В выподающем списке выбераем «Pers». Теперь ставим его по центру экрана редактора комнаты и нажимаем кнопку «Запуска» (кстати она похоже на кнопку плэй).
Если вы всё сделали правильно то при нажатии клавишь управления он будет перемещатся по экрану и при этом постояно топать нагами)).
Что бы анимация менялась в зависимости от напровления двежения, делаем следующие…
В секторе один жмем «Дабавить событие -> Будильник (Alarm)». Создаём «Сигнал0, Сигнал1, Сигнал2, Сигнал3». В событиях клавиши «Left» в секторе три выбераем «Main2». Там «Set Alarm».

Всё так и оставляем. В «Up» делаем всё точно также, только заменяем в строке «In alarm no:» ставим «Сигнал1», в соответствии делаем тоже и для «Right», «Down».
В самом «Alarm0» выбираем «Main1 ->Change Sprite». В выпадающем меню жмём на «Pers_Left», А остальное оставляем как есть. Всё также делаем для других событий «Alarm», меняя спрайты в соответствии. В «Клавиша отпущена», делаем всё абсолютно точно также в за исключением графы «Speed». Там ста-вим значение 0.
Запускаем и смотрим… Если вы всё правильно сделали, то получится что когда он идет в лево то он поворачивается в лево с анимацией как он идёт, также и с другими направлениями. А когда он стоит он не движется, а повёрнут в сторону, которую он шёл перед этим.

Создания столкновения объектов

Если у вас всё получилось - продолжаем, если нет, тогда попытайтесь найти в чём у вас ошибка, возможно спрайт повернут не в ту сторону, тогда пересмотрите события смены спрайта либо загрузки спрайта.
Теперь нужно создать объекты столкновения, сквозь которые игрок не смог бы проходить. Для этого загружаем спрайт «wall_block» и называем его «Block». Создаём объект и называем его «Block» и применяем ему спрайт «Block». При-меняем к нему параметр «Твёрдый». Добавляем событие «Столкновение» (Collision) и в выпадающем меню берём «Pers». Переходим в «Move». Выбираем «Move Fixed». Выбираем «Объект -> Pers» как это показано на рисунке № 2.9. Нажимаем квадрат посередине кнопок направления, а скорость оставляем на ноль. Таким образом, мы сделали что когда «Pers» будет соприкасаться с «Block», тогда он будет останавливаться. Это один из многих способов сделать объект непроходимым.

Ставим Block по комнате в виде лабиринта. Я сделал это так…

Теперь создаём объект, касаясь до которого человечком вы переходили бы в следующий тур. Снова загружаем спрайт (я например, загрузил спрайт банана), называем его «Victory», объект также называем «Victory». Создаём в нём собы-тие столкновение с «Pers». В «Main1» выбираем «Next Room». Вам предложат выбрать эффект с которым будете переходить на следующий тур. Я выбрал «Shift from left». Жмём Ок. Ставим в самом труднодоступном месте, но при этом, так что б персонаж мог до него добраться(!), для этого вам, возможно, придется протестировать уровень.

Если что-то не получается

В процессе любого создания игр вам сотни раз нужно будет тестировать свои «изделия». Совершенно не всегда будет сразу выходить все то, что вы задумали. Даже профессионал, сделавший какие-то изменения в игре или программе НЕМОЖЕТ ПРЕДВИДЕТЬ ВСЁ. ЭТО НЕВОЗМОЖНО! Поэтому если что-то не полу-чается сразу, не отчаивайтесь, это нормально.

Задний фон

Вы должны дублировать комнаты (для этого нажмите на «Room0» правой кнопкой и нажмите «дублировать») и переставляйте блоки создавая новые уровни. Но чего-то не хватает, так?.. Правильно, заднего фона. Здесь всё также просто, нажимаем кнопку «Добавить Фон». Выбираем загрузить и загружаем. В редакторе «Комнаты», выбираем закладку «Фоны» и делаем как на рисунке...

Где обозначено единицей, там снимите галочку, если вы будете использовать «Задний Фон». Это не обязательно, но увеличит производительность игры.
В секторе 2 выберите фон, который вы хотите поставить на Задний Фон.
В секторе 3 поставьте галочку, если размер изображения не соответствует размеру комнаты (также не обязательно).

Конец

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

Категория: Создание игр | Добавил: Lorderon (06 Октября 2010) | Автор: Арашуков Вадим Артурович
Просмотров: 50148 | Комментарии: 27 | Рейтинг: 4.4/17 |
Теги: гм, основы, Статья, столкновения, Советы, Game Maker, Урок
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Game Maker для абсолютных новичков! №1/2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 271 2 »
+0-
25 HaveToCheese   (16 Февраля 2014 21:47) [Материал]
HaveToCheeseА все понял, помогло выравнивание по сетке. Не знаю, как это конкретно работает, но помогло) Но игра поучилась странная: за один раз можно лишь в одну сторону походить, а при резкой смене направления персонаж поворачивается, делает шаг в полклетки и останавливается. Так и должно быть?

+0-
24 HaveToCheese   (16 Февраля 2014 21:28) [Материал]
HaveToCheeseЯ кажется понял. Между моим персонажем и стенкой должна быть как минимум одна клеточка, иначе - он тормозит, скитается столкновение. Как это исправить?

+0-
23 HaveToCheese   (16 Февраля 2014 21:22) [Материал]
HaveToCheeseСпасибо, сделал все. Но вот проблемка: перс размером 2х2 клеточки не пролазит в дырку в стене, т.е. не может зайти в дырку 2х2, в чем может быть причина?

+0-
22 Olehhka   (05 Марта 2012 09:02) [Материал]
OlehhkaБольшое спасибо!Это моя первая игра! smile smile smile

+0-
21 lanril   (22 Февраля 2012 21:32) [Материал]
А зачем спрайт добавлять через 'alarm'? я сразу добавил в 'event' нажатия клавиатуры и не нажатия. По твоему варианту не получилось развернуть ГГ.
P.S. Статья само по себе отличная для новичка (как я) сразу понятно, где и что кликнуть, чтобы получить нужный вариант. biggrin

+0-
27 olololoscin   (06 Декабря 2016 17:11) [Материал]
обьесни как поподробней пж :)

+0-
19 Praeferox   (18 Марта 2011 17:02) [Материал]
PraeferoxLorderon спасибо за статью, все понятно полезно и доходчиво до того же момента, где застрял Zоh:
"В «Клавиша отпущена», делаем всё абсолютно точно также в за исключением графы «Speed». Там ста-вим значение 0."
Что понималось под абсолютно точно так же? Тупо привязать к "опущенным клавишам) 4 соответствующих аларма? Или создать ещё 4 аларма с нулевой скоростью и привязать к опущенным клавишам?
Никак иначе это понять не удалётся. Ничего из этого не срабатывает. Надеюсь на своевременный отклик.

PS Зачем нужна эта надпись красным: "Не забудьте менять кнопки напровления и «Клавиша нажата», «Клавиша отпущена» и ставить скорость 15 кроме «Клавиша отпущена» где скорость 0."

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


+0-
18 Dirol   (22 Декабря 2010 22:21) [Материал]
DirolАвтор молодец, все понятно и разжевано. Не сразу получилось, как тут написано, немного отсебятины наворотил) Но в целом стало намного понятнее)

+-1-
17 YAmert   (13 Декабря 2010 12:13) [Материал]
YAmertКак зделать, чтобы когда перс двигается была анимация? sad

+0-
20 Bladolitel   (11 Ноября 2011 23:31) [Материал]
BladolitelНужно когда выьираеш скрипт нужно обводить несколько картинок чтобы в их последоватнльности получалось шаг или что там тебе нужно !

+-2-
13 Ботаник   (03 Декабря 2010 20:25) [Материал]
не работает как надо. Двигается в нужном направлении, но смотрит в ту сторону в какую и смотрел и только после отпускания клавиши начинает смотреть в нужную сторону. И без анимации движения. В чем может быть дело?

+0-
14 Lorderon   (04 Декабря 2010 13:08) [Материал]
Поставь действие смены спрайта не в "отпуск клавиша", а в "нажатие на клавишу".

+-1-
15 Ботаник   (04 Декабря 2010 15:44) [Материал]
В смысле? как в статье написано так и стоит. Не верная статья в общем. Поставил действия движения и смены спрайтов в "Клавиша нажата - <Влево>, <Вправо> и тд и начал ходить как надо. А с будильниками и как у вас написано через "Клавиатура - <Влево> не работает. В общем пустая трата времени с вашей статьей

+-2-
16 Lorderon   (05 Декабря 2010 17:31) [Материал]
Главное, что у других всё вышло. smile

+0-
26 Suprug   (19 Августа 2014 19:22) [Материал]
SuprugУ меня почему-то тоже не так :с

+0-
12 k_russe777   (01 Декабря 2010 20:12) [Материал]
Урок просто супер, сразу разобрался что к чему. Спасибо! smile

1-10 11-17
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • ZXTextGameCreation
  • C64 Game Maker
  • Grit
  • Boom
  • Asphyre Sphinx
  • Starling
  • Panda3D
  • Noobster
  • Ultra Engine
  • Construct 3
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг