OFFICIAL GameMaker Winter Check-In & Updates

rmanthorp

YoYo Games Staff
Admin
YYG Staff
Hi GameMakers,

With the launch of the GXC we are looking forward to seeing the creative output from our community and enjoying playing the games (and other interactive experiences) that are produced. We are looking to a future where creators can easily share work and inspire each other to even greater heights. We remember our old sandbox and the enjoyment many of us got as we could play and share experiences with the larger community and are eager to see this in a modern cross platform setting. Already we can see some of the old classics coming to the GXC: https://pinboard.opera.com/view/28f1bda3-8120-422a-bafb-3aec642f707b

Along with being able to learn how to make a game, GameMaker’s main focus is helping our developers to publish their games to as many platforms as possible. That means that we are committed to supporting all of our export targets and ensuring that you can release your game without any engine level issues. To those ends this month we will be: Updating all of our Console target SDKs; Adding support for more GDK targets; Adding the ability for GMS games to support Microsoft GamePass; Adding more IAP support across several platforms. We have also added support for the IDE to run on Ubuntu and Chromebook systems, opening up GameMaker to as many people as possible. This IDE version is currently in Beta and you can access it by visiting the Release Notes page on any Linux system.

Stability is a key element in our software releases and we have been investing in our team doubling the size of our Quality Assurance (QA) team. This allows us to increase our release cadence and with further investment in improved DevOps and QA automation we aim to improve the stability of releases going forward.

We would like to discuss some of the upcoming changes that are planned for GameMaker over the next few releases.
GXC YYC
  • We are looking to add a YYC option for GXC games. Using the Emscripten SDK to provide the C++ compiler this will allow games to run even faster within the Opera GX environment and enable larger games to be hosted on GXC.
Filters and Effects improvements
  • Our new Filters and Effects feature brings users an easy way to add basic preset shaders to their games, without having to learn how actual shaders work, opening up the possibilities of their games and upping the quality bar. We still have lots to add to this feature and what is there now is only a small portion of what we eventually want it to become.
  • Over the next few releases we will be adding a whole host of new Filters from Motion Blur to Film Grain, and lots of useful Effects which may include things like water/glass effects, fades, weather effects, and day/night cycles. Our Filters and Effects will all be visible within the IDE’s Room Editor which will make editing them as easy as possible.
  • We also intend to add the ability to apply Filters and Effects to a single layer within your Rooms (rather than all behind it) and also to a Sequence, allowing you greater control of them over time and making endless possibilities for what you can create.
  • Along with all of this we will be adding the ability to create and share your own Filters and Effects, truly opening up the possibilities for users to include as wide a variety of graphical effects as possible.
WSS
  • Web Sockets have been supported for a couple of years in GameMaker but we have not supported secure web sockets across all platforms, this would allow for a richer toolset and access to more secure communications between client and server. We are supporting WSS across all platforms in a future release.
Actions
  • Ability to create a named Action like “Fire” and then allow authors to bind keyboard keys, gamepad buttons (or axes) and mouse buttons or touch/gestures to that Action, then allow code to be executed when that Action is used. Allowing multiple Action Collections to be created allows multiple mappings for different layouts to be easily manipulated and used within games. Thus making it easier to handle input from many diverse devices and make the game logic separate from the input mechanisms.
Inspectors + Workflow
  • Over the last couple of releases you’ll have no doubt noticed the new Inspector that will allow you to change various aspects of the asset that you are inspecting. We are still in the process of developing this feature, and you will see more of these being added in releases to come. These provide the start of the new GameMaker Workflow, giving you the ability to quickly edit your project without having to open dedicated editors in a workspace and some of these will completely replace their dedicated editor counterparts.
  • The second phase of our new workflow will be to introduce our new fullscreen code, sprite, and room editors. The new Code Editor combined with the Inspector will replace the current Code and Object editors, the new Sprite Editor will combine the current Sprite and Image editors, and the new Room editor will be streamlined to provide you with as much space and functionality as possible without getting in your way.
Looking further forward we are preparing even more features including:
GXC Monetisation
  • We are investigating adding monetisation options to GXC games, we don’t have much to say about this yet but we are looking at something similar to Steam Wallet and for example rewarded video ads.
Package Manager
  • Moving assets, components and marketplace downloads to a package manager will improve the user experience, allowing us to update individual components more easily and avoid having monolithic downloads. Over the next year we are looking to provide a package manager to replace runtime and marketplace downloads, making updating simpler and allowing users to easily manage versions on a per project basis. We are planning to use the NodeJS Package Manager `npm` as we do not want to reinvent the wheel and it fulfils our needs.
Multiplayer
  • Making game development easy is the core goal of GameMaker and we know that one of the most difficult to get right areas is multiplay, we are investing in multiplayer aspects and hope to bring a simplicity and usability level on par with the rest of GameMaker. We are bringing a variety of features to allow our users to create cohesive multiplayer experiences and drastically lower the technical threshold required to create and maintain a multiplayer game.
FEEDBACK
In the spirit of being open and honest we will be looking to increase our communication with everyone. We will be kicking this off with an Ask Us (nearly) Anything thread on the forums, here you can ask us questions about GameMaker, YoYo Games, Opera, or GXC (please note that we will not be answering any questions about Lemmings, feel free to ask those on Twitter...). We will endeavour to answer all of your questions and we are not putting a time limit on how long we will dedicate to responding, we will work through them all as they come up and feel free to post follow up questions if you have them.

We would also love to hear what you would like to see in the future for GameMaker and have put together a short survey for you to provide us with some candid feedback. If you have the time please help us by filling out this 5 minute survey: https://opr.as/GM-CF-Nov
 

Alice

Toolmaker of Bucuresti
Forum Staff
Moderator
Lots of exciting things happening indeed!

When handling inputs, I'd sometimes indeed define various actions and then associate them with specific inputs. If it has an API similar to regular button-like inputs (so one can check for action input held/pressed/released), it'd simplify things a lot. I assume there would also be functions to rebind actions during runtime?
(the way the post is phrased, it seems like Actions feature will be coming pretty soon, somewhere alongside all those inspectors and further Filter improvements? Hopefully a roadmap update will clear things up)

I'm also curious about the new workflow. I'm one of those people who aren't overly fond of Workspace sprawl, so something leaner (like the object windows in GM:S 1.x, or something else altogether) would be a very welcome addition.

I did consider the concept of "something like Node Package Manager but for GameMaker", but I didn't expect you'd actually use Node Package Manager itself to manage GM packages!
I just hope there will be some safeguards in place to prevent the GameMaker's version of left-pad incident.

Oh, and also, I'm waiting for more news about GXC monetisation. I wonder if it'd become available for free version users - that way they could earn enough money to purchase a subscription and become full-fledged GM users.
 

Japster

Member
@rmanthorp This sounds awesome news, thanks! - I DO have 2 questions though!...

1) The confirmed HTML5 'mouse button release' bug introduced in ALL newer versions past 2.3.0.401 is still an issue - without fixing this, myself and other HTML5 coders (and especially given that Opera GX is getting a big push at the moment), simply cannot move to any newer version...

2) Filters - would be AWESOME to have some sort of CRT filter in that list, for retro games. I've tried 2 paid assets now, and neither one has worked properly for me, each having some kind of issue regarding missing/hidden GUI layer or none-GUI layer content, when the filter is enabled, so a proper one built into GMS 2.3 would be fantastic!

Anyway, other than that, amazing update!! - if point (1) could be addressed ASAFP ;) , then I can see myself finally being able to enjoy the new features since 2.3.0.401!!! :D
 

Stra

Member
Stability is a key element in our software releases and we have been investing in our team doubling the size of our Quality Assurance (QA) team. This allows us to increase our release cadence and with further investment in improved DevOps and QA automation we aim to improve the stability of releases going forward.
This is what I am personally most excited about.
 
This is a very good direction. Plenty to be excited about.

I can't wait to see what the multiplayer part will bring. If GM can make it easy without a lot of overhead, it will have infinite amount of potential. Would be a huge selling point and huge win for GM. So many want to make multiplayer games, but aren't netcode savvy.
 

Jman

Member
This and the Winter Q&A is very exciting!

There are a lot of things to be excited about, but I'm especially excited for the new room editor
and the plans to make implementing multiplayer easier(I'm assuming this is networked multiplayer).

Keep up the good work!
 

dadio

Potato Overlord
Forum Staff
Moderator
Workflow / Editor changes interest me the most.
Happy to see any attempt to move away from GMS2s "Workspace sprawl" as Alice succinctly put it. (Single biggest issue I *still* have with GMS2 - and the only big step backwards from GMS1 imo.)
 

Karlstens

Member
Single layer FX assignment will be an absolute game changer. I'm hoping to hear that this one thing alone is top-of-the-pile. It means that we can assign objects to layers, and that those singular layers can have an array of FX applied which in turn are then limited to only those objects within that layer. Awesome.

Can't wait to see that!!!
 

FoxyOfJungle

Kazan Games
Wow, I'm really super excited about these changes and what's to come!!, especially these:
  • Workflow/code editor;
  • Actions;
  • Multiplayer.
And all the others. I love GMS 2 and its developers.
I contributed to the research.
 
Last edited:

Pfap

Member
I am glad to hear that multiplayer is going to be given more attention. I have recently been exploring the existing UDP tools in GMS2 and rolling a solution for reliability when you need it is proving to be quite challenging. A GameMaker exclusive high level multiplayer API on top of UDP would be something I could put to use pretty much immediately. The other thing I would like to see is the ability to export server builds for some type of Linux. Right, now I'm working on a project where I have a Node process run a .bat file that starts an installed .exe of my GameMaker server per matched group of users then the matched users connect directly to that GameMaker instance. It works fine, but I haven't tried to deploy a build to a server only machine.
 
Last edited:

rwkay

YoYo Games Staff
YYG Staff
I am glad to hear that multiplayer is going to be given more attention. I have recently been exploring the existing UDP tools in GMS2 and rolling a solution for reliability when you need it is proving to be quite challenging. A GameMaker exclusive high level multiplayer API on top of UDP would be something I could put to use pretty much immediately. The other thing I would like to see is the ability to export server builds for some type of Linux. Right, now I'm working on a project where I have a Node process run a .bat file that starts an installed .exe of my GameMaker server per matched group of users then the matched users connect directly to that GameMaker instance. It works fine, but I haven't tried to deploy a build to a server only machine.
Have you tried enabling reliable udp that is built into GM??? https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Networking/network_set_config.htm

If you have any problems then let us know. (file a bug)

Russell
 

Biosyn

Member
Good stuff but this...

Making game development easy is the core goal of GameMaker and we know that one of the most difficult to get right areas is multiplay, we are investing in multiplayer aspects and hope to bring a simplicity and usability level on par with the rest of GameMaker. We are bringing a variety of features to allow our users to create cohesive multiplayer experiences and drastically lower the technical threshold required to create and maintain a multiplayer game.
Wondering if it's possible to get some more details on this. Also, it might be worth taking a look at YellowAfterlife's GMTogether tool which is the only way to get multiplayer in GMS working right now with only a few settings needed. Curious if a similar setup would apply here.
 

Coercive

Member
I'd just be thankful for means of actually knowing when the connected server disconnects it without sending a actual disconnect packet manually.

You'd think it would send a event automatically but it doesn't in every situation. This was only one of the issues that we had to deal with simply because we didn't know it was one. (Being used to other engines doing it for us...)

Not a big deal, but just would be nice.
 
Top