OFFICIAL Winter Q&A 2021

Status
Not open for further replies.

Japster

Member
Not in 2.x lifetime but in the new runtime we plan on using function callbacks as the main async paradigm going forward.
I've successfully used this callbacks recently, and they're GREAT! - easier to code and maintain than the Async events once there are a few in there, imo....
 

Japster

Member
Full support for FMOD and WWISE require improvements to the extension mechanism and toolchain these are coming in the New Runtime and we are looking to support external libraries such as these in that timeframe. You are welcome to create your own extension on the current runtime to support them, we are not planning to.
I have to say, for professionals these are obviously great, but I started helping on a legacy retro game recently, which had FMOD integrated. Not only did I get compatibility issues when exporting to HTML5, but it was a HUGE resource hog - simply playing a sound in some cases, used an unacceptably high percentage of CPU resources, so we stripped it out and went for native GML functionality - Not as tailor-able, but overall a huge improvement....

For simpler projects, I'm guessing this would never be an issue, but I hear where @Lance is coming from - horses for courses I guess...
 

Ricardo

Member
The New Runtime is built around allowing for multi-threading and multiprocessing and while this will not be enabled day one (our initial focus will be on compatibility to ensure that current projects will work on the new runtime) we will be rolling this out once we have released the New Runtime.
“New Runtime” is my new favorite thing ever. At my studio we’re extremely excited about multithreading and the Runner overhaul! Hope it comes sooner than later.
 

John4300

Member
Speaking of build-in audio functions, are there any plans on updating the audio system at some point? Game Maker is okay at playing sounds, but it definitely could use some improvement especially in music (Streamed sounds) department.

Native function to loop sound part (For example, loop start at 2.5s and loop end at 6.7s) would be really great. There is a function to change position on the track obviously, but this isn't sometimes accurate enough because it can be manipulated only every game tick through code so it easily results in clips and other ugly sounds.

Option to pause audio when game is being dragged would be great as well, but this probably gets a bit complicated due to how it all is programmed.

Also, it would be great to have an option to hide songs in some kind of data file (Preferably encrypted at least in simple manner) instead of them plainly being in the game folder.
 

Alice

Darts addict
Forum Staff
Moderator
Speaking of build-in audio functions, are there any plans on updating the audio system at some point? Game Maker is okay at playing sounds, but it definitely could use some improvement especially in music (Streamed sounds) department
Please refer to the first part of this answer.
 

Cpaz

Member
Are there any plans to add code auto-formatting to the code editor?
I second this question. Would love to have a way of forcing some consistent formatting in the native IDE. Ala prettier for visual studio code.

On that note, is there plans for better external code editor support? It would be nice to open an object and have all the scripts load in another editor automatically or something of the like.
 

kburkhart84

Firehammer Games
You can already iterate over individual types of assets and get assets that have tags, I would suggest that you use the tagging mechanism as this is what it was intended to allow (get lists of assets that you are interested in at runtime, and allow ad hoc communication from authors to runtime).
This is certainly a "correct" way to do it. But it is certainly more tedious to have to assign tags to all those audio assets, depending on how big the project is. If you guys are not going to be able to add what I'm looking for, I may have to resort to tags to move on.
 

Karlstens

Member
it'd be nice if all resources would get auto assigned a tag referring to their asset type
Yah, having Asset Tags slightly more accessible would also be useful - I'm thinking along the lines of having the assets browser list the tag array next to the object name, in itallics, comma spaced tags and all easily editable by clicking and typing - and perhaps toggled visibility on/off.

In quickly testing now, local asset package creation does at least collect all the tag info with the objects - so that might save you time if you can predefine your tagged asset library and then save/import as a local package.
 

rIKmAN

Member
it'd be nice if all resources would get auto assigned a tag referring to their asset type
I like this but I think a tickbox in Preferences would be better suited to toggle it as not everyone would require it or want every asset having extra tags - the more options the better!

@iampremo a few questions based on previously submitted tickets:

Any movement on allowing the creation of tilesets at runtime so they don't have to be setup in the IDE beforehand? (#134719 )

How about adding "Convert to Tileset" to the context menu when right clicking a sprite in the Asset Browser to save clicks from having to create the tileset, name it, assign the sprite etc manually and be a more streamlined workflow. (#155331)

Any updates on having the IDE remember it's previous size and position when launching instead of always starting full screen? (#153814)

Any progress with the Corsair Keyboard "set scheduler resolution" bug? (#182649 )

Bonus: Will we ever get to see the main Events with Begin/End variants listed in a logical order or is it destined to forever annoy people like me? 😄 (#155335)

Thanks again for doing this Q&A!
 
Last edited:

gnysek

Member
While on first 3 pages of this topic we can see a lot of times "not in 2.x lifetime/not in current runtime", on fourth answers started to mention "new runtime". Does that mean it's already in the works, and while it will be released when it's ready, it's planned somewhere around end of current roadmap? When we look on roadmap, only "secure web sockets" and "triggers" seems to be bigger changes for runtime, others are IDE-only, or are re-using existing features (like particle editor - where particles layers and emitters as resources need to be added in runtime, but rest is already there). Seems like runtime features are less visible on roadmap (yet), to prevent double-work on both runtimes maybe, and since in latest beta there's "boolean" type introduced, that also sounds like we're getting prepared for some bigger changes in future already in current runtime.
 

Micah_DS

Member
Will we ever get the ability to toggle the window border via GML? For e.g., so I could make a game that gives the user the option to switch between windowed, full screen, and borderless full screen?
I have already submitted a feature request on this, but it was quite some time ago.

If anyone is thinking about suggesting using a DLL for this:
I know that's an option, but I have my reasons to avoid DLLs whenever possible. My summed up reasoning is that native code gives me more confidence in extended support and stability. Plus, I have tried an extension for borderless window toggling in the past, and it crashed my games at random.

-
I also just wanted to say that I'm happy to see this Q&A thread and the general quality of the responses. 👍
And I'm happy to see more 3D functionality may be considered at some point.
 

brian

Member
Will we ever get the ability to toggle the window border via GML? For e.g., so I could make a game that gives the user the option to switch between windowed, full screen, and borderless full screen?
I have already submitted a feature request on this, but it was quite some time ago.

If anyone is thinking about suggesting using a DLL for this:
I know that's an option, but I have my reasons to avoid DLLs whenever possible. My summed up reasoning is that native code gives me more confidence in extended support and stability. Plus, I have tried an extension for borderless window toggling in the past, and it crashed my games at random.

-
I also just wanted to say that I'm happy to see this Q&A thread and the general quality of the responses. 👍
And I'm happy to see more 3D functionality may be considered at some point.
Not just this, but what about toggling GM scaling modes as well?
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
There used to be a feature on the roadmap for Sprite Attach Points (I think based on a suggestion of mine), where you can create animatable named or numbered anchor points on sprites (placed with mouse per frame) which you can then call the position of and use for example to attach particle emitters to animated characters... However, it seems to have disappeared from the list. I was wondering if this or something like it is still coming to GMS at some point as I was looking forward to having such an option. It's possible to code around the problem, but it would be really handy to have.
This is still in the list of features that we would like to add (just not in the public roadmap) but it’ll not be in the 2.x lifetime.
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
I remember confirming (at the first QA under Opera), that you will revamp marketplace. I have not seen any significant improvement yet, at least improvements that could justify the word "revamp", while I saw major changes and/or improvements on other web places run by Yoyo Games (eg Tutorials and Acounts pages). Considering that a polished and user friendly marketplace could be a real money maker, I was expecting to have seen such a change by now...

Are you consider revamping the marketplace as a high priority? Is it going to happen soon?
It’s not been the highest priority (licence payments, and some other areas have been so far) but it is on our Web Roadmap and will be a complete rewrite of the whole system, including using npm for delivery
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
About triggers, can you define them in polygonal shape? I think they could be also be used for platform collisions too, and polygon shapes would make slopes etc. Easy to define.
Yes it was already mentioned that the triggers will have multiple possible shapes: line, line strip, rectangular, ellipse, and polygonal.

Now as you have said, "not in 2.x runtime", so you are planning new runtime version as current has limitations. While you are doing new features and updates for GMS2, do they have double-purpose to visit areas you need to know about - or more experience - for new runtime? Like trying to find what works and what not, or just get experience about necessary things, so you can build new runtime more smoothly?
No, we are not just trying out new things for the new runtime, those features will be supported in the new runtime (and further developed).
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
when you say certain things are planned for a new/different runtime I guess you mean for 3.x.x or something like that. Will this be the next version of the software (gms3) and if so gms2 perpetual users would need to subscribe to be able to export to desktop etc… also any ballpark figure date or timeframe for when this new runtime is planned for release?
We don’t have any further information to discuss at the moment.
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
@iampremo
What will be the limitation of the free version of GMS 3?
And so there will never be a permanent license any more? I mean we would have only free users & subscribers?
All we can say at the moment is that we have a new runtime and compiler/toolchain in the works. We can’t say anything further about future versions of GameMaker.
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
On that note, is there plans for better external code editor support? It would be nice to open an object and have all the scripts load in another editor automatically or something of the like.
File a feature request - we are open to these ideas (no guarantees though)
 

FoxyOfJungle

Kazan Games
How is the mental health of the YoYo Games team? Can you keep everything in a healthy rhythm? Is all this too difficult/exhausting? Do you like to do what you do?
Just a silly questions xD
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
This is certainly a "correct" way to do it. But it is certainly more tedious to have to assign tags to all those audio assets, depending on how big the project is. If you guys are not going to be able to add what I'm looking for, I may have to resort to tags to move on.
it'd be nice if all resources would get auto assigned a tag referring to their asset type
That would actually be a VERY viable alternative to get what I need. @iampremo what do you think of this one? It would be perfect for my needs.
Yah, having Asset Tags slightly more accessible would also be useful - I'm thinking along the lines of having the assets browser list the tag array next to the object name, in itallics, comma spaced tags and all easily editable by clicking and typing - and perhaps toggled visibility on/off.
You should be able to tag a folder and everything within that folder gets that tag but there is a bug in at the moment that is stopping it from working.

Had a little discussion with Russell this morning about this and we aren't opposed to having a preference to auto add a tag for asset types, also with a better way of viewing/editing tags.. Please add some feature requests for these ideas!
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
Any movement on allowing the creation of tilesets at runtime so they don't have to be setup in the IDE beforehand? (#134719 )
This will be part of the new runtime

How about adding "Convert to Tileset" to the context menu when right clicking a sprite in the Asset Browser to save clicks from having to create the tileset, name it, assign the sprite etc manually and be a more streamlined workflow. (#155331)
Still in the backlog, one day we'll hopefully get to it

Any updates on having the IDE remember it's previous size and position when launching instead of always starting full screen? (#153814)
This is something that bothers us too, we will get round to fixing this eventually!

Any progress with the Corsair Keyboard "set scheduler resolution" bug? (#182649 )
This seems to be something on their side but we are still investigating to see if there is something else we can do

Bonus: Will we ever get to see the main Events with Begin/End variants listed in a logical order or is it destined to forever annoy people like me? 😄 (#155335)
This is being/has been fixed
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
While on first 3 pages of this topic we can see a lot of times "not in 2.x lifetime/not in current runtime", on fourth answers started to mention "new runtime". Does that mean it's already in the works, and while it will be released when it's ready, it's planned somewhere around end of current roadmap? When we look on roadmap, only "secure web sockets" and "triggers" seems to be bigger changes for runtime, others are IDE-only, or are re-using existing features (like particle editor - where particles layers and emitters as resources need to be added in runtime, but rest is already there). Seems like runtime features are less visible on roadmap (yet), to prevent double-work on both runtimes maybe, and since in latest beta there's "boolean" type introduced, that also sounds like we're getting prepared for some bigger changes in future already in current runtime.
Yes we are working on future features and sometimes these are not announced/released until a considerable time later. We have been working on the new toolchain/runtime for multiple years now and it is only recently that we have been able to speed this up with our increased headcount.
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
Not just this, but what about toggling GM scaling modes as well?
Not sure what you mean by this but you can draw the application surface yourself so should be able to do anything you want with that. Use the Post-Draw event to get your desired results.
 

Mert

Member
As some people pointed out, I'd like to know if there'll ever be a headless mode for Game Maker : Especially for Game Servers.

#Reasons
  1. In many situations, server needs to calculate several other things like player positions, maybe some physical events etc.
  2. Most of the server providers do not provide video cards as they're not really needed
 

drandula

Member
Oh I think I just got it, it's a new "runtime", so IDE might "stay same". As in IDE is not build from ground up for new runtime, but instead might be built upon existing IDE: and it is updated to accommodate for purposes for new runtime.

One way you could still consider it "GMS2", but also as "GMS3" for so many changes are coming. So rebranding it something like GMS:GX etc. might be good thing to avoid confusion and create the needed separation.
 

gnysek

Member
Oh I think I just got it, it's a new "runtime", so IDE might "stay same".
Yeah, because all things in IDE are loaded from plugins and are modular, it's not that hard to update only some of resource editors, in same way runtime might already support some new features which will be added to IDE later - seems that GMS2 became modular enough during it's lifetime, that there will be no one big jump between version, like between 1.x and 2.x. Moreover, as some new windows are still coming (GUI Editor, Particle Editor), and we got several new ones in recent months (Sequences, Curves, Inspectors), even when new runtime with new features will finally arrive, we could feel it like another normal update, instead of big leap. Even a redesign might come in parts (I believe that new "Start Page" was first delivery of new design, which will be closer to Opera GX browser), as it's based on layout files and is possible even now without releasing new IDE (several custom skins already exists).

it is only recently that we have been able to speed this up with our increased headcount
Initially I thought that current roadmap was planed for next 1-2 years, and I was little disappointed that there's lot of new IDE features, but nearly none for runtime - but knowing that next runtime is in the works, and seeing that more than 50% of features is already there, while 2.3.2 was released just in April, I'm much more optimistic after knowing that, as seems we only know part of bigger features which could be introduced and they all doesn't seem to be that far now. Of course I know that end of current roadmap doesn't mean that next runtime will be released next day, but I've got a feeling that this is a moment where more cards will be revealed, and approximate dates could be announced, and we're now only around 2-3 quarters away from that, not years.
Seeing that features like "find references" and "new intellisense" are coming soon, I also have a feeling, that they aren't there just to improve IDE, but if there are any plans of features that might cause delicate backward compatibility problems (like depending on resource ids as key indexes on data structures, which for sure one day would stop to work and can break even now since last bigger asset tree update), we can even get start getting hints of not doing sth anymore in a tricky way (same as now we're getting notices and yellow alert icons about unused variables) as they might stop to work or cause issues at some point, to be ready for any changes. I doubt that it could be worse than 1.4->2.0 or 2.2->2.3 :) At least that would be helpful as would answer some questions and issues with code even without any runtime changes, and could lead to not learning bad habits.
Can't wait to get more details on "next runtime" in next Q&A or when time will come to announce details, but we already got small list of things that are coming in Winter Q&A, and all of them are great improvements worth waiting :)
 

iampremo

GameMaker Staff
Admin
Moderator
GameMaker Dev.
How is the mental health of the YoYo Games team? Can you keep everything in a healthy rhythm? Is all this too difficult/exhausting? Do you like to do what you do?
Just a silly questions xD
Some silly questions are good too :p
We all really enjoy what we do, that helps a lot. We also try not to overload everyone and keep a good mix of new features vs bug fixing.
We also do backflips every single day of our lives..
 

kburkhart84

Firehammer Games
You should be able to tag a folder and everything within that folder gets that tag but there is a bug in at the moment that is stopping it from working.

Had a little discussion with Russell this morning about this and we aren't opposed to having a preference to auto add a tag for asset types, also with a better way of viewing/editing tags.. Please add some feature requests for these ideas!
The folder tagging is certainly nice(when it works) for people who organize things like I do(putting all things for things in a single place, like objects, sprites, sounds, etc... for a single enemy in a single place). But it certainly doesn't work for my use case I'm referring to since audio files could be anywhere.

I WILL file a feature suggestion for the auto-tag idea, as that one would fit pretty much perfectly(even if it would be nicer to just call a function and get a list of all audio assets).
 

Alice

Darts addict
Forum Staff
Moderator
You should be able to tag a folder and everything within that folder gets that tag but there is a bug in at the moment that is stopping it from working.
So, if I add a tag on a folder, then everything inside it (whether directly or as a part of subfolder) should also have that tag?
That would be very useful indeed (but as you mentioned, it doesn't work that way yet).

With that, the dev could basically just slap an "ALL" tag on all the top-level folders and assets, and then tag_get_asset_ids will retrieve all assets of specific type.

Considering that, I'd probably prefer if all that UI work required for auto-adding assets would be spent elsewhere?
It's not as out-of-the-box as a function that just returns all assets id of specific type - so there's still some effort needed on the dev side anyway - and I feel adding an "ALL" tag to top-level directories and assets is a comparable effort to configuring the auto-added tags on various types. That, or maybe a way to define a global tag applying to all possible assets (or even have one built-in) which can then be processed with the aforementioned tag_get_asset_ids.
 
In regards to the sprite/image editor rework; will the goal be to replace dedicated software such as aseprite or is the goal just to simplify the workflow itself since from what I understand is that you'll be combining the sprite editor and image editor in some way.
 
Status
Not open for further replies.
Top