Как создать игру в Game Maker?

Как создать игру в Game Maker? Автор:Роман "Ka1miK" Калмыков
Видеоролик к статье на YouTube

Вступление
     Все мы любим играть в компьютерные игры, порой они завладевают тобой полностью, и ты не можешь оторваться. Как же хочется создать нечто подобное самому... постойте, ведь подобные игры создают профессионалы, команды людей, а иногда и целые кампании. Среди них программисты, гейм- дизайнеры, художники, звукорежиссёры, 3д-моделлеры и ещё много разных людей. Как же их всех заменить в одном лице, т.е. в себе. Да никак ;-)
    Но надежда всё-таки есть, и называется она- Game Maker...
    Конечно, она не заменит всех этих людей, но процесс создания игр упрощается настолько, что сначала думаешь, насколько же всё просто. К сожалению, сделать на ней играбельные версии игр вроде Half-Life или Gothic не удастся. Но, наверняка, Вы не раз играли с азартом в разные двухмерные аркады, вроде Pacman, Mario, Tetris или Сонника. Процесс их создания на Game Maker довольно прост. При этом Вам не обязательно уметь программировать. Интуитивный и удобный интерфейс drag-and-drop позволит создать подобную компьютерную игру достаточно быстро. Но не думайте, что он способен только на простенькие аркады. После нескольких месяцев, или даже недель, Вы осознаете все его возможности... Даже трёхмерные игры ему по силам. Возможности GM можно расширять различными библиотеками, но об этом мы узнаем позже.
   Так что если Вы любите игры, то потратить хотя бы неделю на Game Maker стоит...


Интерфейс Game Maker 7:Древо ресурсов, параметры спрайта и объекта, редакторы скриптов и комнат
Примечание: оформление окон может отличаться
Поехали...
     Итак, Вы скачали и установили GM. Запустите программу, при первом запуске выйдет окно, в каком режиме первоначально запуститься: Simple или Advanced. Если Вы запускаете его действительно в первый раз, то выбирайте «No», для начала достаточно и простого режима. Переключаться можно в меню File->Advanced Mode.
В папке с установленной программой (по умолчанию C:\Program Files\Game_Maker..\) будут находиться следующие папки:
  • examples содержит несколько игровых примеров, за авторством самого Марка Овермарса (создателя программы), которые Вы можете редактировать. 
  • lib содержит библиотеки действий. Если Вы хотите установить дополнительные библиотеки, то поместите такие файлы в эту папку.
  • sprites содержит некоторые спрайты, которые Вы можете использовать.
  • backgrounds В этой папке фоновые изображения, для Ваших игр.
  • sounds  Ну а тут, как Вы понимаете звуки..

Как оно работает…
     Прежде чем углубляться в знакомство с возможностями Game Maker, хорошо бы сначала понять основную игровую идею (что такое игра с точки зрения её создания, и как она работает изнутри). Игры, созданные Game Maker, используют одну или несколько комнат, под комнатами подразумеваются уровни, карты, этапы, короче говоря, там где это всё происходит. Комнаты плоские, не трёхмерные, но они могут содержать 3D подобную графику. В этих комнатах Вы размещаете используемые в игре объекты. Типичные объекты: стены, двигающиеся шарики, игровые персонажи (герои), монстры и т.д. Некоторые объекты, подобно стенам, лишь статично находятся там и ничего не делают. Другие объекты, такие как основной персонаж, будут двигаться по всему игровому полю и реагировать на команды пользователя (клавиатуру, мышь, джойстик) и другие. Например, когда основной персонаж сталкивается с монстром, он может погибнуть, а когда сталкивается со стеной - не может пройти дальше. Объекты - самые важные компоненты игр Game Maker, поэтому давайте поговорим о них более подробно.
     Во-первых, большинство объектов имеют изображения, которые делают их видимыми на экране. Такие изображения называются спрайтами. Спрайт часто состоит не из одного изображения, а из нескольких, отображение которых одно за другим создаёт эффект анимации объекта (вроде .GIF). Именно благодаря этому персонаж шагает, шарик вращается, космический корабль взрывается и т.д. В течение игры спрайты для определённого объекта могут изменяться. (Таким образом, персонаж может видоизменяться, когда он идёт налево или направо). Вы можете создавать свои собственные спрайты непосредственно в Game Maker: в встроенном редакторе изображений, или загружать их из готовых файлов (например, из анимированных GIF-ов, или из любого другого типа изображений).
     С объектами происходят различные ситуации. Такие ситуации называются - события (events). Когда происходят определённые события, объекты могут совершать некоторые указанные заранее действия (actions). Существует большое количество различных событий, которые могут происходить и большое количество различных действий, которые Вы можете ассоциировать с объектами. Например, событие create event происходит во время создания объекта(точнее, при создании образца объекта; может быть несколько образцов(дубликатов) объекта и для каждого из них событие будет обрабатываться отдельно). Например, при создании объекта шара, Вы можете присвоить ему действия каких-либо движений, с которых и начинается перемещение указанного объекта. Когда два объекта сталкиваются, происходит событие столкновения(collision event). В такой ситуации Вы можете остановить шарик или полностью изменить направление его движения. Вы можете также проиграть при этом звуков. Для этого Game Maker позволяет Вам загружать звуки. Когда пользователь нажимает клавишу на клавиатуре - происходит событие  клавиатуры (keyboard event), и объект может выполнить соответствующее действие, например, начать перемещение в указанном направлении. Для каждого созданного Вами объекта можно указать действия для различных событий, таким образом, определяя поведение объекта. Если Вы вдруг не совсем поняли, что это значит, не волнуйтесь, когда мы будем разбирать примеры, то Вы всё поймёте.
     Как только Вы установили все необходимые объекты, пришло время определиться с комнатами, в которых они будут находиться. Комнаты могут использоваться как уровни вашей игры. Существуют действия, позволяющие перемещаться из одной комнаты в другую. Комнаты, прежде всего, имеют фон, который может быть однотонным или состоять из изображения. Такие фоновые изображения могут быть созданы непосредственно в Game Maker или загружены из внешнего файла. (Фон может использоваться для многих вещей, но в настоящее время мы рассматриваем их как нечто, что создаёт красивый внешний вид Ваших комнат). Затем Вы можете разместить объекты в созданной комнате. Вы также можете разместить в комнате множество образцов одного и того же объекта. Например, Вы должны создать только один объект стены, после чего можете использовать его образец в любом месте. Также вы можете создавать несколько образцов объекта монстра, если у них должно быть одинаковое поведение. При этом каждый образец объекта уникален и обрабатывается отдельно от других.
     Теперь Вы готовы запустить игру. Будет отображена первая комната, и объекты оживут,  выполняя действия, которые были определены Вами в событии создания. При соприкасании образцов будут запущены действия, описанных в событиях столкновения; также образцы будут реагировать на действия пользователя, выполняя действия, описанные в событиях клавиатуры и/или мыши.
    В заключении следует перечислить следующие составляющие (часто именуемые ресурсами), которые играют важную роль при создании любой игры:
  • sprites: (анимированные) изображения, которые используются для отображения объекта, да и просто разные изображения (не путайте с фонами)
  • objects: собственно объекты, главное составляющие наших игр
  • rooms: комнаты (уровни), в которых находятся объекты
  • sounds: используемые в игре фоновая музыка или звуковые эффекты.
  • backgrounds: изображения, используемые как фон для комнат, и не только.
В действительности существует ещё несколько типов ресурсов, это: пути, сценарии, шрифты и тайм-лайны. Данные ресурсы действительно важны при построении сложных игр и доступны будут только в расширенном режиме, пока достаточно самых простых. Остальные будут рассмотрены позже...

Начнём с шариков...
     Сейчас мы с вами опробуем всё на практике, начнём с очень простого примера. Этот пример для простого(Simple mode) режима. Первым делом следует себе представить и описать игру, которую мы хотим сделать. Вы должны всегда начинать создание игр именно с этого шага, это сэкономит в дальнейшем много времени, для такой простой игры можно просто её представить и подумать над возможностями. Для более сложных Вам будет проще сначала написать дизайн-документ, описать там всё, как Вы хотите видеть в игре, и в процессе разработки максимально следовать написанному плану и стараться сильно ничего не изменять; именно так и делают большинство профессиональных разработчиков игр. Итак, наша игра будет предельно простая: есть шарики, которые летают по игровому полю и отражается от стен. Задача игрока такова: игрок должен попытаться нажать на шарик, наведя на него курсор мыши. После каждого нажатия добавляется очко, и появляется новый шарик. Вот такая сомнительная забава... но это только первая версия, после этого мы сделаем из этой «игры» более оригинальную и интересную.
     Как Вы, наверное, уже догадались, нам потребуются два разных объекта: шарик и стена. Нам также понадобятся два различных спрайта: один для объекта стены и один для объекта шарика. А также, мы хотим услышать какой-нибудь звук при удачном щелчке мыши по шарику. Мы будем использовать только одну комнату, в которой будут происходить все действия. (Если Вы не хотите создавать игру самостоятельно, то можете загрузить уже готовый пример из папки Examples, который называется «hit the ball».)
     Начнём, пожалуй, с создания спрайтов. Добавить спрайт можно разными способами: из меню Add (Добавить) выбираем пункт Add Sprite (Добавить Спрайт), можно щёлкнуть на значок спрайта на панели инструментов, ещё можно щёлкнуть правой кнопкой мыши на папке Sprites, там также выбрать Add Sprite или воспользоваться "горячей" комбинацией Cntr+Alt+S. Все эти способы подобно работают и для других ресурсов. В результате перед Вами откроется новое окно. В поле Name (Название) введите имя спрайта, например “wall” (стена). Изменять имя можно и прямо в папке ресурсов, нажмите F2, или выберите в всплывающем меню соответствующий пункт Rename. Нажмите кнопку Load Sprite (Загрузить Спрайт) и выберите соответствующее изображение(\Sprites\maze\wall.gif). Теперь Вы видите загруженный спрайт. Вы можете закрыть окно. Таким же образом создайте спрайт шарика (Sprites\maze\ball_red.gif) .
Затем добавляем звук. Из меню Add выбираем пункт Add Sound (Добавить Звук). Откроется новое окошко. Присваиваем звуку подходящее название и выбираем звук, нажав кнопку Load Sound (Загрузить Звук). Выберите соответствующий звук (например, Sounds\beep1.wav) и проверьте, является ли выбранный звук действительно подходящим, нажав на кнопку проигрывания. Если звук Вам понравился, закрывайте окно.
     Теперь необходимо создать два объекта. Сначала создадим объект стены. Из меню Add выбираем пункт Add Object (Добавить Объект). Откроется окно, внешний вид которого более замысловат, чем те, которые мы видели прежде. В левой его части содержится некоторая информация об объекте. Давайте присвоим нашему объекту соответствующее название в графе Name и выберем для него подходящий спрайт стены, который мы загрузили ранее, нажмите на соответствующий значок рядом с графой Sprite. Поскольку в нашей комнате стены твёрдые, то для этого нужно поставить галочку в поле Solid (Твёрдый), это задаст определенное поведение в некоторых событиях этого объекта, какое именно мы узнаем позже. Для этого объекта пока хватит, так что теперь можно закрыть окно. Далее создаём новый объект (повторяя вышеописанное) и называем его ball(шарик), а также присвоим ему соответствующий спрайт. Шарик мы не станем делать твёрдым (галочки в окошке Solid быть не должно). Для нашего шарика необходимо определить некоторое поведение, т.е. определить события и действия для них. По середине окна (справа от основной информации, под надписью Events) Вы можете видеть пустой список для событий. Чуть ниже него расположена кнопка Add Event (Добавить событие). Нажмите её, и откроется меню с набором всех доступных событий. Выберите событие Create (создания), рядом с которым Вы увидите иконку лампочки. В результате оно будет добавлено в список событий. С правой стороны, на самом краю, Вы увидите всевозможные группы действий (в виде закладок), которые вмещают в себя множество действий. Из группы move выбираем действие (квадратик с иконкой) с 8 красными стрелками и перетаскиваем его в список действий, это белое окно по середине, под надписью Actions (действия). Чтобы перетащить действие наведите курсор на нужный квадратик, зажмите левую клавишу мыши, переместите курсор на список действий и отпустите клавишу мыши. Выбранное действие позволит перемещаться нашему объекту при создании в выбранном направлении. Как только Вы опустите данный квадратик на белое поле, откроется окно, в котором можно выбрать желаемое направление движения. Выберите все из 8 стрелок (нажав на них), чтобы выбрать случайное направление перемещения шарика. В графе speed (скорость) Вы можете выбрать скорость шарика, пока оставим скорость 8 (по умолчанию). Можете закрыть окно диалога. Теперь при появлении шарика, т.е. при его создании, он будет двигаться в одном из восьми направлений. Вторым шагом мы определяем, что будет происходить в событии collision (столкновения) шарика со стеной. Снова нажмите кнопку Add Event. Нажмите на кнопку события столкновения, с двумя стрелками, и в выпадающем меню выберите объект стены. Далее для определения поведения шарика нам нужно выбрать действие bounce (рикошета). Это самое последнее действие в разделе Jump группы move. Если Вы знаете английский язык, то ориентироваться ещё проще: при наведении на действия всплывает подсказка, объясняющая, что происходит при выполнении действия. В данном случае подсказка такая: «Bounce against objects», что дословно значит «отскакивание от объектов». А если Вы скачали русскую версию .lib файлов, то будет вдвойне проще. Теперь при столкновении шарика со стеной он будет отскакивать. Наконец определим, что будет происходить, когда пользователь нажмёт левую кнопку мыши на шарике. Добавьте соответствующее событие mouse (мыши) и выберите левую кнопку мыши из всплывающего меню- Left Pressed (событие нажатия левой клавиши мыши). Для данного события добавим несколько действий. Первое - проигрывает звук, его можно найти в группе main1 (основные1) в разделе действий: «Play a sound»(проиграть звук), просто выберите звук и закройте окно диалога. Второе - для изменения игрового счёта (в группе score) - «Set the score»(указать кол-во очков), в графе new score (новое кол-во очков) поставьте значение 1, а также поставьте галочку в поле Relative (относительно), это значит, что к текущему счёту будет добавлена единица. Третье - для перемещения шарика в новую произвольную позицию- «Jump to a random position», в разделе Jump группы move, все графы оставим без изменений. Также надо добавить действие, чтобы шарик двигался в произвольном направлении, которое можно просто копировать из события создания. Редактировать параметры действия, можно дважды кликнув на нужном действии.


Интерфейс Game Maker 7:параметры объекта
     Наконец все наши объекты готовы. В завершении, нам нужно создать комнату (поле, где всё это недоразумение будет происходить). Из меню Add выбираем пункт Add Room и добавляем комнату. С правой стороны Вы увидите пустое пространство. Слева находятся некоторые установки нашей комнаты, которые Вы можете изменять, например, ширину и высоту комнаты. Укажем размеры нашей комнаты во вкладке settings (настройки), в графе width (ширина), и в графе height (высота). Укажем размер 480х240. Теперь во вкладке objects, в левой нижней части Вы можете выбрать объекты из соответствующего меню. Нажимая левую клавишу мыши на игровом поле, Вы будете размещать образцы выбранного объекта. Чтобы удалить их нажмите правую клавишу. В верхней части окна Вы увидите графы Snap X и Snap Y, это ширина и высота клеток сетки, по которой происходит выравнивание всех объектов, поставьте их значения на 24. Ну а теперь займитесь размещением стен и шариков на игровом поле. Сначала окружите поле прямоугольником из стен, а потом разместите пару шариков. Пока не обращайте внимание на другие вкладки и графы, мы их потом разберём подробно.
     Теперь настало время протестировать получившуюся игру. Нажмите кнопку Run (Поехали!), зелёный треугольник на панели инструментов и смотрите, что произойдёт. Если Вы всё сделали правильно – начнётся игра. Шарики будут летать по полю, отскакивать от стен, а при нажатии на них будут начисляться очки. Всё соответствует нашим задумкам.

Вот и результат
     Поздравляем! Вот Вы и создали свою первую игру. Можете гордиться. Но заметьте игра немного скучная, и кроме того, что Вы сделали её сами, ничего интересного в ней нет. Так что прежде чем читать дальше, можно немного отдохнуть и подумать, что же можно добавить в игру, а что убрать, как сделать её игрой, а не «игрой».
     Подумали? А в следующем уроке мы разберём один из вариантов... создадим игру ColourBalls!

К статье прилагаются:
Videolesson1.rar(1805 кб)- ролик создания игры.
htb.rar- исходник игры Hit the ball.

Лицензия на распространение статьи:
Данная статья может свободно распространяться в том виде, в котором она поставляется, при указании в заголовке держателя авторских прав и источника в виде доменного имени http://GMakers.xyz.
Никакие лица или организации не имеют права брать оплату за распространение статьи без письменного разрешения держателя авторских прав.

Как создать игру в Game Maker? 43
Разработка простой игры в Game Maker. Эпизод 0. Первые строки / Хабр
Как создать игру в Game Maker? 7
Создание платформера в GameMaker - Создание игр - Каталог статей
Как создать игру в Game Maker? 64
Загружаем картинку в программу Pattern Maker и делаем прогон
Как создать игру в Game Maker? 85
Создание игр с помощью конструктора Game Maker. Введение
Как создать игру в Game Maker? 21
10 крутых сайтов для создания собственных комиксов
Как создать игру в Game Maker? 94
Как сделать домашнее видео в программе Windows Movie Maker
Как создать игру в Game Maker? 63
Урок 1:Знакомство с Game Maker, создание первой игры
Как создать игру в Game Maker? 61
Как создать свою игру Как пользоваться Game Maker
Как создать игру в Game Maker? 33
Ответы Как сделать свой долз-мейкер?
Как создать игру в Game Maker? 6
Как сделать игру в программе RPG Maker XP
Как создать игру в Game Maker? 60
Как создать игру в Game Maker? 63
Как создать игру в Game Maker? 47
Как создать игру в Game Maker? 6
Как создать игру в Game Maker? 87
Как создать игру в Game Maker? 79
Как создать игру в Game Maker? 45
Как создать игру в Game Maker? 84

Похожие записи:

  • Как сделать пружин капканами
  • Журнал по вязанию осень
  • Я сшила платье из шелка
  • Поздравление маме с днём рождения взрослой дочери стихи
  • Как из нитки сделать шнурки