Как изучить gamemaker: studio
Содержание:
- Становимся профессионалом
- Возможности
- Преимущества и недостатки
- RPG Maker
- Возможности
- USER INTERFACE
- Automatic Tile Imports
- EXCEPTIONS, TRY, CATCH AND FINALLY
- Плюсы и минусы
- Возможности
- Collision Checking
- UPDATED EXTENSIONS
- Учебные ресурсы
- Используемые принципы игростроения
- SUMMARY
- NEW PHYSICS FUNCTIONS
- CHAINED ACCESSORS
- ARRAYS
- Заключение
Становимся профессионалом
Несколько GameMaker игр стали коммерчески успешными, и есть много других великолепных GameMaker игр, которые являются прекрасными примерами того, что возможно создать используя GM:S.
Отточеные игры
Spelunky — оригинальная версия Spelunky была создана в GameMaker; более новая XBLA версия и новая ПК-версия игры, нет. Это коммерческий успех, версия, созданная в GameMaker, бесплатная.
Spelunky Trailer
A Nation of Wind — эта игра скрытый драгоценный камень и в нее стоит определенно поиграть.
A Nation of Wind — Trailer
Dustforce — вышла в Steam, это не был огромный коммерческий успех, но тем не менее, это отличная игра!
Dustforce — Debut Trailer
Коммерческие хиты
Hotline Miami gameplay
Gunpoint Launch Trailer — A 2D stealth game about rewiring things and punching people
Stealth Bastard Deluxe — Launch Trailer
Aces of the Luftwaffe — Universal — HD Gameplay Trailer
Возможности
Разработчики (YoYo Games) заявляют, что в GMS 2 огромное количество изменений и улучшений по сравнению с первой версией программы. И это так, но основные возможности остались теми же:
- Возможность создания полноценных игрушек с 2D графикой.
- Встроенный графический редактор.
- Обучающие материалы и демо-приложения (только на английском языке).
- Специальный режим для использования на ноутбуках.
- Полная настройка интерфейса для нужд конкретного пользователя.
- Полноценный редактор скриптов.
- Возможность визуального создания игровых приложений (без использования кода).
- Продвинутый инструменты для создания анимации.
- Возможность командной работы над проектом.
- Продвинутая поддержка сетевых игрушек.
- Язык программирования на базе С (для продвинутых пользователей).
Отличная платформа для создания качественных продуктов любого жанра. Крякнутый GMS 2 ничем не отличается от приобретенного. Функционал остается точно таким же. Только не будет доступен командный режим работы над проектом
Но это не так важно
Еще одна особенность – возможность создания простых приложений сразу «со старта». Даже неподготовленный пользователь может сделать собственную простенькую игрушку через пару часов после начала работы с GMS 2.
Преимущества и недостатки
Стоит учесть, что эта программа – уникальный продукт. Обычно для создания качественной игры требуется целый набор дорогих и профессиональных программ. А здесь все инструменты объединены в одном приложении. И это первое преимущество, но есть и другие:
- Простой и понятный процесс установки.
- Для создания полноценных игр не обязательно изучать язык программирования.
- Интуитивно понятный и полностью настраиваемый интерфейс.
- Беспроблемная работа на ноутбуках.
- Оптимизированная работа с Windows 10.
- Есть обучающий материал.
- Отличная поддержка от разработчиков.
- Универсальность продукта (нет нужды использовать дополнительные программы).
- Кроссплатформенность (имеются версии приложения для Windows и MacOS).
Русификатора для этой программы нету, и вряд ли предвидится. Это единственный недостаток Game Maker Studio 2
Если не брать во внимание высокую стоимость лицензии. Однако в руках пользователя оказывается уникальный инструмент для создания игр
За это многое можно простить.
GMS 2 требует некоторых навыков в создании компьютерной графики. Но встроенный графический редактор программного продукта настолько прост, что с ним в считанные часы разберется даже новичок. Простота в создании игр – еще одно преимущество продукта перед профессиональными (и очень сложными) программами.
RPG Maker
История одного из самых знаменитых конструкторов ролевых игр началась ещё в конце 1980-х. Более поздние версии для Windows, созданные японскими разработчиками, получили широкое распространение на Западе. Сегодня популярность движка достигла таких масштабов, что тег RPG Maker в Steam представляет уже не столько игры на самом движке, сколько собирательный образ тематического направления в геймдеве. Этот феномен легко объяснить.
RPG Maker используют преимущественно для создания JRPG в стиле ранних частей Final Fantasy. Сам жанр требует огромного количества ресурсов: локаций, персонажей, мобов и так далее. Большинство тех, кто работает в RPG Maker, используют дефолтные шаблоны движка, дополняя их собственными персонажами и иллюстрациями. Иногда даже NPC в этих играх созданы только с помощью генератора. Поэтому игры на RPG Maker, как правило, выглядят очень однотипно. Лень тут ни при чём: у большинства инди-разработчиков просто нет времени, навыков и ресурсов, чтобы сделать всё с нуля. А готовые системы сохранения, боя и интерфейс тяжело изменить. Даже если потратить на кастомизацию достаточное количество времени, мелкие детали в интерфейсе всё равно выдадут RPG Maker.
Сейчас существует несколько версий редактора. Последняя — RPG Maker MZ — вышла в 2020 году. Базовая версия обойдётся в 1 389 рублей. Также не стоит забывать о DLC с наборами тематических ассетов, которые наверняка потребуются начинающему разработчику.
Скриншот из To the Moon — игры, созданной на RPG Maker. Скриншот: игра To the Moon / Steam
Преимущества:
- не требует навыков программирования, более опытные разработчики могут оценить гибкость движка с помощью JavaScript;
- кросс-платформенность (Windows, Mac OS X, HTML5; iOS и Android — в RPG Maker MV);
- огромное количество плагинов: игру можно сделать фактически с нуля без помощи художников и композиторов;
- на тематических форумах есть бесплатные ассеты.
Недостатки:
- большое количество ассетов и DLC, которые следует докупать отдельно;
- неоправданно большой «вес» проектов: согласно порталу gamedesigning.org, игра занимает от 400 МБ независимо от количества контента, к тому же конструктор нередко создает резервные копии, засоряя жёсткий диск;
- если перемудрить с ассетами, игра начнет тормозить — выявить причину будет непросто;
- портирование на мобильные платформы может сопровождаться неприятными багами.
Игры на движке: To the Moon, Hello Charlotte, Grimm’s Hollow, Lawmage Academy.
Скриншот из Lawmage Academy — игры, созданной на RPG Maker. Скриншот: игра Lawmage Academy / Steam
«Мне хотелось сделать добротную двумерную RPG с приятным геймплеем, хорошей боёвкой и презентабельным визуалом. Я понял, что мне не хватит опыта и бюджета для работы с Unity 3D или UE4 (если не считать работой сборку игры сомнительного качества из готовых ассетов), поэтому я остановился на RPGMaker, тем более что мне уже доводилось с ним работать. Это замечательный инструмент, но, к сожалению, за годы у него сложилась репутация конструктора плохих игр, которые порой бывают даже хуже, чем поделки на Unity. Отчасти это связано с простотой его использования. Практически любой желающий может сразу создать игру на RPG Maker, достаточно посмотреть пару обучающих видео. Однако реальные возможности движка сильно ограничены: на нём можно сделать только JRPG в стиле Final Fantasy, для иных жанров потребуется масса плагинов, а ещё предстоит потратить время на работу с кодом».
Manly Mouse Studios, инди-разработчик (The Singularity Wish). Дневник разработчика, октябрь 2019 года
Скриншот из The Singularity Wish — игры, созданной на RPG Maker. Скриншот: игра The Singularity Wish / Steam
«RPG Maker действительно очень простой движок. Его простота и доступность привели к тому, что на нём появилось огромное количество „мусора“, в том числе порнографического содержания. Из-за этого многие геймеры терпеть не могут RPG Maker. И эта дурная слава будет преследовать даже качественные проекты. Игры на этом движке очень узнаваемы. Ещё могу отметить тот факт, что движок подходит для создания пошаговых RPG и даже квестов. Игры других жанров в теории тоже можно сделать (я даже видел симпатичный beat ’em up), но это равносильно забиванию гвоздей отвёрткой вместо молотка».
Кирилл Пестряков, инди-разработчик (Heroines of Swords & Spells)
Скриншот из Heroines of Swords & Spells — игры, созданной на RPG Maker. Скриншот: игра Heroines of Swords & Spells / Steam
Возможности
Изначально автор приложения – Марк Овермарс – хотел создать обучающую программу, которая объясняла бы студентам принципы программирования. Однако постепенно разработка превратилась в игровой редактор. Он развивается уже более 15 лет, обрастая функционалом, что позволяет:
- придумывать 2D-игры;
- создавать презентации;
- рисовать анимацию;
- использовать программу в учебных целях.
Интерфейс приложения интуитивно понятен, окно содержит привычные для обычных пользователей строки меню и панели кнопок. В меню находится раздел справки, где можно увидеть обучающий ролик, объясняющий всю суть программы.
USER INTERFACE
The GameMaker: Studio user interface has also had a number of tweaks and improvements. The most obvious of these is the new resource tree search and filter options that are at the bottom left corner of the main IDE. With these you can quickly find a single resource in a large project, or filter out the resources that don’t contain the input string. Filtering will present you with a reduced resource tree showing only those elements that contain the search string.
The image editor has also had a major update, with a number of extra functions being added to it, like onion-skinning, RMB erase and custom colour palletes. For a full list of the image editor features please see the YoYo Games Tech Blog.
Another change to the UI can be found in the code editor for scripts, which now permits you to create tabbed Script Groups. Basically, you create a new «parent» script (which is what will be shown in the resource tree), and in the code editor for that script you can add further «child» scripts to it, by simply clicking the new tab at the top of the window. You can then name your new tab and use the same name to call the script it contains in code, meaning that you can have self-contained script groups all in one window. You can find out more about this feature from the GameMaker Manual.
The Asynchronous Event category has a new event added to it now too, which is the Save/Load Event. This will only be triggered by certain buffer or audio group functions at the moment, but will be used by other functions later.
There have also been a number of minor tweaks and improvements made to the room editor, the way the IDE deals with pop out windows, and various other things (like how the serach results and errors are displayed) making everything more stable and easier to use. You can find further information about these things from the release notes.
it is worth noting that the Constants window has been renamed Macros. This does not change the functionality in any way, and is simply a name change to reflect better the true nature of how they work.
Automatic Tile Imports
If you have an image of a level built using
tiles, such as a mockup, you can extract tiles from it using the “Convert Image
to Tilemap” option under the Room menu. This loads the given image into a new
Tile Layer, and also creates a new Tile Set that can be reused.
I loaded this image that shows a map built
using some tiles:
I had to adjust some properties in the
importer (such as tile size, starting position) and it then generated a Tile
Layer with the given image, and also created a new Tile Set asset with all
unique tiles:
Let’s go back to the Tileset Editor now and
look at its most exciting feature: Auto
Tiling!
EXCEPTIONS, TRY, CATCH AND FINALLY
The final new language feature that has been added in the 2.3 update that we want to discuss here is the ability to control to a much greater degree how errors are handled when they are encountered in your code as well as the ability to generate your own error messages.
To start with we have the new operator, which — as the name implies — can be used to «throw» a runtime error message. This has the following syntax:
The expression used can be a value or a string or any other data type, and this will then generate an exception error which is — by default — shown on the screen, and on closing the error message the game will end. For example calling this:
will cause the following unhandled exception error to be shown:
This is the default way the error can be handled, but you can «take over» this error message and use your own handler code by calling the new function . This runtime function permits you to supply a custom method to use that will be called whenever any unhandled exceptions occur in your game.
Apart from the ability to throw your own errors and handle them using functions, we also have the new , , and operators. These can be used in your game for error checking and permit you to test out blocks of code and control what happens if any runtime exceptions occur. Using these will prevent the exception ending the game and will also prevent showing the standard error message to the user, but this means that you will have to handle what happens next in this case, like — for example — saving out log files and ending the game gracefully (note that if you choose to do nothing, your game may become unstable and not perform correctly).
At it’s most basic the syntax is as follows:
However, having a without anything to actually handle any exceptions the code may produce will not be very helpful, so we usually pair it with a , with the following syntax:
What does is permit you to run extra code supplied in the following block when an exception from the previous has been caught. If this is a runtime exception, then the supplied variable can be used to access a struct which will contain the following information:
A simple example of use is shown below:
It may be that you want to run some code regardless of whether an exception was thrown or not, and so for that you can add in a block. The syntax is:
It is worth noting that you can have any combination of these together, ie: / , / or / / , and that within the block you cannot use , , or statements as they have no meaning in this context and the compiler will generate an error if they are used.
Плюсы и минусы
Основные достоинства:
- простой и дружественный интерфейс;
- интеграция с различными платформами;
- поддержка русского языка;
- возможность работать даже без знания языков программирования;
- встроенный редактор объектов;
- привычный синтаксис для тех, кто владеет языками программирования (PHP, JavaScript и Pascal);
- собственный скриптовый язык GML;
- возможность создавать как простые 2D, так и более сложные 3D игры;
- простые системные требования.
Особых недостатков нет. Разработчики перестали развивать 3D режим и Game Maker плохо справляется с «тяжелыми» задачами, но его главное предназначение – создание простых двухмерных игр.
Возможности
Структура игры, созданной в программе Game Maker, состоит из набора разнообразных объектов. Их дизайн редактируется с помощью спрайтов, а поведение описание реакции на те или иные действия игрока. Процесс создания напоминает работу с блок-схемами и использует режим drag-n-drop (перетаскивание специальных иконок с действиями в ячейки событий). Для совсем опытных юзеров создан свой собственный язык GML (напоминающий JavaScript). Он поддерживает синтаксис популярных языков (PHP, JS, Pascal), поэтому для написания кода можно использовать один из них. Это значительно расширяет возможности пользователя.
Программа имеет встроенный редактор позволяющий настроить поведение и внешний вид объектов, создать различные цели, которые надо выполнить игрокам, задать время для этого.
Обновление добавило поддержку HTML5. Это позволило разрабатывать приложения не только для компьютеров и мобильных телефонов, но и интернет браузеров.
Основные возможности:
- создание двухмерных игр без знания основ программирования;
- возможность использования режима drag-n-drop (дословный перевод – перетаскивай и бросай);
- использование собственного скриптового языка GML (Game Maker Language), похожего на JavaScript;
- создание собственных библиотек действий с помощью Library Maker.
Быстро и без особых усилий можно создать простую игру со своими правилами и целями. Благодаря этой программе пользователь может получить новые навыки и проявить творческие способности, даже без глубоких знаний языков программирования. Специалисты используют дополнительные скрипты, чтобы расширить возможности GM. Начинающие программисты используют ее для расширения своих знаний и получения опыта в сфере создания игр.
Встроенная система звуков поддерживает различные форматы аудиофайлов, но дополнительно созданы специальные DLL библиотеки. Можно добавлять фоновую музыку или эффекты.
Системные требования очень простые и позволяют запустить GM на системах с операционной системой Windows XP и выше. Качественный русификатор позволит без проблем использовать все возможности и функции, а простой и дружественный интерфейс – быстрее разобраться даже неопытным пользователям.
Collision Checking
Tile collisions mostly involve checking if
there is a tile at a given position, but it also depends on how your Tile Map
is set up. The easiest way is to assume all tiles in a Tile Set are collidable,
so if there’s a tile, there’s a collision, otherwise there is not. This makes
our check this simple:
However, if there are only some tiles in your
Tile Set that need to have collisions, then you need to read the tile’s index
as well and make sure that it is the tile you want (like we did in the water
tile example above).
Now this only covers checking for one point,
however instances have a bounding box. My usual solution for that is to check
for tiles at all bounding box corners:
Keep in mind that this could cause issues if
there were a tile smaller than the instance’s bounding box, as it could just
pass between the corners. To work around that you can add more checks in the
middle of each bounding box edge.
UPDATED EXTENSIONS
The extension system has also been upgraded in 1.4 — in part for the Marketplace, but also to make the incorporation of external SDKs and Frameworks for iOS and Android easier and more intuitive. This means that writing your own native code extensions and using third party SDKs on those platforms (you will need to know Java for Android and Objective C for iOS) is a lot less complex, and you can also upload them to the Marketplace for sharing now.
Most of these changes are internal or related to the UI, which has new options for adding files to extensions as well as new tabs in the extension properties dialogue. You can find further deatils on these changes from the GMS Manual and from the YoYo Games Helpdesk.
Учебные ресурсы
Уроки инди-разработчиков
Список уроков Chevy Ray — Chevy Ray является разработчиком Flash-игрового движка FlashPunk, частый соперник на Ludum Dare и разработчик нескольких классных игр. Он написал несколько уроков по GameMaker, и это подборка тех его материалов, которые он считает лучшими. Уроки охватывают такие темы, как масштабирование вида, оптимизация скорости, параллакс-скроллинг.
Серия уроков Derek Yu’s — Derek Yu является членом TIGSource и разработчиком Spelunky. Эта серия уроков для более старой версии GameMaker, но вы по-прежнему можете легко пройти ее. Это полное пошаговое руководство по созданию космической сайд-скроллер стрелялки; по мере создания вы узнаете, как работают игровые объекты, как создавать прокручивающиеся фоны, как создавать спрайт шрифты и множество других замечательных тем. Обязательно к прочтению.
Другие уроки и руководства
Официальные уроки — официальные уроки посвящены созданию нескольких игр разных стилей (некоторые из них 3D-игры, поэтому эти уроки могут быть особенно глубокими, если вы будете использовать GM:S). Кроме того, имеется урок по созданию многопользовательских игр, который, по моему мнению, является одним из лучших в Интернете по изучению создания многопользовательской игры в GM:S.
Я рекомендую их для людей, которые хотят разработать определенный тип игры и желают узнать как разрабатывать игры подобного типа, но если вы ищете урок для начинающих, я рекомендую уроки Derek Yu’s.
Также ознакомьтесь с официальными и неофициальными руководствами, поскольку они дают большой справочный материал.
Используемые принципы игростроения
Возможностей редактора хватает для создания игр, подобных тетрису, арконоиду, пэкмену и т.д. Можно создать и красивые аркады, если задействовать творческий потенциал на всю мощь – функции приложения это позволяют. Все элементы, используемые программой для создания игры, называются ресурсами. К ним относятся:
- спрайты;
- объекты;
- комнаты или уровни;
- звуки;
- фоны;
- пути;
- скрипты;
- шрифты;
- тайм-лайны.
Наиболее важными и одновременно простыми в усвоении являются первые пять ресурсов. Остальные четыре требуют дополнительного изучения, они помогают усовершенствовать игру.
Спрайтами называются изображения, которые используются для отображения на экране объектов. Другими словами – это картинки или анимации. Их можно нарисовать в самой программе или загрузить из внешних источников, например, большой встроенной библиотеки. Они могут иметь формат .png или .gif.
Объекты – основная составляющая игр. Это герои, враги, стены, препятствия, окружающие предметы мира и т.д. Объектам могут задаваться действия, например, реакции на нажатие кнопок клавиатуры, мыши или джойстика, реакции на столкновения с другими объектами, действия по умолчанию и т.д. При создании объектов используются принципы объектно-ориентированного программирования, но простота игрового редактора позволяет использовать эти принципы без их глубокого изучения.
Комнаты или уровни – это локации, в которых происходят игровые действия, и в которых находятся объекты. Комнаты плоские, двухмерные, но они могут имитировать и 3D-графику. Уровни можно оформить любым образом, использовать объекты-стены и декорации, загружать фоны и т.д. Можно настроить комнату так, чтобы при выходе все объекты в ней сохранялись или сбрасывались.
Фоны могут создаваться в самом редакторе игр, можно их загружать и с внешних источников. Вместо изображения можно применить только один цвет. Фоны используются и для других целей, не только в качестве задников.
Программа имеет библиотеку встроенных звуков. Совершая действия, объекты могут издавать те или иные звуки. Кроме встроенных эффектов, можно использовать загруженные звуковые файлы. Кроме спецэффектов, можно загружать и фоновую музыку.
Этих ресурсов достаточно для создания несложных, но увлекательных игр, которые запустятся даже на Windows 10. На воплощение задумки может понадобиться около часа. Чтобы игра засияла новыми гранями и стала глубже и интереснее, все ее элементы можно настроить скриптами, а для придания игровым функциям гибкости используются пути и тайм-лайны. Эти элементы требуют некоторых знаний об информационных технологиях, однако они не обязательны.
SUMMARY
As you may imagine, this is a rather important update to GameMaker Studio 2 with a lot of new features and a lot of changes «under the hood» to make life easier and to make the product easier to use and more compatible with things like source control. We’ve said it already during in this blog post, but it’s worth repeating… read the manual! This is especially important when starting to use the new Sequences asset, as the editor has a lot to it and — especially if you are not an artist or have never used any kind of animation or video editing software — it can be a bit overwhelming to start with. However, we think this is an incredibly powerful tool and opens up GameMaker Studio 2 in a big way to people who are less experienced with code and who prefer a more visual approach to making games.
One final thing should be said about importing pre-2.3 projects. On importing a project made with a version of GameMaker Studio 2 prior to this update, you will be prompted to save the project again using a new name before continuing. This is absolutely essential as the changes made to the project file format are not backwards compatible and once you update a project to 2.3 it can’t be loaded into previous versions, so it’s a good idea to keep separate folders for pre and post 2.3 versions of any game you are working on.
Thanks for reading and we can’t wait to see what you all do with the new features!
Happy GameMaking!
NEW PHYSICS FUNCTIONS
There has been a major update to the built-in physics library, which now includes a soft-body particle simulation based off the Liquid Fun library for Box2D. permit the creation of simulated soft-bodies using rigid body physics. Basically, this means that you can create a shape from particles that maintain cohesion and so simulate a full body, which, due to the interaction of the particles, gives the impression of a soft body. You can also use the physics particles to simulate liquids and other particle based physics systems.
You can find out more information about the new physics particles from the YoYo Games Tech Blog and the GameMaker Manual.
CHAINED ACCESSORS
Another change to GML is the ability to chain accessors. Much like you can now chain arrays together, you can chain the different Data Structure accessors together too, making accessing the data from nested structures much easier.
A simple example of this would be a DS grid, where each grid entry is a ds list. Previously you’d have to first retrieve the index of the list from the grid, and then access the data in the list, but now it’s as simple as doing something like this:
This would retrieve the data from the 6th position in the DS list that is being held in the grid (0, 0) position. Other examples of use are:
ARRAYS
The first change to the GameMaker language that we want to discuss is a change to how arrays work. Previously, GML only permitted 1D or 2D arrays, eg:
However, this is no longer the case and now all arrays are 1D. So how do we create a 2D array now? Well this is done by chaining arrays together to essentially create arrays within arrays. Here is a small example:
The above is now a multi-dimension array with 2 dimensions to it, but you are no longer limited to just 2 dimensions and can create arrays of 3 or 4 or more dimensions as required, eg:
This change means that all platforms will now work the same (including HTML5) and enables much larger arrays, both in number of items as well as number of dimensions. The change also means that the following functions have been deprecated:
And the following new functions have been added:
Note that the old functionality (and the deprecated functions mentioned above) will still work but under no circumstances should new projects use the old syntax, as these will eventually be removed from the language.
Заключение
GameMaker: Studio отлично подходит для новичков и профессионалов. Его великолепный код и функции управления ресурсами, в сочетании с относительно низкой ценой, делают его великолепным игровым движком для небольших команд и независимых разработчиков, обладающих приличным опытом программирования, и его доступность, и событийность, и также система drag-and-drop на основе действий, делает его отличным движком для тех, кто практически не имеет опыта программирования.
Если вы хотите попробовать самостоятельно, зайдите на сайт http://www.yoyogames.com/studio/download и приступайте!