OFFICIAL GameMaker Studio 2 - Roadmap update

Discussion in 'Announcements' started by Mike, Apr 1, 2017.

Thread Status:
Not open for further replies.
  1. Mike

    Mike nobody important GMC Elder

    Joined:
    Apr 12, 2016
    Posts:
    2,288
  2. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    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: Apr 1, 2017
  3. BaBiA Game Studio

    BaBiA Game Studio Member

    Joined:
    Jun 20, 2016
    Posts:
    708
    Really interested in seeing how some of these get implemented. Sounds like very cool things could be on the horizon.
     
  4. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    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!
     
  5. Alice

    Alice Toolmaker of Bucuresti Forum Staff Moderator

    Joined:
    Jun 20, 2016
    Posts:
    674
    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).
     
  6. True Valhalla

    True Valhalla Full-Time Developer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    295
    Thanks Mike, looking forward to more updates.
     
  7. Pudsy

    Pudsy Member

    Joined:
    Jun 20, 2016
    Posts:
    32
    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
     
    kumitassu likes this.
  8. Curial Lloses

    Curial Lloses Member

    Joined:
    Jun 20, 2016
    Posts:
    73
    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 :_(
     
  9. sylvain_l

    sylvain_l Member

    Joined:
    Sep 18, 2016
    Posts:
    705
    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)-
     
  10. Mike

    Mike nobody important GMC Elder

    Joined:
    Apr 12, 2016
    Posts:
    2,288
    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! :))
     
  11. K3fka

    K3fka Member

    Joined:
    Jul 9, 2016
    Posts:
    31
    All of those GML features are going to go a long way for making GML a stronger language. Seriously looking forward to all of them, probably exceptions the most.
     
    RichHopefulComposer and Pudsy like this.
  12. JeffJ

    JeffJ Member

    Joined:
    Jun 20, 2016
    Posts:
    290
    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...
     
  13. Cpaz

    Cpaz Member

    Joined:
    Jun 20, 2016
    Posts:
    293
    "Built in support for tile collision"

    PRAISE BE MIKE!!!!
     
  14. RekNepZ

    RekNepZ GMC Historian

    Joined:
    Jun 20, 2016
    Posts:
    116
    Here I was expecting an April Fool's joke
     
    Cpaz and Lukan like this.
  15. Mr. RPG

    Mr. RPG Member

    Joined:
    Jun 20, 2016
    Posts:
    37
    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: Apr 2, 2017
    RichHopefulComposer likes this.
  16. kyropim

    kyropim Member

    Joined:
    Jun 22, 2016
    Posts:
    13
    64bit runtime yay!
     
  17. chance

    chance predictably random Forum Staff Moderator

    Joined:
    Apr 22, 2016
    Posts:
    745
    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.
     
  18. TsukaYuriko

    TsukaYuriko Q&A Spawn Camper Forum Staff Moderator

    Joined:
    Apr 21, 2016
    Posts:
    1,046
    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.
     
  19. Thylacine Studios

    Thylacine Studios Member

    Joined:
    Jan 27, 2017
    Posts:
    62
    This is absolutely amazing. Can't wait for some of this stuff to appear!
     
  20. iluvfuz

    iluvfuz Member

    Joined:
    Jun 21, 2016
    Posts:
    16
    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!
     
  21. gnysek

    gnysek Member

    Joined:
    Jun 20, 2016
    Posts:
    1,278
    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.
     
  22. Catan

    Catan Member

    Joined:
    Jun 20, 2016
    Posts:
    484
    I definitely hope it will not be a CSV file. One json file per language seems a much better approach.
     
  23. gnysek

    gnysek Member

    Joined:
    Jun 20, 2016
    Posts:
    1,278
    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
     
  24. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    CSV can be messy. What if you need to add remove entires? is the order preserved?
    JSON has the advantage of being order agnostic.
     
  25. Alice

    Alice Toolmaker of Bucuresti Forum Staff Moderator

    Joined:
    Jun 20, 2016
    Posts:
    674
    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.
     
  26. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    You can totally have asian fonts if its Unicode.
     
  27. Catan

    Catan Member

    Joined:
    Jun 20, 2016
    Posts:
    484
    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.
     
  28. gnysek

    gnysek Member

    Joined:
    Jun 20, 2016
    Posts:
    1,278
    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 :)
     
  29. Sandygamer

    Sandygamer Member

    Joined:
    Mar 30, 2017
    Posts:
    18
    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.
     
    HayManMarc likes this.
  30. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    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.
     
  31. Mike

    Mike nobody important GMC Elder

    Joined:
    Apr 12, 2016
    Posts:
    2,288
    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 likes this.
  32. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    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.
     
  33. Pudsy

    Pudsy Member

    Joined:
    Jun 20, 2016
    Posts:
    32
    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
     
  34. sogun

    sogun Member

    Joined:
    Mar 3, 2017
    Posts:
    10
    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.
     
  35. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    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.
     
  36. Mike

    Mike nobody important GMC Elder

    Joined:
    Apr 12, 2016
    Posts:
    2,288
    Errr... nope! Thanks for playing! :)
     
  37. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,048
    @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
     
  38. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    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.
     
    RichHopefulComposer likes this.
  39. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    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..
     
  40. RiK

    RiK Member

    Joined:
    Mar 2, 2017
    Posts:
    11
    Amen to that!
     
    Cpaz likes this.
  41. Andrey

    Andrey Member

    Joined:
    Jun 21, 2016
    Posts:
    257
    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).
     
  42. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    You can already do that with the layer_script functions, by changing either the view or the world matrix before the layer is drawn.
     
    Andrey likes this.
  43. Andrey

    Andrey Member

    Joined:
    Jun 21, 2016
    Posts:
    257
    Thank you! I did not know about it! I will study.
     
  44. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    But I agree, having actual scale functions would be very helpful!
     
  45. zendorf

    zendorf Member

    Joined:
    Sep 11, 2016
    Posts:
    102
    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 :)
     
  46. Storyteller

    Storyteller Member

    Joined:
    Jul 19, 2016
    Posts:
    237
    thank you.
     
  47. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,184
    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?
     
  48. Alice

    Alice Toolmaker of Bucuresti Forum Staff Moderator

    Joined:
    Jun 20, 2016
    Posts:
    674
    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.
     
  49. SVG

    SVG Member

    Joined:
    Jun 27, 2016
    Posts:
    92
    I laughed out loud in public and embarrassed myself a bit hahaha! Very funny!

    That would not be so funny, not at all :)
     
  50. Storyteller

    Storyteller Member

    Joined:
    Jul 19, 2016
    Posts:
    237
    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.
     
Thread Status:
Not open for further replies.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice