Gamemaker studio 2.3: new gml features
Содержание:
- Что в нем хорошего
- Учебные ресурсы
- USER INTERFACE
- Features of Game Maker Studio 2
- Features of GameMaker Studio 2 Ultimate Full
- SUMMARY
- CHAINED ACCESSORS
- Преимущества и недостатки
- Возможности
- Для начинающих
- Описание Game Maker Studio
- Обучение GameMaker: Studio
- FUNCTIONS, SCRIPTS AND METHOD VARIABLES
- GML
- ANIMATION CURVES
Что в нем хорошего
GM:S очень хорош в управлении ресурсами, включением ресурсов в код, обеспечивает легкий способ изменения логики игровых объектов и событийное программирование.
Управление ресурсами
Как только разработчик создал спрайт, добавить его в GM:S можно за несколько кликов. После импорта спрайта, модификации могут быть сделаны уже в GM:S.
Создание спрайта.
Изменение спрайта.
Интеграция ресурсов в код
После импорта ресурса его свойства (размеры изображения, громкость звукового эффекта и т. д.) могут быть доступны из кода и могут быть назначены игровому объекту. Это делает создание игровых объектов очень простым и отлично подходит для быстрой подготовки и быстрого запуска.
Изменение логики игровых объектов и событийное программирование.
Редактор игровых объектов — это отличное средство обучения, для новичков в разработке игр, и предоставляет удобный способ изменения логики игрового объекта. Как вы можете видеть на этом скриншоте, GM:S позволяет вам писать код для конкретных событий:
Модификация событий игрового объекта.
Учебные ресурсы
Уроки инди-разработчиков
Список уроков 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.
Также ознакомьтесь с официальными и неофициальными руководствами, поскольку они дают большой справочный материал.
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.
Features of Game Maker Studio 2
Backward Compatible
Import your GameMaker Studio free projects directly into Studio 2 and have them ready to run in a matter of minutes.
YoYo Account
GameMaker Studio 2 uses your YoYo Account to provide a single login for all your game making needs.
Tutorials
With the integrated tutorials, you can have your learning materials docked directly in your workspace.
Laptop Mode
For all users who develop on laptop pcs would have developed an efficient workflow that does not get in the way of development.
Skinning
Customize your game development environment by choosing from predefined skins or creating your own.
Docking
Organize your workspace by docking your tool windows where you want them.
Object Editor
With the unique structure and workflow, it has never been easier to manage the objects within your game.
Script Editor
With tabs and the ability to split the editor, you can work with multiple files without having a window for each.
Superior Workflow
Drag and Drop like never before, create the game you want without ever writing any code.
Library
Choose what you need from an extensive library of events and actions to sculpt the game you desire.
Code Preview
Learn how to program by viewing the code behind our DnD actions and take your games to the next level.
GameMaker Language
Based on the C programming language, GML gives you all the power of other programming languages while being easy to learn.
Layers
Take control of how objects are ordered within your rooms and draw sprites directly without the need for an object.
Tile Brushes
Make repetition a breeze by creating a group of tiles and drawing them directly to the room.
Inheritance
Add variety quickly to your projects by sharing common code and resources.
Brush Based Editing
Create a brush from any section of your image simply and efficiently with our amazing new editor.
Animation Support
Bring your sprites to life with a touch of motion and take your games to the next level.
Tileset Animations
Liven up your levels with a hint of animation without compromising on performance.
Brushes
Improve your workflow by creating a palette of commonly used tiles.
Auto Tiling
Automatically choose the correct tile for the job and never have to worry what goes where again.
GoTo Finder
The GoTo Finder lets you search for, locate, and open any resource within your project instantly.
Chain View
Easily navigate between resources without losing track of where you are.
Git Integration
Save and back-up your project history from anywhere in the world with our Git integration.
Debugger
Save time and effort with our powerful debugger.
In-App Purchases
Free games can make you money. GameMaker’s support for adverts and in-app purchases allow you to monetize your game without having to charge a premium.
Push Notifications
Deliver updates and notifications directly to your players using GameMaker’s support for push notifications.
Sound Mixer
Give players the best experience by immersing them in high-quality audio.
Networking
This Game development engine allows you to structure your game to work with a client/server model, dealing with all of the network management behind the scenes, while allowing you to focus on the game itself.
Extensions
- Extend the power of GameMaker by incorporating third-party libraries and SDKs.
- Marketplace:
- The one-stop-shop for developers to access all of the amazing game making resources created by members of the GameMaker community.
Features of GameMaker Studio 2 Ultimate Full
Easy to get started Making games development accessible to everyone means taking away the barriers to getting started. Using our intuitive ‘Drag and Drop’ development environment you can have your game up and running in a matter of minutes without ever having to write any code! GameMaker’s built-in language (GML) helps you learn to program as you go and not jump in at the deep end of coding.
Multiplatform Workflow Using a single development workflow GameMaker Studio 2 allows you export your game directly to Windows desktop, Mac OS X, Ubuntu, Android, iOS, fireTV, Android TV, Microsoft UWP, HTML5, PlayStation 4, and Xbox One.
Backwards Compatible Import your GameMaker: Studio projects directly into Studio 2 and have them ready to run in a matter of minutes.
YoYo Account GameMaker Studio 2 uses your YoYo Account to provide a single login for all your game making needs.
Tutorials With our integrated tutorials you can have your learning materials docked directly in your workspace.
Laptop Mode For all of our users who develop on laptop pcs we have developed an efficient workflow that does not get in the way of development.
Skinning Customise your development environment by choosing from our predefined skins or creating your own.
Docking Organise your workspace by docking your tool windows where you want them.
Object Editor With our unique stucture and workflow it has never been easier to manage the objects within your game.
Script Editor With tabs and the ability to split the editor you can work with multiple files without having a window for each.
Superior Workflow Drag and Drop like never before, create the game you want without ever writing any code.
Library Choose what you need from our extensive library of events and actions to sculpt the game you desire.
Code Preview Learn how to program by viewing the code behind our DnD actions and take your games to the next level.
GameMaker Language Based on C programming language, GML gives you all the power of other programming languages while being easy to learn.
Layers Take control of how objects are ordered within your rooms and draw sprites directly without the need for an object.
Tile Brushes Make repetition a breeze by creating a group of tiles and drawing them directly to the room.
Inheritance Add variety quickly to your projects by sharing common code and resources.
Brush Based Editing Create a brush from any section of your image simply and efficiently with our amazing new editor.
Animation Support Bring your sprites to life with a touch of motion and take your games to the next level.
Tileset Animations Liven up your levels with a hint of animation without compromising on performance.
Brushes Improve your workflow by creating a palette of commonly used tiles.
Auto Tiling Automatically choose the correct tile for the job and never have to worry what goes where again.
GoTo Finder The GoTo Finder lets you search for, locate, and open any resource within your project instantly.
Chain View Easily navigate between resources without losing track of where you are.
Git Integration Save and back-up your project history from anywhere in the world with our Git integration.
Debugger Save time and effort with our powerful debugger.
Title: GameMaker Studio 2 Ultimate v2.3.2.560 Developer: Home Page License: Shareware Language: Multilingual OS: Windows
– GameMaker: Studio requires a reasonably modern PC running Windows XP, Vista, 7, or later. A DirectX 9 (or later) compatible graphics card with at least 32MB of memory is required for most created games. It requires a screen resolution of at least 1024×768 and 65536 (16-bit) colours (but preferably 32-bit true colour). Also a DirectX 9 compatible sound card, or integrated sound chip, is required. It is always recommended that you make sure you have the most recent drivers installed for your system.
– GameMaker: Studio requires DirectX version 9.0 or later to be installed on your computer. (You can download this version of DirectX from the Microsoft website) When designing and testing games, the memory requirements can be pretty high (at least 128 MB and preferably more, but this depends on the operating system). When just running games, the memory requirements are less severe and depend a lot on the type of game as well as the resources being used.
* View Change Log
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!
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:
Преимущества и недостатки
Стоит учесть, что эта программа – уникальный продукт. Обычно для создания качественной игры требуется целый набор дорогих и профессиональных программ. А здесь все инструменты объединены в одном приложении. И это первое преимущество, но есть и другие:
- Простой и понятный процесс установки.
- Для создания полноценных игр не обязательно изучать язык программирования.
- Интуитивно понятный и полностью настраиваемый интерфейс.
- Беспроблемная работа на ноутбуках.
- Оптимизированная работа с Windows 10.
- Есть обучающий материал.
- Отличная поддержка от разработчиков.
- Универсальность продукта (нет нужды использовать дополнительные программы).
- Кроссплатформенность (имеются версии приложения для Windows и MacOS).
Русификатора для этой программы нету, и вряд ли предвидится. Это единственный недостаток Game Maker Studio 2
Если не брать во внимание высокую стоимость лицензии. Однако в руках пользователя оказывается уникальный инструмент для создания игр
За это многое можно простить.
GMS 2 требует некоторых навыков в создании компьютерной графики. Но встроенный графический редактор программного продукта настолько прост, что с ним в считанные часы разберется даже новичок. Простота в создании игр – еще одно преимущество продукта перед профессиональными (и очень сложными) программами.
Возможности
Изначально автор приложения – Марк Овермарс – хотел создать обучающую программу, которая объясняла бы студентам принципы программирования. Однако постепенно разработка превратилась в игровой редактор. Он развивается уже более 15 лет, обрастая функционалом, что позволяет:
- придумывать 2D-игры;
- создавать презентации;
- рисовать анимацию;
- использовать программу в учебных целях.
Интерфейс приложения интуитивно понятен, окно содержит привычные для обычных пользователей строки меню и панели кнопок. В меню находится раздел справки, где можно увидеть обучающий ролик, объясняющий всю суть программы.
Для начинающих
Game maker studio подойдет для амбициозных людей с интересными идеями по созданию прототипа игры. Сейчас большая проблема хорошей идеи для создания игры является в её реализации, так как для этого необходимо знания языков программирования. Этот движок даёт возможность создания игры без прибегания к программированию, написанию скриптов.
Очень хорошо подойдет для первого тестового создания механики задуманной игры, так как главное для начала понять интересен ли будет сам gameplay, и только после тестирования можно будет приступать к подробному созданию и улучшению графической части игры. Вот для таких целей и подойдет Game maker studio, она даёт возможность быстро и легко реализовать такого рода задачу.
Drag and Drop (DnD ) это графическая среда разработки, которая идеально подходит для начинающих или тех, кто более визуально или художественно ориентированы. С помощью DnD возможно создать игры без написания скриптов, используя только интерфейс программы.
Так же для начинающих в работе Game maker studio поможет русифицированный интерфейс, который можно найти на форумах этого движка. На официальном так же присутствует большое количество документации и инструкций по работе с движком.
Описание Game Maker Studio
Программа Game Maker Studio 2.1.4.285 – это новая версия всем известного инструмента, в котором разрабатываются несложные игры на различный мотив. Отличительной особенностью данного приложения является то, что абсолютно все средства данной студии визуализированы, то есть пользователь не должен знать языки программирования для работы с конструктором. Это делает утилиту одинаково доступной как для опытных юзеров, так и для начинающих. Большое количество обучающих материалов в виде пошаговых инструкций, статей и даже видеоуроков, позволяет за короткий срок ознакомиться со всеми возможностями данной программы. С выходом новой версии приложение претерпело множество полезных изменений и стало еще более функциональным, нежели прежде. Во второй версии Game Maker Studio вы с лёгкостью освоите все механизмы современных компьютерных игр. В визуальном конструкторе вам не потребуется прописывать программный код, приложение всё произведет за пользователя. Разработчики позаботились, чтобы работать в редакторе виртуальных игр было максимально просто. Именно поэтому пользователь только задает события и соответствующие реакции героя или окружающего мира на них, остальную работу делает Game Maker. В конструкторе пользователей ждут максимально гибкие настройки, позволяющие воплотить практически любую затею в виртуальном мире. Тонкая подстройка может быть осуществлена с помощью соответствующих фильтров и параметров, без необходимости прописывания дополнительных скриптов. Если же уровень пользователя позволяет внедрить определенные особенности в создаваемую игру, тогда можно воспользоваться инструментом под названием Game Maker Language, позволяющем добавить часть собственного кода. Несмотря на все старания разработчиков избежать необходимости использования языка программирования, в реальных ситуациях всё же встречаются неординарные случаи, когда это требуется сделать.
Инструментарий новой версии программы Game Maker Studio 2.1.4.285 поражает своим разнообразием и ассортиментом. Разработчики хорошо потрудились, создавая конструктор. Огромное число вкладок, всплывающие панели, большая рабочая зона, удобно расположенное меню, вынесенные ярлыки для наиболее часто используемых функций на главную панель, полностью настраиваемая область с инструментами – всё это позволяет продуктивно трудиться во время создания двухмерной компьютерной игры. Разработчики решили глобально переработать весь интерфейс редактора, при этом, по умолчанию в программе нет поддержки русского языка. Внедрить перевод можно с помощью специального файла-русификатора, который также присутствует в архиве с программой. В новой версии также появился собственный движок под названием BOX2D и новая физика. Еще одним новшеством является возможность выбора операционной системы, под управлением которой будет работать создаваемая игра.
Обучение GameMaker: Studio
GM:S предлагает два различных способа создавать игры. Первый это так называемый интерфейс Drag and Drop (сокращённо DnD). Он довольно мощный и позволяет создавать сложную логику. Однако, он не такой мощный, как второй вариант: использование языка программирования GameMaker Language (сокращённо GML). GML — это прекрасный язык сценариев, который может делать все, что может делать DND, и многое другое.
Начало работы
После того, как
вы загрузили версию движка GM:S которая соответствует вашим потребностям, вам следует ознакомиться с учебными материалами,
которые поставляются вместе с GM:S. Их можно найти во вкладке Tutorials после того, как вы откроете GM:S.
В начале уроков будет показано, как использовать drag and drop интерфейс, а более поздние руководства начинают охватывать язык программирования GML. Самое приятное в предложенных уроках — это то, что они фактически добавляют окно к
интерфейсу, в котором вы узнаете, как создавать каждую игру, поэтому вам
не нужно обращаться к веб-странице — все доступно изложено для вас в GM:S!
Я рекомендую
проработать столько, сколько вам нужно, до тех пор, пока вы не
почувствуете, что у вас есть четкое представление об общем процессе
работы и инструментах, которые предлагает движок GM:S. Дополнительные уроки вы можете найти на вики сайте YoYo games по адресу http://wiki.yoyogames.com/index.php/GameMaker:Studio_Tutorials включая некоторые более продвинутые руководства.
Для самого продвинутого обучения можно посмотреть демки на вкладке Demos после запуска GM:S. Они не откроют окно обучения, но они предоставляют доступ ко всему используемому исходному коду, чтобы можно было просматривать его, запускать отладчик и наблюдать за тем, что происходит, так что вы получите хорошее представление как использовать их методы в своих играх.
Руководство
Руководство по GM:S можно найти в меню Help в разделе Contents…. Это должно быть первым местом, где вы будете искать ответы на свои вопросы, если сразу перейти на форумы, люди по всей вероятности огорчат вас за то, что вы просто не проверили справку. Существует также онлайн-руководство, которое можно найти по адресу docs.yoyogames.com
Руководство в программе GM:S
Если вы выполняете поиск как в прилагаемом руководстве, так и в онлайн-руководстве и не можете найти ответы, не бойтесь! На reddit существует большое сообщество /r/gamemaker и есть официальные форумы. Кроме того, имеется отличный сайт полон инди-разработчиков, некоторые из них часто используют GM:S на форумах TIG. Эти сообщества полны полезных людей, поэтому не бойтесь задавать свои вопросы!
FUNCTIONS, SCRIPTS AND METHOD VARIABLES
Above we outline some changes to the GameMaker Language, but now it’s time to talk about the good stuff… what’s been added! To start with we want to talk about in-line functions and scripts. Previously, a script was a single resource that was created on a global scope and used to create a single custom function which would then be called using the script name as the function name. This is no longer the case and scripts, while still global in scope, are now a type of «container» for one or more functions.
What this means is that when you compile your project, scripts are no longer called individually, but are actually all run at the start of the game in the global scope, so all variables that are defined in the script (outside of function definitions) will be considered global. That said, you should still use the identifier to explicitly define and identify global variables in your code.
The reason for this change is that scripts can now contain multiple functions. If you’ve only used GML to code projects then the idea of functions may be something new to you, but think of them as being the same as scripts, only explicitly assigned to a variable. This variable is called a method and is used to call the code that is in the function, the same as you would have previously called the script name. This is easier to visualise with an example, so let’s look at one. Consider this simple script :
Now, however, this would be defined as a function like this:
or like this:
You would call this function just as you would have called the script:
So, as we mentioned above, scripts can now contain multiple functions and these should be defined with the format shown above where you have the JS doc comment to identify the function, then the function definition below, and then the next JS Doc comment, and then the function, etc…
Above, we briefly mentioned that functions as variables were called method variables, but it should be explained in a bit more detail. Basically, when you create a function with a variable like this, you are creating a method variable, and they can have different scopes. Consider this function:
-
In the case of a script a variable called «foo» is declared at global scope
-
If the function is declared in an event then the variable «foo» is on the instance that ran that event
-
If the function is declared in an event using the keyword then the variable «foo» is local to the event only
-
If «foo» is declared inside a then it is declared on the that is active at that time
This means that if you have some code that you need to use only within a loop in an alarm event (for example), then you can define it as a local scope method variable at the start of the event and then use it within the loop without the need to clutter up the script assets with it.
It is worth noting that while the variable will be in the chosen scope, the actual function will be bound to the scope that it was initially defined in. Going back to script functions, these are all global scope and are considered «unbound» (ie: they are not associated with any instances), but if you have a script function that creates another function within it and then you call this script from an instance, the function used within the script will be bound to the instance. In general this is not something you ever need to think about but for more complex operations with method variables it’s worth taking into consideration. This also applies when using other constructs like — when you create a method variable inside a , the function will be bound to the instance that is currently in scope.
The following new functions have also been added to deal with methods:
Check the manual for details fo how these functions should be used.
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.
ANIMATION CURVES
The next new feature we want to discuss here is a new top-level resource called Animation Curves. An animation curve is an asset that contains one or more curves that represent how a value changes over time, and can use linear interpolation or smooth interpolation to go between different points in the curve. The values you set can be between -1 and 1 (by default) on the vertical axis and the duration along the horizontal axis is always normalised form 0 to 1, making it easy to target different time ranges using multipliers in your game code.
Animation curves are comprised of «channels» and each channel can have its own curve settings, which permits you to — for example — describe a spacial position with two channels for the x/y position, or a colour gradient with 4 channels to represent a colour format. Animation curve assets can be used when working with sequences and can also be accessed using code, making them a powerful tool when creating your games.