OFFICIAL GameMaker Studio 2 - Roadmap update

Status
Not open for further replies.

GMWolf

aka fel666
Oh wow! This is looking very good!
So very much impressed if these things happen!
Could we get clarification on the following?:
  • "Game Language support - IDE Language Resource" -what is that?
  • "GML: Garbage Collector" - what will be GC'd and will it deal with cyclical references?
  • "GML: lightweight objects - new and delete + constructors / destructor methods." - any words on what that could look like (I'm aware this is far into the future).
Also very happy to see we get things like inline accessors and method data types.
And all the other things we have asked for :)

Really hope this isn't some April fools ¬_¬

[Edit]
Also sad to see plugin docs and SDK being at the very bottom of the priority stack but I don't blame you, makes sense.
 
Last edited:

rIKmAN

Member
Nice list, a couple of surprises on there that are nice to see - lightweight GML objects, GC, Try/Catch, Import PSD, UWP Open Live support to name a few!

Would it be safe to assume that if things can be removed, then things could also be added?
I don't see any mention of Spine on there at all, but would hope that there are plans to add some functionality and have a runtime update over the course of the next year.

Good stuff, roll on 2018!
 

Alice

Darts addict
Forum Staff
Moderator
Really hope this isn't some April fools ¬_¬
Actually, my instinct reaction to Mike's post was that it was an April Fools joke, but the post linked to is from the previous day, so it hopefully is legit. Also, judging from Language Resource being used for static text on room asset layers, I assume "Language Resource" would be used for localisation. I wonder how that one would work, exactly (there definitely should be a way to find out the current language from the code).

Also, does "Command line project building" mean "building project from command line" or "building a command line project"? Given it's in IDE rather than runner, I assume the former, and I actually welcome the ability to build projects from command line, allowing integration of compiler with other tools~!

So, going through the list, picking out these I find or might find useful personally...
IDE
  • Image Editor effects
  • Code editor - Document replace text support
  • Game Language support - IDE Language Resource
  • Code Folding
  • Redefine Keys in IDE
  • Personal Asset Library
  • IDE Find All References
  • Quick 47 Tile Tilemap generation from a simple 5 tile
  • Room Editor : Static Text on Asset Layers - include Language Resource support
  • Mobile Templates - indication of what room views will look like on popular platforms.
  • Audio - basic audio generator in IDE (I take it'd be something like built-in SFXR?)
  • Audio - basic sample editor in IDE (cut / copy / paste / Trim / resample / Fade In / Fade Out)
  • Command line project building
  • Refactor support
  • Save GIF
  • Code Editor - Pretty Print / Format of selected code.
  • Debugger built in
  • Inherited projects
  • Import SVG graphics
  • Plugin documentation and SDK
Runner
  • Extended Gesture events - Pinch In and Out, Rotation
  • Runtime support for Game Languages
  • Orientation Events - new event for supported platforms.
  • Resize Event - so it works as expected when window is resized (or fullscreen)
  • 64bit runtime support for Windows, Mac and Linux
  • Allow auto tile sets to be used at runtime
  • UWP - Full Open Live support
  • GML: method data type to allow calling scripts through variables
  • GML: exception support - try… catch… finally… and throw
  • GML: data structures as a true datatype :squirrel:
  • GML: Chained arrays and accessors
  • GML: Inline functions :squirrel:
  • GML: Accessor literals - allow data structure literals - var a = {| 1, 2, 3 };
  • GML: Garbage Collector
  • GML: lightweight objects - new and delete + constructors / destructor methods.
  • GML: foreach statement to iterate over arrays and data structures
Overall, lots of good stuff here. I hope that somewhere among the "Smaller items may well appear directly without appearing on this list" is ability to set the points of seamless looping in audio tracks; we do have audio_get/set_position, but it's not synchronised with the actual audio (instead, it's based on the gameplay thread) so there usually will be small, but audible breaks (they might be small enough not to be caught when someone doesn't look for them specifically, but still).
 
P

Pudsy

Guest
Thanks for posting the roadmap! Some really nice stuff on there, especially all the GML enhancements.
Any plans for a user poll, to help prioritise this list, as you did recently with the image editor functionality?

These stand out for me...

IDE
  • Code Folding
  • Personal Asset Library - quick access for personal code snippets, assets, extensions etc
  • Minimap - Workspace and Room Editor
  • Attach points on sprites - allow multiple named points on sprites, can change on each frame
  • Refactor support
Runner
  • Resize Event - so it works as expected when window is resized (or fullscreen)
  • 64bit runtime support for Windows, Mac and Linux
  • Wrapping Tilemaps - also allow smaller tilemaps than the room for simple parallax
  • GML: method data type to allow calling scripts through variables (i.e. foo=myscript; foo( 0, 1, 2); )
  • GML: lightweight objects - new and delete + constructors / destructor methods.
  • GML: foreach statement to iterate over arrays and data structures

And as someone else queried above, what do these mean...? Support for other languages besides GML?
  • Game Language support - IDE Language Resource
  • Runtime support for Game Languages
 
C

Curial Lloses

Guest
This is an awesome list and grows our hype at every second!

But I miss one important for me (not sure if I am doing wrong): Make projects source files independent to Game Maker 2 View files, so you can ignore them in source control and Game Maker don't crash :/ It is being a hell use source control with a team with view files :_(
 

sylvain_l

Member
feel like christmas in April :)

lot of good news in the roadmap, my favorite being - I real hope this mean what I understand (base for OO in GML)-
  • GML: lightweight objects - new and delete + constructors / destructor methods.
  • GML: Inline functions - allow var a = function( a, b ) { ….. }
 

Mike

nobody important
GMC Elder
We're not going to go into detail on any of these as we don't want to get drawn into (many) long drawn out API and "wish" battles. Let us get them in first, then iteration is easier especially as the list is highly subject to change, and we've not even decided ourselves how we'll do all them yet.

The plugin stuff is a long way off because it's complicated due mainly to the fact we will have to document "everything". Remember the UI is totally custom built, it has lots of sub-systems internally, and we'll also need both Marketplace and "dev" usage support to do all this. This will take a LONG time to come, don't hold your breath. (unless you're complaining, then hold it as long as you like! :))
 

JeffJ

Member
Wow! We have a roadmap again. This alone is enough to get me excited! :p

But there are some genuinely exciting things on here. Just off the top of my head;

  • Code folding - YES! Finally!
  • Refactor support - been dearly missing it!
  • Attach points on sprites - this sounds extremely exciting if it's something we can get/set with GML
  • Inherited projects - sounds like it will make it easier to build separate 'modules' for your main game and then tie them all together. I like!
  • Particle Emitter in room editor - does this mean we will be able to see our particles in action within the room editor? That would be so sexy!

Also... Although Q4 is still far away... I can't help but get excited about the sound of "Additional Target Platforms". Wonder what those could be... Ahem...
 

Mr. RPG

Member
There's a lot of stuff I'm interested in, especially the changes to GML (and the addition of tile collisions). I hope the GML changes are being given priority over new image editor effects. We really don't need more image editor features. I think Studio 2.0's image editor is perfect for what it is supposed to do. It isn't meant to replace GIMP.

As for what is not on the list... I don't see local search and replace on the list. Where is that? It was in previous versions of GameMaker, but it is missing in Studio 2.0. There is a lot of stuff I would love to see in GML, but it has all pretty much been discussed to death already (structs and namespaces to name a few). I really think GML needs a rewrite like what was teased a long time ago (GML 2.0).

Any hints on what the new target platforms may be? Nintendo Switch...? :)
 
Last edited:

chance

predictably random
Forum Staff
Moderator
...the dates and contents may change as we advance.
...this is not necessarily the order they will be done or released.
...items may well appear directly without appearing on this list.
...items listed are also subject to change or removal without notice.
Got a chuckle from that. The first disclaimer sends the right message. Repeating it three more times may send an unintended message... ;)

Teasing, of course. I'm glad to see this. Especially the new GML features. The mobile camera feature sounds fun too. We might see some augmented reality games showing up.
 

TsukaYuriko

☄️
Forum Staff
Moderator
It lacks plans to shoot me, but apart from that, all of this sounds really impressive so far... I'm especially hyped for SVG import, 64 bit support, native accessor chaining and exceptions.
 
I

iluvfuz

Guest
The code editor is largely quite good without much in the way of polarizing features, but what I'd like most added onto the roadmap is basic automatic code formatting options, like automatic indenting/unindenting within/outside blocks instead of just "Match indent on new lines".

I'm not sure if "Code Editor - Pretty Print / Format of selected code" addresses this already, but, if not, it certainly seems like there would be pretty-print options in place for formatting that can also be used for newline auto-formatting. Other features would also be great if they haven't already been considered and rejected, such as automatically indenting lines the user has just broken into new lines, supporting the typical JSDoc format of /** ... */ with automatic alignment for new lines, TODO comments for specifying tasks (notes and bookmarks are nice but incomplete for this purpose), and so on.

Custom key shortcuts and built-in debugger sound great, though!
 

gnysek

Member
"Game Language support - IDE Language Resource"
I think this is a (probably) CSV file with translation of string, so you can easily release same game in French, German, Chinese and others without writing a code to support it, and by just importing/exporting one file.
 
H

Homunculus

Guest
I think this is a (probably) CSV file with translation of string, so you can easily release same game in French, German, Chinese and others without writing a code to support it, and by just importing/exporting one file.
I definitely hope it will not be a CSV file. One json file per language seems a much better approach.
 

gnysek

Member
why not, while csv is easier to edit in this case? they already have it for languages in IDE :) in a language you don't need scoping, so JSON is not needed
 

GMWolf

aka fel666
why not, while csv is easier to edit in this case? they already have it for languages in IDE :) in a language you don't need scoping, so JSON is not needed
CSV can be messy. What if you need to add remove entires? is the order preserved?
JSON has the advantage of being order agnostic.
 

Alice

Darts addict
Forum Staff
Moderator
Hmm, I hope it'll be more advanced than text files, whether CSV or JSON, maybe even with own share of sprites/included files. You hardly can carry Asian fonts information or pretty pictures in text files alone. I guess we'll just have to see what is the YYG's vision of the product future, including these Language resources.
 

GMWolf

aka fel666
Hmm, I hope it'll be more advanced than text files, whether CSV or JSON, maybe even with own share of sprites/included files. You hardly can carry Asian fonts information or pretty pictures in text files alone. I guess we'll just have to see what is the YYG's vision of the product future, including these Language resources.
You can totally have asian fonts if its Unicode.
 
H

Homunculus

Guest
Hmm, I hope it'll be more advanced than text files, whether CSV or JSON, maybe even with own share of sprites/included files. You hardly can carry Asian fonts information or pretty pictures in text files alone. I guess we'll just have to see what is the YYG's vision of the product future, including these Language resources.
Why not? UTF8 has no problem dealing with that, and that's actually how it's generally done in web applications for static strings. You got a point about the sprites though, but I can't see an easy way out for those. On the other hand, it should not really be that complex to work something out manually.
 

gnysek

Member
CSV can be messy. What if you need to add remove entires? is the order preserved?
JSON has the advantage of being order agnostic.
I'm using CSV files for translations for about 7 years now in Magento e-commerce stores engine (it's their default) and never got a problem with order and adding/removing, so I can for sure recommend it (I'm a certified Magento developer). Order is kept in exactly same way you entered words. It's nearly same as .PO files uses as Wordpress. In case of text-translation pairs, there's no better file than CSV (one per language) as JSON wouldn't give you anything more (except {, } and ":" instead of "," file will be same).
Also, this is faster to implement as they already using it in IDE :)
 
S

Sandygamer

Guest
YYG Devs, please read if you have time:-
I was going to buy GM2 (I already own 1.4, so the nice discount applies to me) however after trying the demo/beta/trial I have decided to withhold my $60.

Why? do I dislike you? oh no, not at all, I'm sure you're all very nice and friendly people.
However I cannot state strongly enough how much I dislike the new workspace feature, I will admit that I don't run a huge resolution, so no 4k monitors here but even so, 1.4 is a dream to use, gm2 is not. The workspace is utterly awful and very very distracting and cluttered feeling, even using shortcuts it is a pain in the rump.

PLEASE mr devs and mrs/miss devs, please add a new option in GM2, an option to disable the workspace and let us work like in 1.4

If you do this I swear on the life my dads favourite dog, I will buy GM2 the very next day, regardless of the price!

if you decide not to do this, I will keep using 1.4 until you no longer support it and then I will have to cry, pack my bags, take down my pin up posters of the YYG people and move to new software. ...and I don't want to do that.

Thank you for taking your time to read this devs.
 

rIKmAN

Member
If you have a small resolution then you are going to better off using the resource tree to navigate - double click and the workspace autoscrolls straight to it.

I have 2 x 1920x1080 screens and that's how I use the IDE, I can't be bothered dragging and panning around as its much too cumbersome, but double clicking the resource tree feels quite natural to me - at least the times where I don't have to click 6 times to get a double click registered.

Workspaces aren't going to change, we've been told that by YYG staff in no uncertain terms, although hopefully some improvements to usability across the whole IDE will make things feel more intuitive as time goes on.

RIP your Dads favourite dog....he was a good boy.
 

Mike

nobody important
GMC Elder
Sorry, this won't be changing. There are lots of navigation aids, from just using a scroll wheel to pan up/down in the workspace, to resource tree views ,to the many shortcuts available.

http://www.yoyogames.com/blog/416

You can also change the double click timing in the preferences :)
 

rIKmAN

Member
You can also change the double click timing in the preferences :)
Yeah I've tweaked that, along with the slow double click timing. :)
Sometimes it feels perfect and works great, then other times it's like it doesn't register my clicks (or one of them) and I have to double click 2-3 times to get it to register.
 
P

Pudsy

Guest
...from just using a scroll wheel to pan up/down in the workspace...
Is there any chance of future support for mouse tilt for left/right scrolling ?

I think I may have suggested it before somewhere.
It would help with navigating the workspace, especially at lower resolutions, for owners of mice that support horizontal scrolling via the scroll wheel
 
S

sogun

Guest
Points on sprites means for me:
+ swords or weapons will be able to release a random trail and look different each time they swung.
+ blood fountains can look different each time
+ spell effects or any particle can emit from animation frames.

No longer the need to render these particle effects into the sprite animation itself.
 

GMWolf

aka fel666
Points on sprites means for me:
+ swords or weapons will be able to release a random trail and look different each time they swung.
+ blood fountains can look different each time
+ spell effects or any particle can emit from animation frames.

No longer the need to render these particle effects into the sprite animation itself.
If it allows for any number of points, Ill probable add support for them in my 9patch asset so you can choose between using pixels or points to define the 9patch.
 

rwkay

GameMaker Staff
GameMaker Dev.
@sogun - No it is for attach points on a sprite so that points with names can be placed on each frame for things like sword attachments (they will have name, position and local orientation). They will be readable in the gml for any sprite to enumerate and fetch.

They are not point sprites.

Russell
 

GMWolf

aka fel666
@sogun - No it is for attach points on a sprite so that points with names can be placed on each frame for things like sword attachments (they will have name, position and local orientation). They will be readable in the gml for any sprite to enumerate and fetch.

They are not point sprites.

Russell
I think he meant you could emit particles from a point on sprite. Useful since the points could be animated.
Before, @sogun must have backed the particles into the sprite images.
 

GMWolf

aka fel666
Anything on isometric tilemaps or is this not going to be a thing?
I recall @Mike saying it wasn't going to be what we think..
 

Andrey

Member
With the layers is now very convenient. But will this system continue to develop in future?
For example, it would be convenient to scale individual layers (functions layer_xscale, layer_yscale), programmatically rotate them relative to the selected point (function layer_angle, layer_pivot). This would allow doing zoom effects when the layers would increase differently. And also it would be nice to be able to programmatically set the transparency to the entire layer (function layer_alfa).
 

GMWolf

aka fel666
With the layers is now very convenient. But will this system continue to develop in future?
For example, it would be convenient to scale individual layers (functions layer_xscale, layer_yscale), programmatically rotate them relative to the selected point (function layer_angle, layer_pivot). This would allow doing zoom effects when the layers would increase differently. And also it would be nice to be able to programmatically set the transparency to the entire layer (function layer_alfa).
You can already do that with the layer_script functions, by changing either the view or the world matrix before the layer is drawn.
 
Z

zendorf

Guest
Very nice list! Some exciting additions in there. The code folding and inline functions will make a massive difference to the coding experience.

So will the new particle features mean this is a new/expanded particle system or just a more interactive version of the current one?

Some cool new room editor additions with the text, particle and minimap functionality. Hopefully some of the glaring, more basic additions (such as uniform instance scaling and mouseover info) have not been forgotten, with all this new sexiness :)
 

GMWolf

aka fel666
Had to migrate yet another project because the namespace got way to crowded in GM. Any plans to bring some form if name spacing to GM?
 

Alice

Darts addict
Forum Staff
Moderator
By the way, does planned exception support include capturing default GM errors (such as operating on undefined data structure, adding strings to numbers etc.)? Having worked on my project, I figured it would be quite useful for debugging purposes, e.g. allowing to check the exact state of various structures and objects at the time the error occurred.
 
S

Storyteller

Guest
i need to shift focus on my book. no sense writing a book about programming if you change the language that year.
Im very excited about a lot of these features.
 
Status
Not open for further replies.
Top