OFFICIAL GameMaker Studio 2 - Roadmap update

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

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

    Edmanbosch Member

    Joined:
    Jan 6, 2017
    Posts:
    180
    Still seems like you can do that, kinda wish they changed that.
     
    Kuro likes this.
  2. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,048
    In GML every variable that has ever been used could be part of an instance so the intellisense has to do this, until GML changes the visibility of variables (unlikely to happen) then this will not change.

    EDIT: It will not show you local variables outside the current script - so consider using more local variables within code as they will only appear inside that script.

    EDIT: I would consider a preference to say omit variables from other objects events (but it would keep scripts / timelines variables etc)

    Russell
     
  3. Kuro

    Kuro Member

    Joined:
    Feb 21, 2017
    Posts:
    237
    Thanks for the tips! A preference to omit variables from other objects events sounds great.
     
  4. Edmanbosch

    Edmanbosch Member

    Joined:
    Jan 6, 2017
    Posts:
    180
    Maybe omit variables in other objects events, but for other pieces of code like scripts and timelines, you could have an option in the window to chose what object variables it should get? So you could set it so that it gets the variables for obj_player and nothing else, make it so that it has autocomplete for all variables(doesn't care what object they're from), and another option for having no variables from objects appear.
     
  5. Alice

    Alice Toolmaker of Bucuresti Forum Staff Moderator

    Joined:
    Jun 20, 2016
    Posts:
    674
    That would be quite a neat option, actually. If developer could explicitly declare which variables are in scope, the compiler could also warn about typos involving variable names nowhere in the scope (so far, only local variables typos are apparent). For example, that could be included in a documentation comment:
    Code:
    ///@description ...
    ///@param ...
    ///@with object1, object2, ...
    ///@variables variable1, variable2, ...
    I don't know which would be more convenient to implement, @with or @variables (I suppose the former requires for autocomplete to know which objects have which variables; don't know if it tracks it already), either or both would be fine by me.

    As for the options in preferences, I imagine these would be:
    - use variables from all scopes (treat no variables as "foreign", like now)
    - use variables from own scope (it means all event variables in the object context + documentation, documentation from all moments in a timeline context, and own documentation in a script context; all other variables are treated as "foreign")

    Maybe there could be an option to enforce no foreign variables and refuse to compile in such a case, but having foreign variables coloured differently than local and context variables is already a significant improvement, quickly drawing dev's attention to possible typos.
     
    Edmanbosch likes this.
  6. Overloaded

    Overloaded The Oneirophobe

    Joined:
    Jun 20, 2016
    Posts:
    24
    The roadmap, under the IDE section, mentions Code Folding. Code Folding was added in v2.1, shouldn't it be removed from the roadmap?
     
  7. Rukiri

    Rukiri Member

    Joined:
    Sep 25, 2016
    Posts:
    115
    Any ETA on Tile Collision? I have a pretty good way of doing it, but curious as to how it'll be implemented.
     
  8. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    Any ETA on the next update!?
     
  9. Rukiri

    Rukiri Member

    Joined:
    Sep 25, 2016
    Posts:
    115
    Didn't 2.1 just come out? I'd say probably another quarter?
     
  10. Kuro

    Kuro Member

    Joined:
    Feb 21, 2017
    Posts:
    237
    Maybe, structs and functions in time for christmas? :D
     
  11. Rukiri

    Rukiri Member

    Joined:
    Sep 25, 2016
    Posts:
    115
    I'd just push for a proper language like C#, lua, or even javascript!

    But yea, having function(args) { //stuff } would reduce the number of scripts actually needed for 1 script :)

    I would ACTUALLY LOVE if GML was actually object oriented, javascript prototype functionality would be bliss!
     
    Last edited: Sep 29, 2017
    Edmanbosch and Kuro like this.
  12. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    It came out 1 month ago :)

    Right now apart from the layer system, animated tiles, auto tiles... Gamemaker 2 offers the same thing it offered in Studio 1.4...

    What I mean is that if your game does not need tilling then GMS2 doesn't have much to offer.

    GML almost didn't changed apart from regions and literals (but those are not the kind of features that are game changers).

    So the people that came out criticizing the fact "GMS2 being a whole new software and not just an update" and "you have to pay the full price again"... I kinda understand them because essentially the big changes that you paid for when buying the software are yet to come.

    I get that GMS2 new design is awesome and the workspace thing is cool (there are a lot of opposing opinions there) and it is beautiful.
    but that's not what makes a game engine great and neither the reason I gave Yoyo games my money.
    And I guess I'm not the only one thinking like this.
     
    MontyDrake and Kuro like this.
  13. Edmanbosch

    Edmanbosch Member

    Joined:
    Jan 6, 2017
    Posts:
    180
    Didn't they give out more control over the camera system as well?
     
  14. Rukiri

    Rukiri Member

    Joined:
    Sep 25, 2016
    Posts:
    115
    Yes they did, it's a real camera now! At least similar in ways to Unity or Unreal.
     
    Edmanbosch likes this.
  15. hippyman

    hippyman Member

    Joined:
    Jun 20, 2016
    Posts:
    551
    Aside from what was already pointed out, they've completely overhauled the 3D system, changed the way instances work in rooms, added some much more convenient functions for handling variables and instances. There's more that I'm forgetting but this should give you an idea. 2.x IS an entirely different software and once you start using it for a while and try to go back to 1.4 it's kind of a pain.
     
  16. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    GMS 2 has debugger with unbroken watches :)
     
  17. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    I know what feature GMS2 has ;) I already bought it since the day 1 along with the exports! I'm just saying that a lot of the features GMS2 "has" are yet to come!!
    I can see this from two different perspectives:

    1) If in GMS2 things were "redesign from ground up", why not have already variable real-types, or real methods. Why implement something bad to after add it re-redesign it again? If things were kept from GMS1.4 then it is not totally new system ... so:

    2) If only the IDE was redesign and GML stayed much like it was then: the core system, the compiler and the runner didn't really change that much so it is not a new software, just a new IDE and the exporters shouldn't have to be fully bought.

    What I mean is that the big changes were within the IDE and not the runner or GML.. and the runner ones are yet to come...
    The price I paid for GMS2 and all the exports were a leap of faith ... in the future!

    I'm not saying I want a refund... I just ask for some more information...
    More than a list that says all the features in it can be removed without further notice.
    As far as I'm concerned GMS2 was already released, people already bought it.. so if tomorrow YoyoGames says "nothing in the list will be added" they are in their right!!
    And I wouldn't be that happy.

    I wouldn't say: "ohhh they added a lot of features and it is all worth it"... because right now the price is not worth it, not yet! it will be in the future but right now... I don't think so :)

    EDIT::
    The debugger, the regions, the gestures events, the mipmaps... were not even there when the software was released hence the "leap of faith" I was talking about...
     
    Last edited: Oct 2, 2017
  18. XanthorXIII

    XanthorXIII Member

    Joined:
    Jun 20, 2016
    Posts:
    171
    Maybe we'll see an update on Nov 2nd that includes some of those features on the Road Map as a 1 Year update?
     
  19. JackTurbo

    JackTurbo Member

    Joined:
    Oct 19, 2016
    Posts:
    757
    Has there been any details on "Super light objects" yet?

    - like what exactly that means and when they're due?
     
  20. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    I guess it just like objects in c++ and other languages.
     
  21. Rukiri

    Rukiri Member

    Joined:
    Sep 25, 2016
    Posts:
    115
    There would have to be an almost overhaul to GML if they were to "finally" make it object oriented, by lighter objects they could just mean simpler objects as in static only.
     
  22. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    I think they will be like objects but with no events... (no update, no draw, no mouse click,...) just a way to store variables.
    must like an array but instead of accessing:

    Code:
    enum PLAYER
    {
       HP
    }
    
    player[PLAYER.HP] = 100;
    one could simply use:
    Code:
    player.hp = 100;
    this "light" object, would just work as a data holder.
     
  23. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    Yep. "Object" means a custom data type. Currently it can be achieved using ds_maps + "objects" manager.
     
  24. Hyomoto

    Hyomoto Member

    Joined:
    Jul 7, 2016
    Posts:
    1,029
    Last I heard about this, light objects referred to objects without a lot of built in stuff. Right now objects have potential for gravity, and directions, and etc... basically they would be the same as they are now but minus all that stuff. It's aimed at people who largely manage all these systems themselves and get annoyed with certain built-in variables and behaviors. Considering @rwkay and @Mike have said a lot of what won't make it in, I'm seriously doubting they'll be a new data type. However, they will most likely have most, if not all, the same events.
     
  25. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    Roadmap says about new/delete and constructors/destructors. But if lightweight objects means just removing some built-in variables/functionality, then there is no reason to say about new methods, because instance_create/instance_destroy + Create/Destroy events already exists.
     
    Edmanbosch likes this.
  26. Hyomoto

    Hyomoto Member

    Joined:
    Jul 7, 2016
    Posts:
    1,029
    As I said, that was the last I remember hearing about them.
     
  27. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    maybe this has something to do with being able to pass arguments to the constructor and destruct methods!! that right now I think it is a little non sense not being able to, regarding the fact that the gestures events use a ds_map filled with data... i don't see the problem with doing this to other events:

    Code:
    event_data[? 'arguments'];

    I doubt events will still remain there because... the click event is nothing but a peace of hidden code added to a hidden event that runs god-know-where... so if they leave all the events there the bloating code will still be there. But, non the less, an object without the creepy movement stuff (speed... hspeed... vspeed... gravity...) and fully loaded with the possible of events (that are not compiled unless used) sound a good alternative. (though I really wanted them to work more like data holders and be persistent as the ideia behind the reason I'm looking forward to this is to carry data).
     
    Last edited: Oct 5, 2017
  28. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    On the other hand, everyone who used C/C++/C# and many other languages, knows what means new/delete with constructors/destructors :)
    Anyway, I think we will know soon. Maybe in the next year :)
     
  29. xDGameStudios

    xDGameStudios Member

    Joined:
    Sep 15, 2016
    Posts:
    564
    Yeah I do know, just saying that because... YoYo games seams to have problems (changing things too much)

    That's what I'm afraid... next year is not that soon --' ahahahahah
     
  30. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    526
    Is there any chance of a word on the missing functions?
    http://bugs.yoyogames.com/view.php?id=15941
    These are a suggestion marked high-priority, and they are all very important for asset creators. The issue has been assigned for years, now, but....no updates. Now that GMS2 is out and updated, and getting nice and stable, would someone consider revisiting this?
     
  31. gloomytoad

    gloomytoad Member

    Joined:
    Jun 10, 2017
    Posts:
    24
    Any news on if this is being worked on yet?
    • GML: lightweight objects - new and delete + constructors / destructor methods
    I have a lot of ideas that are currently being put off until this is implemented. Very important for experienced developers. No doubt
    that this feature missing has caused people to stray from GM. Get it innnnnn
     
    Dmi7ry likes this.
  32. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,048
    It's not going to happen for a while, I would not hold my breath on that particular one.

    We are very busy here at YoYo Towers...

    Russell
     
  33. gloomytoad

    gloomytoad Member

    Joined:
    Jun 10, 2017
    Posts:
    24
    I understand.
    I understand. I do not aim to be offensive, but sometimes I do feel as feature priority is not where it should be. I am probably wrong, because of course I do not know the architecture of GMS. BUTTTTT.....

    We are missing some basic features such as Code and object refactoring.
    This feature would take a developer a day to implement given the fact that I developed a tool in Java in the time span of two days that performs this task for me.
    I even added a feature that can re-scale your entire game including sprites, collision masks, sprite properties, tiles, and object positions in rooms. (This took 2 hours).

    Lets get the basics done. I know that cross platform features are probably taking priority (speculation), but when the basic things are finished you'll have more developers to create those tools for. I cannot efficienty
    create data types or anything similar for storing things like Graphs, thus I cannot efficiently implement things like platformer path finding without doing some hacky things. I stick with GM because I have used it since
    day one and I love the community and I see so much potential. I understand you are all hard at work, but do this EASY stuff that will take a few weeks of development time and you would see an increase of GM users
    undoubtedly. Also if you guys wanted some passionate help I did send you guys an APP a couple months ago. I knew it was a stretch since I lived so far off, but like I said. Day one Gamemaker user, it's what got me
    into computer science and got me where I am at today. I love GM.

    Regardless, thank you guys for your hard work. GMS2 is a huge upgrade and I am very thankful for it.
     
  34. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,048
    You may not always agree with our priorities, but you do not see the whole landscape from our point of view...

    GML will be getting a lot of upgrades over this generation but each upgrade needs to be evaluated within the landscape of an expanding vista so it can take a lot longer to ensure that each change is complete and has no (or at least little impact) on the grander scheme.

    Plus most of the GML changes are being done on my own time

    Russell
     
    FormalCloud and IndianaBones like this.
  35. gloomytoad

    gloomytoad Member

    Joined:
    Jun 10, 2017
    Posts:
    24
    I understand. I get that it takes time to get to that point. I am just venting frustration that is shared by many that are patiently waiting for features. You also have so many audiences wanting different things; Beginning developers may want things to make it easier. Developers with CS backgrounds and some other experienced developers want to squeeze every bit of performance out of GM that we can. Some developers have fast development to distribution turn around that may want mobile integration perfected.

    So of course I see the selfishness in such requests as there are many other areas to work in. I am just very passionate about Gamemaker. I use Unity as well, but I decide to dedicate my Tutorial Videos to Gamemaker because of my love for the IDE and this community. When these features do arrive I will be one of the first to show people the power of them.
     
  36. XanthorXIII

    XanthorXIII Member

    Joined:
    Jun 20, 2016
    Posts:
    171
    I'd have to find the article but you may find trying to do things from an OOL perspective can hinder performance greatly and also get in the way of building your game. Sometimes you just have to roll with it otherwise you'll never get something done because X Feature is not there. In other words make you suggestion and deal with it for now.
     
  37. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    526
    http://bugs.yoyogames.com/view.php?id=15941

    Just to revisit my post from just before this back-and-forth language features bit happened, is there *any* word about the missing functions?
    That issue has been sitting in the bug tracker, marked high priority, since 2014, and it lists 38 functions which have all been confirmed "missing" by various YYG staff over the past 3 years. It came out of a discussion on the now-defunct forums, and garnered a lot of community support at the time.

    These are all functions where one can "set" an internal GameMaker value, but one cannot "get" the value. These missing functions cause all sorts of issues when creating assets or just well-behaved modular code. Since changes to the values listed in that issue are global in scope, it's important to be able to restore them when making utility scripts.

    In addition, these should be "actually easy." GameMaker already has these values tracked internally and already looks them up somehow for its own purposes, so we're not talking about writing some new behavior here. It's such a simple thing that it's managed to fly under the radar for 3 years now. But this was a community priority and a pretty simple fix; isn't 3 years long enough?

    For the sake of good-will, of not losing track of this tremendously fixable issue, and for those of us hoping to incorporate these functions into well-behaved assets for the community, could someone commit to getting this resolved? (Is Mike Rennie still there?) Most other features are things we can code ourselves with enough effort--this is one that we can't do without you!
     
    ParodyKnaveBob and Pudsy like this.
  38. Mike

    Mike nobody important GMC Elder

    Joined:
    Apr 12, 2016
    Posts:
    2,288
    We have no time frame for these at the moment.
     
  39. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    526
    Thanks for the reply Mike; I'll develop accordingly
     
  40. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,048
    Many of the draw_ related functions in that bug have been given the equivalent "get" version in GMS2, similarly matrix_get and several of those functions exist in GMS2 already

    No plans to bring them to GMS1 (if they have not already)

    Russell
     
  41. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    526
    @rwkay Good point! The list has certainly grown shorter since GMS2. For my own stuff, draw_get_font and draw_get_halign/valign would be more than super-handy--hopefully those are still on the "someday" list.
     
  42. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    Just wrap the commands in your own script, which changes the font / alignment and then sets a global variable which you can query yourself when needed.
     
    Luminous Wizard likes this.
  43. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,356
    @rwkay: I talked to you a year ago saying I might have to Switch engines, and you told me if I stuck with GM until Fall 2017, you thought I'd be very happy.

    It's Fall now, and "other exports" are still listed for q4 this year. Do you feel like you guys are still on track with those other exports?

    Excited for news. Thanks Russell! =)
     
  44. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    Which other exports?

    I can only think of Switch (maybe Pi), and those have been talked about a lot already and neither seem to be happening anytime soon.
     
    RichHopefulComposer likes this.
  45. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,356
    That's why I'm asking, haha. "Other exports" are still listed for this year. I'm hoping the roadmap is accurate. =)
     
    rIKmAN likes this.
  46. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,683
    [​IMG]
     
    Last edited: Oct 9, 2017
    RichHopefulComposer likes this.
  47. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    He told about extesions, where he can't affect on user's code (where may be used draw_set_font, etc).
    Of course, he can write "use my_own_extension_draw_set_font() function", etc. But another extension may require to use own functions, like "another_extension_draw_set_font()". Result is a kind of dependency hell.
     
  48. Dmi7ry

    Dmi7ry Member

    Joined:
    Jun 24, 2016
    Posts:
    478
    It may be software platforms (like Steam), not hardware.
     
  49. Edmanbosch

    Edmanbosch Member

    Joined:
    Jan 6, 2017
    Posts:
    180
    What do you mean by this?
     
  50. Justice

    Justice Member

    Joined:
    May 8, 2017
    Posts:
    412
    Tsa wants to write an extension or marketplace script. His extension/script wants to change or manipulate the font and then return things the way they were. But if the user or another extension has set the font (which is very likely), there's no way to know what that prior font was and reinstate it at the end of Tsa's extension/script.
     
    Edmanbosch likes this.
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