Game maker studio
Содержание:
Особенности
Интерфейс Game Maker 8.0
Создание игры в Game Maker не требует предварительного знакомства с каким-либо из языков программирования.
Интерфейс Game Maker объединяет в себе редакторы спрайтов, объектов, комнат, скриптов, а также тайм-лайнов (последовательностей действий с привязкой по времени), путей (маршрутов) движения и констант.
Понятие объекта в Game Maker в основном соответствует понятию класса в объектно-ориентированном программировании, объекты могут наследоваться друг от друга. Экземпляры объектов могут быть размещены в игровом пространстве с помощью редактора комнат, или же созданы динамически. Если в текущей комнате существует только один экземпляр объекта, к нему можно обращаться, используя родовое имя объекта, класса, если же таких экземпляров несколько, для обращения к конкретному экземпляру мы должны знать его числовой идентификатор, используя его в качестве ссылки на объект.
Начиная с восьмой версии присутствует поддержка альфа-канала (до этого цвет верхнего левого пикселя принимался за прозрачный). Сам встроенный редактор спрайтов является полноценным растровым графическим редактором.
В игре присутствуют одна или более комнат, одна из которых является текущей. Комнаты имеют свою систему координат, отсчёт ведётся от левого верхнего угла. В этом пространстве и существуют объекты. Объекты также могут быть постоянными, то есть, не исчезать с переходами между комнатами.
Game Maker имеет свою звуковую систему, поддерживающую различные форматы файлов. Однако, она не эффективна, из-за чего создано много библиотек, а в Game Maker: Studio была введена новая звуковая система.
Помимо перечисленных, имеются другие типы игровых элементов, доступные при включении продвинутого режима: системы частиц, временные линии, пути, скрипты и шрифты. В GameMaker весь код выполняется «на лету», благодаря чему можно выполнять GML-скрипты из внешних файлов, создавать новые внутриигровые объекты и задавать им поведение. Присутствует тип поверхностей, содержащий графическую информацию, с которой можно проводить множество манипуляций.
Язык GML включает в себя средства загрузки и использования внешних динамических библиотек, что позволяет расширять Game Maker процедурами и функциями, написанными на других языках. Внешние DLL, вместе с GML обвязкой могут быть собраны в пакет расширения GameMaker.
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
Возможности
Структура игры, созданной в программе 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 и выше. Качественный русификатор позволит без проблем использовать все возможности и функции, а простой и дружественный интерфейс – быстрее разобраться даже неопытным пользователям.
GML
The GameMaker Language has also seen a few changes to it, with the addition of new data types, namely pointers and enmums. The texture functions and a few of the other functions that create dynamic resources will now return a pointer for the resource, while enums can now be created for use in your games. For more details of these features, please see the GameMaker: Studio Manual.
There have also been some new functions added to get information from Spine sprites, extra functions for local push notifications, some new buffer functions that permit the saving of groups of files (mainly for Console support), and SWF format sprites now have some dedicated functions that can get and set their AA level.
Страницы
четверг, 23 марта 2017 г.
Решил я сделать небольшой обзор Game Maker Studio 2, так-как в гейм мейкере я делаю игры уже давно (5-7 лет, уже и со счёта сбился), да и люди просили сделать на это обзор.
Game Maker Studio 2 — это программа для создания игр, новая часть гейм мейкер студио. Разработчик — YoYo Games из Шотландии.
Game Maker изначально придумывался как программа для освоения азов программирования и создания игр новичками, и GMS 2 сохраняет данные черты, но не просто сохраняет, а так-же существенно развивается в данном направлении.
Тем не менее тут будет и некоторая критика программы, так-как первое впечатление у меня было не идеальное, но в целом — GMS 2 понравился и скорее всего на него я со временем переду.
Изменений довольно много, вот так выглядит новый интерфейс:
Очень многие вещи будут вам знакомы, просто они теперь немного в других местах, а так-же имеют другие иконки, но в целом новый интерфейс более современный.
Хотя у всех этих наворотов есть и минусы, о них — ниже.
Видео обзор Game Maker Studio 2
Традиционно, я так-же сделал видео обзор GMS 2 на моём ютуб канале — econ dude (Подписывайтесь, кстати), где разобрал и показал большую часть новых фич.
Видео довольно длинное, порядка 20 минут. Но там больше подробностей и всё наглядно.
Изначально склонялся к Unity 3D, но заинтересовался gamemaker studio 2. Почему:
Во первых говорят, что gamemaker studio 2 легче для начинающих. Говорят — сам не проверял. Во вторых лицензия студии с разработкой под винду стоит около тысячи рублей. Плати тысячу и получай 0 ограничений. Когда в юнити есть ограничения стартовой версии — экран загрузки и т.д. Да Unity 3D, бесплатен в стартовой версии вплоть до дохода 100 тыс баксов в месяц, но ограничения есть. В третьих — в gamemaker studio 2 меньше возможностей, чем в Unity 3D. Но это, в моем случае, к лучшему т.к. мне не нужны все возможности — куча ОС и платформ и т.д. Да и gamemaker studio 2 выглядит более простым и производительным инструментом, для разработки небольших игр. Тот же Unity 3D, как редактор кода предлагает VS или монодевелоп. И два языка программирования — JS и CSharp. А хочется один язык и один редактор. Причина — уроки, информация. Тут на CSharp, там на JS.
Ну а минусом вижу , что gamemaker studio 2 использует свой язык программирования gml. Свой язык программирования, который сделала студия — плохо. Видели, проходили, знаем. Видели «прекрасный» язык 1С. А вот CSharp уже другое дело. Также интересует возможность сетевой игры. Как у этих движков обстоят дела с сетью? Как это вообще реализовано?
Какой движок лучше для начинающих Unity 3D или gamemaker studio 2?
Ну и кратко о себе. Считаю себя начинающим разработчиком игр. Даже так — решил попробовать создать игру. Простую для начала. Пока не собираюсь разрабатывать трехмерные шутеры. Максимум 2D или простейшие псевдо 3D.
Знаю-разбираюсь в html,css,php,немного JS-ajax-jquery,linux. Из языков, сред, фреймворков. /до кучи/ — Delphi,Qt,CSharp,VS,чуточку кросплатформенной разработки. Также имею представление и начальные навыки в фотошопе и 3д максе. Так что в принципе «в теме». Объяснять азы — что есть сокет, переменная, массив. или уровни модели оси не нужно. Да и большинство графики стимовской индюшатины вполне могу нарисовать.
Собственно, такие вопросы. Жду ваших ответов, мнений, советов. Т.к. отзывы о игровых движках разные и чему верить — неизвестно. Каждый хвалит свой движок.
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.
Light functions
- draw_light_define_ambient(col) — set the ambient light colour for lighting, replacement for d3d_light_define_ambient
- draw_light_define_direction(ind,dx,dy,dz,col) — set the light ind as a directional light for a given directional vector with colour, replacement for d3d_light_define_direction
- draw_light_define_point(ind,x,y,z,range,col) — set the light ind as a point light for a given position and range with colour, replacement for d3d_light_define_point
- draw_light_enable(ind,enable) — enable or disable a specific light
- draw_set_lighting(enable) — enable or disable lighting
- draw_light_get_ambient() — get the ambient light colour
- draw_light_get(ind) — get the settings for a given light (returns array with — enabled/disabled, — light type (point or direction), — x, — y, — z, — w, — colour)
- draw_get_lighting() — current status of lighting (enabled or disabled)
Make Asteroids!
Check Out This Tutorial
This tutorial is an excellent starting point for those looking to learn GameMaker Studio and create their own arcade games.
This time you’ll be reconstructing the Atari classic Asteroids.
Follow along with the instructor from Ask Gamedev to learn the ins and outs of GameMaker including how to use sprites, objects, events, and action blocks.
By the end you’ll have a fully playable Asteroids game that you can share with friends or goof around with by yourself.
You’ll also have a solid foundation to start building your future with GameMaker.
Author: Josh Petty
Josh is an artist and game developer who specializes in sci-fi, fantasy, and abstract art. His work employs vibrant colors and combines elements of glitch art, outrun, retro-gamming, neo-geo, and conceptual art. He trained as an oil painter before picking up 3D modeling, animation, and programming. He now runs Brain Jar, a small game development studio that focuses on experimental, narrative-driven content. You can learn more on the website or on Twitter @brainjargames.
TURNING
With the movement done, we now need to make the player instances turn to face the direction that the right stick is pointing in. This will be done in a similar way to the movement, only the returned axis values will be used to set a direction which will in turn be used to change the image_angle of the instance.
To turn the player, add the following code to the Step Event after the code for movement:
Again, we poll the axis values for the right stick, then if they are not equal to 0, we use them to get a direction vector using the function. We could simply set the to this value, but to make things nicer and «feel» better to the player, we use the function to rotate the player instance towards the given point rather than turn directly.
Используемые принципы игростроения
Возможностей редактора хватает для создания игр, подобных тетрису, арконоиду, пэкмену и т.д. Можно создать и красивые аркады, если задействовать творческий потенциал на всю мощь – функции приложения это позволяют. Все элементы, используемые программой для создания игры, называются ресурсами. К ним относятся:
- спрайты;
- объекты;
- комнаты или уровни;
- звуки;
- фоны;
- пути;
- скрипты;
- шрифты;
- тайм-лайны.
Наиболее важными и одновременно простыми в усвоении являются первые пять ресурсов. Остальные четыре требуют дополнительного изучения, они помогают усовершенствовать игру.
Спрайтами называются изображения, которые используются для отображения на экране объектов. Другими словами – это картинки или анимации. Их можно нарисовать в самой программе или загрузить из внешних источников, например, большой встроенной библиотеки. Они могут иметь формат .png или .gif.
Объекты – основная составляющая игр. Это герои, враги, стены, препятствия, окружающие предметы мира и т.д. Объектам могут задаваться действия, например, реакции на нажатие кнопок клавиатуры, мыши или джойстика, реакции на столкновения с другими объектами, действия по умолчанию и т.д. При создании объектов используются принципы объектно-ориентированного программирования, но простота игрового редактора позволяет использовать эти принципы без их глубокого изучения.
Комнаты или уровни – это локации, в которых происходят игровые действия, и в которых находятся объекты. Комнаты плоские, двухмерные, но они могут имитировать и 3D-графику. Уровни можно оформить любым образом, использовать объекты-стены и декорации, загружать фоны и т.д. Можно настроить комнату так, чтобы при выходе все объекты в ней сохранялись или сбрасывались.
Фоны могут создаваться в самом редакторе игр, можно их загружать и с внешних источников. Вместо изображения можно применить только один цвет. Фоны используются и для других целей, не только в качестве задников.
Программа имеет библиотеку встроенных звуков. Совершая действия, объекты могут издавать те или иные звуки. Кроме встроенных эффектов, можно использовать загруженные звуковые файлы. Кроме спецэффектов, можно загружать и фоновую музыку.
Этих ресурсов достаточно для создания несложных, но увлекательных игр, которые запустятся даже на Windows 10. На воплощение задумки может понадобиться около часа. Чтобы игра засияла новыми гранями и стала глубже и интереснее, все ее элементы можно настроить скриптами, а для придания игровым функциям гибкости используются пути и тайм-лайны. Эти элементы требуют некоторых знаний об информационных технологиях, однако они не обязательны.
Workspaces
The first major change you’ll see on starting a new project with GameMaker Studio 2 is that you are now presented with a workspace. This is an area that will hold the windows associated with the resources that you are working on and it can be zoomed and panned as if it was an actual desktop area. To move around the workspace you can click the middle mouse button and move — or hold down Space and left click — to pan around, with holding down Control and the mouse wheel being used to zoom in and out.
One of the main features of the workspace is that you aren’t limited to just one of them, nor are you limited to having everything in the same window. If you click on the workspace tab at the top, you can drag it off of the main GameMaker Studio 2 window and it will create another sub-window for the project that can then be positioned elsewhere (like in another monitor, for example). You can also merge any secondary workspaces with the main window by clicking the tab and dragging it back onto the main IDE. Each workspace can also be named to easily identify it by double clicking on the tab name and typing the name you prefer to have.
Apart from having multiple workspaces, you can also dock windows to the sides and the bottom of any active workspace.
A docked window will remain fixed to the chosen workspace, and you can open and close the dock by clicking the small arrowed button on the side. In this way you can quickly get more space to see what’s happening by closing a dock and then expand it again as required. Note that there is a button at the top of the IDE to quickly expand/collapse all docks at once.
THE SYSTEM EVENT
The first thing we are going to do is add an Asynchronous System Event to the controller object. We want our controller to handle who is playing and what gamepads are connected, and this can all be done quite simply from this event.
So, open the object and add the event by selecting Add Event >> Asynchronous >> Async — System:
This event will always generate a DS map in the built-in variable . This DS map will have an «event_type» key which tells us which type of system event has been triggered, and in this case we want to check for the following:
- «» — A gamepad has been plugged in
- «» — A gamepad has been removed
If the event has been either of those types, then an additional key will also be present in the map:
«pad_index» — The index of the gamepad slot which has had the event
When a gamepad is plugged in to the device running the game, it is assigned a «slot» value which is its pad index. This index value is then used in all further gamepad functions to identify it, and on most platforms pads are indexed from 0, so the first pad connected will be in slot 0, and the second in slot 1 etc… However, this is not always the case, for example: on Android and iOS you may find that the first gamepad connected is actually placed in slot 1, as the OS reserves slot 0 for general bluetooth connections or other things, or on Windows it may be slot 4 because you are using a generic gamepad and not an Xbox gamepad. The important thing to take away from this is that regardless of the slot ID for the gamepad, it will be detected in the Async System Event and can be stored and used from that.
How does all this come together in our game? Well, thanks to this event, we have no need to code specific Step Event code to «listen» for gamepads, and can simply add some code to this System Event to catch any changes and assign variables etc… In this case, we are going to have it create a player if a gamepad is detected, and destroy it if there is not, so, in the Async System Event that we’ve just added, put the following code:
If you’ve looked at the Create Event for the controller object, you’ll have seen that we initialise the array to . This array holds the ID of a player instance, which is in turn mapped to a controller slot. In this way we can use the System Event to catch a controller being added or removed and assign the correct instance to the given controller. Also note that even though we are only going to have 4 players in the game, we have initialised the array to 12 places, since on Windows gamepads can be assigned to slots 0 to 11 depending on the type of gamepad that is being connected. On other platforms — as mentioned above — this is not quite the case and gamepads can be assigned just about any slot, so the array would be created with more values, or you could use something like a DS list instead.
GPU functions
- gpu_set_blendenable(enable) — enable or disable the gpu blending
- gpu_set_ztestenable(enable) — enable or disable the gpu ztest
- gpu_set_zfunc(cmp_func) — set the gpu z compare function (one of cmpfunc_never, cmpfunc_less, cmpfunc_equal, cmpfunc_lessequal, cmpfunc_greater, cmpfunc_notequal, cmpfunc_greaterequal, cmpfunc_always, default is cmpfunc_lessequal)
- gpu_set_zwriteenable(enable) — enable or disable the gpu z write enable
- gpu_set_fog(enable,col,start,end) — enable or disable the fog used in the default shader setting the colour and the start and end depths
- gpu_set_cullmode(cullmode) — set the gpu cull mode (one of cull_noculling, cull_clockwise, cull_counterclockwise)
- gpu_set_blendmode(mode) — set the gpu blend mode (one of bm_normal, bm_add, bm_max, bm_subtract)
- gpu_set_blendmode_ext(src,dest) — set the gpu blend mode where source or dest could be (one of bm_zero, bm_one, bm_src_colour, bm_inv_src_colour, bm_src_alpha, bm_inv_src_alpha, bm_dest_alpha, bm_inv_dest_alpha, bm_dest_colour, bm_inv_dest_colour, bm_src_alpha_sat)
- gpu_set_blendmode_ext_sepalpha(src,dest,srcalpha,destalpha) — set the gpu blend mode where the source and destination blendmodes are set separately and the src alpha and dest alpha blend modes can be different (each param is one of bm_zero, bm_one, bm_src_colour, bm_inv_src_colour, bm_src_alpha, bm_inv_src_alpha, bm_dest_alpha, bm_inv_dest_alpha, bm_dest_colour, bm_inv_dest_colour, bm_src_alpha_sat)
- gpu_set_alphatestenable(enable) — enable or disable the gpu alpha test
- gpu_set_alphatestref(value) — set the gpu alpha test reference value (default value is 0)
- gpu_set_texfilter(linear) — set the gpu filter type for default sampler (0)
- gpu_set_texfilter_ext(sampler_id,linear) — set the gpu filter type for specified sampler
- gpu_set_texrepeat(repeat) — enable or disable the gpu texture repeat for the default sampler (NOTE: sets both u and v repeats)
- gpu_set_texrepeat_ext(sampler_id,repeat)- enable or disable the gpu texture repeat for the specified sampler (NOTE: sets both u and v repeats)
- gpu_set_colourwriteenable(red,green,blue,alpha) — enable or disable the gpu writing to destination channels individually
- gpu_set_colorwriteenable(red,green,blue,alpha) — enable or disable the gpu writing to destination channels individually
- gpu_get_blendenable() — get the current state of gpu blending
- gpu_get_ztestenable() — get the current state of gpu z test
- gpu_get_zfunc() — get the current value for gpu z function
- gpu_get_zwriteenable() — get the current state of gpu z writing
- gpu_get_fog() — get the current state of gpu fog (returns an array with entries — enable/disable, -colour, — start value, — end value)
- gpu_get_cullmode() — get the current value for the gpu cullmode
- gpu_get_blendmode() — get the current gpu blendmode value
- gpu_get_blendmode_ext() — get the current gpu blendmode (array with — src blend, — dest blend)
- gpu_get_blendmode_ext_sepalpha() — get the current gpu blendmode (array with — src blend, — dest blend, — src alpha blend, — dest alpha blend)
- gpu_get_blendmode_src() — get the current gpu source blend value
- gpu_get_blendmode_dest() — get the current gpu destination blend value
- gpu_get_blendmode_srcalpha() — get the current gpu source alpha blend value
- gpu_get_blendmode_destalpha() — get the current gpu destination alpha blend value
- gpu_get_alphatestenable() — get the current status of gpu alpha enable/disable
- gpu_get_alphatestref() — get the current gpu alpha test reference value
- gpu_get_texfilter() — get the current gpu texture filter status for default sampler (0)
- gpu_get_texfilter_ext(sampler_id) — get the current gpu texture filter status for specified sampler
- gpu_get_texrepeat() — get the current status gpu texture repeat for default sampler
- gpu_get_texrepeat_ext(sampler_id) — get the current status gpu texture repeat for specified sampler
- gpu_get_colorwriteenable() — get the current state of the gpu color write enable (array with — red, — green, — blue, — alpha)
- gpu_get_colourwriteenable() — get the current state of the gpu colour write enable (array with — red, — green, — blue, — alpha)
- gpu_push_state() — push the current gpu state onto an internal gpu state stack
- gpu_pop_state() — pop the entry from the top of the gpu state stace and make it current
- gpu_get_state() — get the current gpu state as a map (returns a map id)
- gpu_set_state(map) — set the current gpu state to the state stored in given map
Box Puzzle Game
Check Out This Tutorial
In this 3-part series by createindiegames you’ll learn how to design a simple puzzle game using GameMaker Studio 2.
This video covers fundamental topics like movement, collision, and animation.
You’ll learn how to use a TileMap and create box objects that the player can push around.
After setting up the player, the instructor will show you how to handle moving the boxes and creating the win scenario.
By the end of the tutorial you’ll have a playable puzzle game ready to go. What’s more, you’ll have all the pieces you need to create additional puzzles and expand your game.
Библиотеки [ править | править код ]
В Game Maker совокупность кнопочных событий образует библиотеку. В интерфейсе программы библиотеки отображаются как закладки, в которых находятся различные иконки событий. Каждое такое событие — это GML-скрипт или функция, которую пользователь может использовать в игре. В поставку Game Maker входят несколько стандартных библиотек, которые содержат основные события, используемые в большинстве игр. Также существует возможность создавать свои собственные библиотеки, используя Library Maker. В GMS2 встроен механизм конвертации действий, заданных «кнопками», в код GML и обратно, что позволяет новичкам быстрее перейти на GML и улучшает понимание того, как работают стандартные действия.