Доброго времени суток, уважаемые читатели моего бложика! В известном топике уже была задета тема Game Maker и многим она показалась интересной. Потому я хотел бы в свою очередь ее несколько продолжить и дополнить своими мыслями. Так как на момент написания этого текста я еще не придумал какой-нибудь умопомрачительный заголовок для него, на всякий случай сообщу, что это ни в коем случае не будет очередным уроком или чем-либо другим в этом духе (по прежнему считаю, что туториалам тут не место). Так что всем, кто уже знаком с Game Maker Studio и желает познать остальные его тайны, но при сем ленится совершить такое сложное телодвижение, как набор «gamedev.ru» в адресную строку, сейчас придется попотеть… Для остальных же продолжим.
Для начала стоит рассказать о том, что вообще есть такое этот самый Game Maker Studio, ибо, думается мне, обязательно найдутся люди, которые о нем и не знают вовсе. А есть это специальный конструктор игр — программа для быстрой конвейерной сборки (угадайте, чего?) видеоигр. На данный момент Game Maker Studio очень популярен и уже зарекомендовал себя в широких массах, как не только легкий и доступный, но и одновременно довольно мощный инструмент для разработки приложений. Хотя изначально Game Maker и был ориентирован исключительно на машины под управлением Windows, нынче он обзавелся кроссплатформенностью и позволяет писать игрушки как под Маки и Шиндовсы, так и под Андроиды и Айфоны. Спектр доступных платформ, можно сказать, ограничен только вашим желанием вкладывать деньги: изначально пользователю доступна разработка исключительно Windows-приложений, а остальные модули экспорта покупаются за определенную сумму.
GameMaker Studio / Урок #1 — Создание RPG игры
В плане интерфейса со времен седьмой версии, с коей у многих новоиспеченных игроделов и начиналось знакомство с данным конструктором, Game Maker ушел далеко вперед. Помимо довольно сомнительного дизайна (который, в принципе, можно поправить в настройках) GMS так же обзавелся рядом других улучшений.
Однако так как эта, с позволения сказать, статейка ориентирована в большей степени на людей, которые и в руках-то не держали Game Maker, начну по порядку. Итак, как вы можете узреть на скриншоте ниже, окно Game Maker Studio состоит из главного меню (1), дерева ресурсов (2) и, собственно, рабочей области (3). Надо сказать, рабочая область — отныне вещь весьма условная и даже бесполезная.
Если раньше дочерние окна нельзя было выдвинуть за границы главного окна GMS, то теперь эту болезнь пофиксили, а пустая область под эти вот самые дочерние окна так и осталась в качестве напоминания о печальной недоработке. Думаю, в идеале стоило бы довести интерфейс до схожей с Delphi консистенции, но олдфаги вряд ли бы свыклись с такими кардинальными изменениями в дизайне, да и не модно это как-то уже. Но не суть.
Game Maker Studio 2 для создания игр [обзор движка]
Объяснять, как работать с главным меню, особого смысла не вижу. Но все-таки на всякий случай перечислю основные пункты, с которыми в дальнейшем придется столкнуться:
НОСиК (Новый проект | Открыть | Сохранить | Компилировать). Банальнейший наборчег для работы с проектом. Последний пункт создает, так сказать, файл с игрой или же нормально компилирует проект, коль приобретен YoYo Compiler (об этом чуть позже).
ЗиЗОП (Запустить игру | Запустить в режиме отладки | Остановить сервер | Почистить кэш). Простыми словами, набор для отладки приложения. Последние два пункта явно вам непонятны, так что попробую немножко пояснить. Когда вы запускаете HTML5-проект (или просто приложение в режиме отладки), создается какой-то там сервер, который что-то там делает.
Вдаваться в подробности смысла не имеется, но суть в том, что изредка случается так, что этот сервер надо принудительно закрыть. Для этого и существует кнопка «Остановить сервер». Ну а кнопка «почистить кэш» нужна дабы, собственно, и очищать кэш после компилирования вашего проекта. Можете верить, а можете — нет, но говорят, мол, важно и нужно.
Без комичного названия (Настройка проекта | Расширения). Вещи, о существовании которых, как ни странно, многие даже не догадываются 0_o. В настройках вы можете поставить своей игрушке модную иконку, указать автора, версию и т.д. В общем, поковыряйтесь сами. В расширения же можно натолкать множество дополнительного функционала в виде .gex пакетов.
Часто авторы различных dll таким образом и распространяют API для работы со своей библиотекой.
Справка (Справка). Многие думают, что она нужна лишь для того, чтобы прикрикнуть на ньюфага, мол, в справке все написано. Но немногие знают, что там действительно все написано!
Дерево ресурсов представляет собой упорядоченный список всех доступных ресурсов (спасибо, кэп). Наиболее важные из них на начальных этапах: sprites (спрайты), objects (объекты) и rooms (комнаты). Собственно, пару слов о том, как приблизительно происходит в Game Maker Studio процесс разработки игры.
Создается спрайт, который, простым языком говоря, представляет собой контейнер, содержащий всякого рода картинки. То есть, коль загружена только одна пикча, то это просто будет статичное изображение. Если же загрузить больше, то, по умолчанию, оно будет проигрываться, как анимация.
Далее делается объект, ему обычно присваивается тот или иной спрайт (в дальнейшем, именно спрайт будет по умолчанию отрисовываться по координатам объекта). Также для объекта прописывается определенный набор скриптов по принципу «условие (событие) — действие». То бишь, если мы хотим, чтобы созданный объект сместился влево по нажатию соответствующей клавиши, добавляем событие «Key Left» и для него пишем скрипт x-=1; (изменение координат объекта). Полученный объект размещается в комнате, которая, грубо говоря, является уровнем (локацией) в вашей игре. Примерно по такому принципу и клепаются игрушки на GM. И да, конечно, кроме перечисленных типов ресурсов нам доступна еще куча других:
— Sounds. Звуки, музыка и т.д. Заострять внимание смысла нет.
— Backgrounds. Опять же ничем не примечательный пункт, содержащий фоновые изображения для уровней или чего-либо там еще.
— Paths. «Пути» для объектов. Если вам, к примеру, приспичит, чтобы бот в игре по типу CS2D ходил определенными путями, вы можете не прописывать кучи скриптов, а просто создать путь в удобном редакторе и включить его нужному объекту.
— Scripts. Если вы знакомы с «чистым» программированием, то наверняка знаете, что такое функции и процедуры. Так вот, тут примерно то же самое: если у вас возникнет нужда повторять какой-либо участок кода по нескольку раз, вы можете просто создать отдельный скрипт и вызывать его в нужном месте.
— Shaders. Шейдеры и… Просто шейдеры.
— Fonts. Шрифты. Вновь все понятно без комментариев.
— Time Lines. Опять же для примера: если вам нужно сделать так, чтобы первые десять секунд играл на заднем плане дабстеп, а потом включалась классика, то можно просто создать тайм-лайн и прописать нужные скрипты с привязкой к времени. Очень удобно.
— Included Files. Вложенные файлы. Нередко возникает нужда запихнуть в проект dll-ку или же ini-файл, содержащий, например, базовые настройки для игры. Для этого достаточно всего-то затолкать необходимый файл в специальную вкладку в дереве ресурсов.
— Extensions. Расширения. Собственно, суть в том, что если чего-либо в Game Maker вам не хватит, вы это можете сделать сами. Актуально в основном для мобильных устройств.
— Macros. Содержит константы.
Собственно, напоследок, говоря об интерфейсах, хотелось бы упомянуть о редакторе комнат (просто язык чешется; об остальных редакторах я нарочно умолчал, ибо бложик бы растянулся до невиданных размеров). Лет пять назад некий экспертный эксперт в своем сравнении Construct с Game Maker не только бездумно осквернил GM своим нубством, вызвав у определенной массы бургуты, но и указал один реальный недостаток: неудобный редактор комнат.
Собственно, YoYo Games, видать, прислушались и пофиксили многие проблемы. Несмотря на несколько непривычный интерфейс, я считаю, что вышло у них немножко удобней и понятней известного аналога.
Правда, при этом невооруженным глазом видны всякие углы и косяки, что вроде как плохо… Но не особо напрягает 🙁 И, раз уж пошла тема, осмелюсь сказать пару слов по поводу вечного холивара Game Maker vs Construct. Честно говоря, тут все дело привычки. Лично меня просто тошнит от интерфейса Констракта, хотя некоторые видят в этом лишь абсолютное превосходство над GM.
Тем не менее, в борьбе за пользовательские сердца и деньги, в конце концов, выиграл, да и выигрывал всегда Game Maker. И тут дело даже не в его мощности, а в качественной рекламе от YoYo Games. Все мы слышали о Hotline Miami или не менее известном Gunpoint, разработанных на Game Maker Studio. Ну а кто-нибудь может назвать хоть одну более-менее популярную игру на Construct?
Лично у меня складывается впечатление, что последнее время он вовсе не развивается: ни слуха, ни духа. Хотя, я не отрицаю, что это вполне себе адекватное средство для разработки игр и все мои нарекания, возможно, вызваны тем, что я знаком с Констрактом весьма поверхностно.
Ну и буквально строкой о дебаггере в Game Maker Studio. Имеется две его версии: старая и новая. Собственно, новая стоит по умолчанию и, как мне кажется, достаточно удобна и информативна. Ну а о старой версии, наверняка, больше скажет вот это видео:
Ну а теперь немного о Game Maker Language, ведь большую часть времени в Game Maker Studio вы как раз и проведете в редакторе кода в обнимку с этим скриптовым ЯП (нет, drag-and-drop в GM на месте; просто на деле гораздо удобнее воспользоваться кодом, нежели этой кучей пазлов). Из плюсов, стоит отметить, что у GML имеется весьма свободный синтаксис.
То бишь, грубо говоря, никакой дисциплины — пиши как хотишь, что, думаю, приглянется новичкам. Возможностей для скриптинга тоже хватает: базовые операторы и функции на месте. Да еще вдобавок ко всему имеется целая библиотека дополнительного функционала от векторного движения до полноценного поиска путей(A* Pathfinding). В общем, что могло бы занять у вас сотни строк кода и кучу времени, здесь реализуется за пару минут всего одной функцией. Тем не менее, есть у GML и слабые стороны.
Многие опытные кодеры жалуются, мол, «тема ООП совсем не раскрыта», и с ними сложно не согласиться. Наиболее яркий пример: программисты уже привыкли к некой иерархии доступа к определенному объекту и его свойствам… Эх… Совсем не в ту сторону меня понесло. В общем, сделаем вид, что строчек выше не было и начнем с чистого листа. Для начала, вот список свойств объекта, которые относятся непосредственно к «настройкам» спрайта в Game Maker:
— image_index
— image_speed
— image_height
— image_width
— и т.д.
Чувствуете? Ну ведь неказисто все и неудобно, коль рассматривать Game Maker, как объектно-ориентированную систему программирования: целый набор переменных с постоянным повторением image. А ведь это только часть свойств, касающихся спрайта объекта. Представляете, какой беспорядок там творится, коль учесть и другие переменные? Куда удобней и понятней было бы, коль внутри объекта существовала отдельная структура «image» (например), где бы и хранились эти самые свойства.
Знаю, что у некоторых сейчас кипят мозги от поступающего бредоподобного потока информации, так что для начала постараюсь наиболее доступно объяснить, что подразумевается под словом «структура». Итак, представим обыкновенный рабочий стол Windows, который естественно засорен кучей бесполезных файлов по работе и картинок с мемами, чтобы можно было в любой момент остроумно пошутить в рамках какого-либо интернет-сообщества. И тут вы делаете две папки: в одну кидаете бесполезные файлы по работе, а в другую — картинки-мемы для ваших будущих шуточек. Естественно теперь взаимодействовать и с теми, и с другими файлами гораздо удобней, поскольку вы их четко структурировали. Примерно такие вот папки и представляют собой структуры, о которых идет речь.
Чем это удобней в плане кодинга? К примеру, представим ситуацию, когда нам необходимо изменить значение около пяти переменных, касающихся непосредственно картинки. И делать нам это придется вот как-то так:
image_index=…; image_speed=…; image_height=…; image_width=….; image_angle=…;
А вот коль внутри объекта была бы структура «image» количество рутины можно было бы сократить до минимума, вычеркнув постоянное повторение одно и того же слова:
with image
Думаю, разница очевидна: код уже красивей, чище и понятней. Тем не менее, сложно это все назвать серьезным минусом, поскольку новички какого-либо дискомфорта не ощутят, да и более-менее опытные программисты вряд ли столкнутся с такой ситуацией, когда отсутствие структур критично бы повлияло на количество кода. Однако все равно выглядит это довольно некрасиво.
Также очень много нареканий в адрес GML идет из-за его принадлежности к скриптовым (или же, как их иногда кличут, динамическим) языкам. Дело в том, что, по сути, Game Maker Studio не компилирует вашу игру, а лишь создает архив с необходимыми данными, которые в свою очередь динамически считываются специальной программой — интерпретатором.
В результате, какие-либо крупные «сценки» с большим количеством объектов и кода часто приводят к заметному падению FPS. Ну а еще хакерам куда проще взломать подобные вот архивчики, нежели полноценную откомпилированную программу. Благо и ту, и другую проблему можно частично решить при помощи YoYo Compiler. Не благо то, что за эту программу вам придется отдать еще около $300 при наличии Pro-версии Game Maker Studio, которая стоит на данный момент $100.
Ну а теперь то, ради чего я тут распинался кучу времени, вкратце описывая все аспекты Game Maker Studio: стоит ли покупать эту чудо-программу и начинать творить свои шедевры али нет? Если вас не смущает цена (это, на минуточку, $800 на весь комплект со всеми модулями экспорта), конечно же, стоит.
Правда, сразу вливать все свои сбережения смысла не имеет: для начала ознакомьтесь поближе с бесплатной Standard версией и попробуйте свои силы на поприще Windows-игр.Какие скиллы стоит прокачивать, дабы полноценно работать в Game Maker? Ну, в первую очередь, это рисование. Найти хорошего художника, на самом деле, в разы сложнее, чем отыскать того же композитора.
Нет, вы, конечно, можете реализовать какой-либо гениальный минималистичный дизайн по типу VVVVVV, но на то все-таки, как порог, требуется определенный опыт. Также, естественно, следует хотя бы вкратце ознакомиться с азами программирования: уяснить, как минимум, что такое переменные и так далее.
Заранее предвещаю вопрос: «Хей! Я только что сделал свою игру, могу ли я как-нибудь ее монетизировать?» Постараюсь поверхностно на него ответить. Если вы действительно склепали качественный проект, то имеет смысл податься на Desura. Данный сервис представляет собой некий аналог Steam, но рангом ниже. Отличительная черта Desura в том, что попасть туда довольно просто.
Значительный минус — унести оттуда денег куда сложней. Если же вы сделали что-то с чем-то, но-таки желаете с этого получать деньги, можно погуглить MyPlayCity. Хотя тут и приветствуются в основном офисные игрушки или очередные поделки на тему «три в ряд», для вашей скромненькой игрулины, думаю, тоже найдется место. Остальные способы заработка, а также прочие нюансы лучше уяснять непосредственно на форумах по разработке игр.
Скачать Game Maker Studio вы можете с официального сайта YoYo Games. Лично я предпочитаю текущую Early Access версию, однако вы можете взять себе стабильную 1.3: разницу поначалу вы вряд ли заметите. После установки вы, скорей всего, с горестью обнаружите, что вам доступна только Free версия.
Однако не стоит бояться — достаточно всего-то указать в нужном месте свой e-mail и абсолютно бесплатно получить ключ для Standard. С вашего позволения, я не буду сносить настройки программы, дабы тыкнуть пальцем на скриншоте, где это «нужное место» находится. Также вы можете приобрести Game Maker Studio: Standard в Steam. В отличии от бесплатной лицензии, в нем вам будет доступен порт на Маки, а также вырезан назойливый сплеш-экран, гласящий о том, что игра сделана на проге от YoYo Games. Но, опять же, лично я считаю, что этого делать не стоит: политика разработчика касательно Steam мне кардинальным образом непонятна, так что и неизвестно, чего стоит ждать от честно купленной GMS в королевстве Гейба.
А на этом я, наконец-то, заканчиваю излияние буковок в редактор Word. Сразу хочу сказать, что некоторые вещи я мог действительно забыть упомянуть: Game Maker, на самом деле, куда более обширен в плане возможностей, чем может показаться на первый взгляд. Так что заранее извиняюсь, коль вы вспомнили о той самой забытой вещи/вещах. Также извиняюсь за возможные грамматические ошибки или же просто неточности по ходу повествования — что-то меня совсем расперло на буковки и местами я мог запутаться… Ну и, выражаю надежду, что сей материал окажется хоть для кого-нибудь интересным и не потонет в своей бесполезности. Аминь.
Источник: stopgame.ru
Создаем игру быстро и просто — Game Maker — без программирования
Пожалуй, в наше время каждый слышал о Game Maker, поскольку он является самым популярным (и, естественно, известным) конструктором игр.
Game Maker был написан на языке программирования Delphi дельфинчики оаоаоаоа для операционной системы Windows, а позже была выпущена версия и для Mac. Над Гейм Мейкером работал один из довольно известных разработчиков — Марк Овермарс. Он же и был ведущим разработчиком, то бишь главным в шайке команде разработчиков.
Интерфейс Game Maker 8.0
Game Maker в основном рассчитан на разработку игр с двухмерной, то есть 2D, графикой, при этом будучи конструктором для разработки игр любых жанров. Также Game Maker используется и для создания различных презентаций.
Начиная с 6-й версии появилась ограниченная возможность работать с 3D. Не смотря на то, что данный конструктор не требует знания языков программирования и вообще умения «писать код», он был рекомендован многими, включая профессора Утрехтского университета, Марка Овермарса (он же начал разрабатывать Game Maker как учебное пособие для своих студентов), для изучения программирования.
пример игры
Итак, пожалуй, начнем.
Если вы еще не скачали и не установили Game Maker, то сделайте это. А теперь поехали. Вы уже запустили Game Maker и разбегайтесь глазами — что же делать? Давайте по порядку (а как иначе?).
интерфейс с дополнительными обозначениями, фото 4
Для начала, выберите меню File и в нем кнопку Advanced Mode. В папке с установленным Game Maker (по умолчанию C:Program FilesGame_Maker) будут лежать следующие папки:
- examples — здесь лежат примеры игр. Ходят слухи, что они созданы самим Марком Овермарсом;
- lib — папка с существующими действиями в Game Maker (устанавливать дополнительные также в эту папку);
- sprites — здесь лежат наши с вами спрайты (картичночки, аоаоао );
- backgrounds — здесь лежат фоны, иначе говоря — задние картиночки, то, что сзади;
- sounds — тут же помещаются уже звуки, музыка и тому подобное;
- Fonts — шрифты, то есть правила написания буковок;
- Time Lines — время тоже пространство, только по другой, своей, оси;
- Objects — здесь лежат наши объекты;
- Rooms — здесь лежат наши комнатки, или же уровни;
В интерфейсе, который можно видеть на картине выше, есть всякие непонятные многим кнопочки. Часть из них аналогично папкам, о которых также написано выше. Я же проинформирую вас о тех, о который еще не сказал.
- Game information — введите любую информацию и ее увидит игрок (лично я рекомендую писать сюда об управлении);
- Global Game Settings — то и значит. Глобальные игровые настройки. Здесь можно задать разрешение экрана, то бишь его размер, синхронизацию, частоту и глубину, а также можно задать определенные действия таким кнопкам, как F1 или F2.
Game Maker и созданная на нем игра
Те кнопки, о которых я сказал выше, находятся в первой группе (отмечено в 4-й картинке). Теперь же поговорим о тех, что находятся во второй группе:
- Создать новую игру;
- Открыть;
- Сохранить;
- Создать ЕХЕ файл;
- Опубликовать свою игру;
- Запустить игру;
- Запустить ее в отладочном режиме (для исправления ошибок, то бишь багов);
- Загрузить;
- Спрайты;
- Звуки;
- Фоны;
- Путь (где будет лежать файлы и папки от вашей игры);
- Скрипты (уже для программистов);
- Шрифты;
- Тайм-лайн;
- Объекты;
- Комнаты (они же rooms);
- Добавление игровой информации;
- Настройки;
- Пакеты расширения;
- Справка (она же инструкция).
Game Maker 6.1 и игра, созданная на нем
В третьей группе находится три обучающих урока по созданию игр, можете заглянуть после прочтения этой статьи и туда, если знайте английский.
В четвертой группе находится то пространство, где мы будет работать, то есть поле фронта. Победа за нами , у нас все получится!
ну а мы писать код не будем, не беспокойтесь
И так, настало время перейти к наступательно-решительным действиям, а именно — начать уже создавать эту игру. Думаю, для более простого примера, создадим игру-лабиринт.
На всякий случай, буду показывать как английский, так и русский интерфейс программы.
для обучения
На фото выше вы можете увидеть, как добавлять ресурсы и комнаты (первая и вторая обведенная кнопка соответственно).
для обучения
После добавления комнаты, переходит во вкладку установки (в английском интерфейсе — setting; где-то на русском может называться настройками комнаты). Здесь выставите необходимый вам размер комнаты в пикселях, в полях, показанный на фото выше.
Но все же, рекомендую выставлять размер 800 ширины и 600 длины, поскольку он поддерживается всеми мониторами.
для обучения
Далее жмем Global Game Settings как показано на фото выше.
для обучения
Далее у вас должно появится такое же окно, как показано на фото выше. Вам необходимо нажать кнопку «ок».
для обучения
А вот теперь создаем аналогичным образом уже объект. У вас уже должно появится такое же окошко, как на фото выше. Для начала нам нужно создать персонажа, потому назовем объект pers.
А вообще, в будущем, называйте объекты соответственно. То есть, создаете оружие, так называйте его weapon. Тоже самое, кстати, касается и переменных в программировании.
Помните, что в профессиональной среде работают не одиночки, а команды, потому в вашей стрепне должны быть способны разобраться и другие. И если они не разобрались, то почти всегда это не их вина, а как раз ваша.
Теперь давайте разберем остальную часть окна создания объекта:
Видимый — будет ли виден ваш объект;
Твердый — как будет реагировать ваш объект при столкновении;
Глубина — определяет приоритет относительно остальных объектов в отображении, то есть на кого накладывается поверх, на кого нет;
Постоянный — постоянные объекты используются во всех комнатах, пока вы специально не прервете.
для обучения
Выше вы видите окно создания спрайта. Поскольку наш персонаж видимый, для него нужен спрайт, то бишь картиночка. Не символами же игрок будет управлять (раньше до прихода спрайтов в игровую индустрию все в играх состояло из символов).
Спрайты называем по той же схеме, как и объекты.
Нажимаем загрузить спрайт и выбираем картиночку для персонажа. Желательно загрузить персонажа в разных положениях.
Нажимаем на списка справа от строки спрайта. Появляется выпадающее меню со списком спрайтов, которые вы уже загрузили. Нажимаем по «Pers_Down» и видим это:
для обучения
В группе интерфейса 1 (возвращаемся почти к началу) нажимаем на кнопку «добавить событие». Теперь делаем управление с клавиатуры. Жмем-с на «Клавиатура->Влево (Left)».
В группе 2 нажимаем правой кнопкой мыши кнопку «Fixed Move».
Источник: dzen.ru