Discussion The Big List of New Things

Discussion in 'GameMaker Studio 2 Community Tech Support' started by Juju, Nov 2, 2016.

Tags:
  1. Juju

    Juju Member

    Joined:
    Jun 20, 2016
    Posts:
    415
    I've binged a fair amount on GMS2. Here's what I've learnt so far:
    Excuse any weird formatting, the forum's being a butt.
    btw follow me @jujuadams kthnx

    1. Go to the Resource Tree, then click on Options and then Main. You can change the default framerate to 60 in there.

    2. Room editor is now layer-based and has a bunch of new features. Each layer can be a different type - instances, background, path, tiles. Lots of exciting possibilities here that I've not been able to fully explore.

    3. Here's a complete list of obsolete functions.

    4. Don't worry! Here's a list of new functions.

    5. Sprite editor has been rebuilt, but is missing some of the old functionality with saturation / hue shifting / alpha manipulation etc. Colour picker is sexy though :3

    6. Backgrounds are gone! Everything's a sprite.

    7. Tilesets are now managed from their own dedicated editor. Autotiling and tile brushes are now supported and configurable.

    8. DnD now has quite a different look. But who uses DnD seriously anyway?

    9. Array literals are now supported var _array = [ 0, 1, 2 ];
    10. variable_instance_get is back (with its friends)! This opens the door for more modular code / extensions.
    11. The ternary operator is now supported: variable = condition ? <expression1 (if true)> : <expression2 (if false)>
    12. Macros can be defined inline, not unlike enums.

    13. Autocomplete for all variables (global + instance + local). Not entirely sure how GMS2 works this out yet and if autocompletion is limited to variables defined in the Create event.
    14. instance_create has been replaced by two functions: instance_create_depth and instance_create_layer. I recommend using the latter as it meshes nicely with the new features in the room editor.

    15. The views functions are gone and have been replaced by "camera" functions... although the room editor still calls them views which is a bit confusing.

    16. Loads of d3d functions have been kicked to one side in preference for gpu_* and matrix_* functions. You can now choose how z-ordering is done on the GPU for some sweet-ass silhouetting effects.

    17. Blend modes, colour writing, and alpha testing have also been moved into the new gpu_* functions.

    18. Anti-aliasing via display_reset() doesn't work for now due to changes during the migration to DX11.

    19. Paths can now be defined inside the room editor.

    20. The IDE is workspace based with most things inside tabs. Middle click to move the workspace around, use the scroll wheel to scroll up and down.

    21. If you're on a laptop, you can also engage "laptop mode" (on the toolbar on the far right) and hold down control / alt to perform middle mouse actions.

    22. Import features are blocked on the public beta. The manual says you'll be able to import .gmx files into GMS2 and have all the legacy functions replaced with suitable GMS2 equivalents (though I suspect they'll be buggy to begin with).

    23. No find-replace in scripts... which is odd. You can do find-replace across the entire project however.

    24. GMS2 doesn't use the ///script_name( arguments ) nomenclature for scripts any more. Instead, it uses JSDoc notation* (the manual says "JavaDoc" but this wrong).

    25. GMS2 uses the "Fast Collision" system developed Spring 2016. It's an order of magnitude faster than GMS1 and has been robustly tested in Nuclear Throne and Hyper Light Drifter. Note: Some behaviour will be slightly different so don't expect things to port exactly from GMS1 (noticeably in instance_place).

    26. All of your sidebars/tabs are draggable and pinnable to any side of the window. The compile form/syntax error/misc output windows are located at the bottom.

    27. A lot more of the IDE's functionality is customiseable. ctrl+shift+P opens the preferences menu - I've got scripts and shaders opening in separate windows.

    28. The old texture page/sound group assignment system has been replaced with an actual proper manager which makes life much, much easier for big projects.

    29. Speaking of texture pages, there are two new functions for performing texture flushes on specific pages rather than everything - sprite_flush and sprite_flush_multi

    30. The font editor is the same, though the detail settings have been swapped out for a single "anti-alias" feature. Should make pixel art fonts a little bit easie to work with.

    31. Timelines are still in. I know precisely one person that uses the feature so ok I guess?

    32. There's a Notes section! It'll be really handy for keeping track of game ideas / thoughts during production.

    33. The object editor (the place where we spend a good third of our time) has been changed to a component-like format... but it's not actually a component system. We don't know if that means it'll be possible to write extensions for the IDE there.

    34. The IDE tracks your project time usage ¯\_(ツ)_/¯

    35. Project structure in the OS's file system is more logical but IDE groups still don't translate to folders on disk. The general file format for config files is now JSON rather than XML.

    36. Scripts and object code is stored in raw text as .gml files which means using an external editor is entirely possible.

    37. Strings are handled differently with richer features. \n is now a newline character, you can use Unicode literals etc. Big improvement for handling non-Latin characters.

    38. Some default particle shapes have changed!

    *JSDoc works like this:
    @description A general description of what the script does.
    @param {datatype} An argument input to the script
    @param {datatype} Another argument input to the script
     
    Last edited: Nov 3, 2016
  2. FocusedBit

    FocusedBit Member

    Joined:
    Oct 15, 2016
    Posts:
    24
    Nice write up. Much appreciated.

    What you've reported in regards to changes in GML appear to be very promising. And the addition of the JavaDoc style commenting/documentation is a nice add imo.
     
  3. NazGhuL

    NazGhuL NazTaiL

    Joined:
    Jun 20, 2016
    Posts:
    537
    Anyone who wants to step into game making slowly.
     
  4. RujiK

    RujiK Member

    Joined:
    Jun 21, 2016
    Posts:
    178
    @Juju
    Do you have the beta? Can you confirm if there are collapsible code blocks now? Also is an internet connection required at all to run GMS2? Any speed increase?
     
  5. Juju

    Juju Member

    Joined:
    Jun 20, 2016
    Posts:
    415
    Yarp.

    The IDE is... completely different. Forget all that you knew. It's all workspace-based so it's much more flexible than GMS1.

    I had to log in at the start, but I'm not sure if this is due to it being a beta.

    Dunno yet. Raw drawing power looks about the same. There's only a Windows VM option at the moment. The fast collision system is a big big step up from GMS1's default setting (but we've had access to that for months in GMS1's EA/beta channel).
     
    RujiK likes this.
  6. RujiK

    RujiK Member

    Joined:
    Jun 21, 2016
    Posts:
    178
    @Juju thanks for the reply, but from the videos on youtube the code windows look about the same.

    So there is no code folding? IE: You can't do this:
    [​IMG]

    Even with a new workspace, I still expect to have some step events with about 2000 lines of code and the code collapse would be nice.
     
  7. Juju

    Juju Member

    Joined:
    Jun 20, 2016
    Posts:
    415
    Oh I see! Apologies, trying to keep track of a dozen things over here.

    It doesn't look like that's a feature right now. Given that find-replace is missing in code blocks, it seems like is an "IDE-first, GML-second" beta. I really hope they implement code folding in the future.
     
    gamible and RujiK like this.
  8. Greg Squire

    Greg Squire Guest

    Very cool stuff! Thanks for the write-up. #24 has me excited as having proper sound management for large project is something I've been hoping for. Think adventure games with LOTS of voice-over sound files.

    Also it would be nice if YoYoGames (or even someone else) put together a "migrating game projects from 1.0 to 2.0 guide". It would make a good blog post for the GameMaker blog. I realize you can't do imports with the beta right now, but eventually this will be needed. I hope it's on YoYoGames' radar.
     
  9. heyimdandan

    heyimdandan Guest

    I've noticed that instance_create(x,y,obj) is gone. Any idea what's replacing it? I use it frequently.
     
    Genetix likes this.
  10. Nallebeorn

    Nallebeorn Member

    Joined:
    Jun 20, 2016
    Posts:
    219
    @RujiK While the code editor sadly doesn't have code folding (yet), I noticed that the code for individual events is now stored as plain-text .gml files in the project directory. So using an external code editor could be an option when editing those huge step events ;)
    instance_create_layer() and instance_create_depth(). You just have to specify the z-position (either with a named layer defined in the room editor, or a numerical depth like in old GM) when creating instances.
     
    heyimdandan and RujiK like this.
  11. heyimdandan

    heyimdandan Guest

    Thank you, that's intriguing, sounds as if this type of command can literally add new depth to games.
     
    Lukan and Nallebeorn like this.
  12. rwkay

    rwkay YoYo Games Staff YYG Staff

    Joined:
    Apr 12, 2016
    Posts:
    1,049
  13. Novithian

    Novithian Member

    Joined:
    Nov 2, 2016
    Posts:
    7
    You no longer set the room_speed individually.

    room_speed documentation:
    "IMPORTANT! This variable is maintained for Legacy Support only, and should not be used as it no longer sets the speed for a single room, but for ALL rooms in the game. To change game speed you should instead be using the function game_set_speed."
     
  14. Matt Yeomans

    Matt Yeomans Member

    Joined:
    Aug 21, 2016
    Posts:
    15
    Is there any way to make it so the scroll wheel zooms WITHOUT having to hold CTRL?
     
    Last edited: Nov 2, 2016
  15. Greg Squire

    Greg Squire Guest

  16. i think you have to login once a month
     
  17. NoobsWeStand

    NoobsWeStand Member

    Joined:
    Jun 20, 2016
    Posts:
    145
    You have to turn off laptop mode (last button in the row of buttons including the play, debug, and clean)
     
  18. kupo15

    kupo15 Member

    Joined:
    Jun 20, 2016
    Posts:
    881
    Something you missed I think might be important (or maybe not?)
    [​IMG]

    How big of a deal is this? From an "include as many users as possible" strategy GMS2 obviously leaves these customers behind compared to GMS1. If you are a making a big game (or any I guess) should developers be caring about these users anymore especially if you are making a game that won't be intensive enough that XP users can run it fine?
     
  19. Llama_Code

    Llama_Code Member

    Joined:
    Jun 29, 2016
    Posts:
    267
    A lot of modern games don't work on XP anyways , anything that requires DX 10 or 11 is a no go for XP.

    XP market share has dropped considerably as well, down to 10% or so, and a lot of that is business that refuse (or cant) update. I would wager not a lot of people that would play your games are still on XP.
     
    kupo15 and Lonewolff like this.
  20. kupo15

    kupo15 Member

    Joined:
    Jun 20, 2016
    Posts:
    881
    Ok cool, so its not a deal breaker at all then. Thanks!
     
    Lonewolff likes this.
  21. gamible

    gamible Guest

    I want visual studio's code editor in GMS2. It's, amazing!
     
  22. zendorf

    zendorf Guest

    Nice list, there is a lot of cool new stuff in there!

    Does globalvar still extist? I am hoping that it does, so that I can port over my existing project and I know there was talk of getting rid of it.

    I use hundreds of instance_create and instance_destroy in my project so I presume that the importer will convert these to the new equivalents?

    Shame that there is no code folding and looks like there is still no vector2 class, which is always a pain...
     
  23. 11clock

    11clock Member

    Joined:
    Jun 25, 2016
    Posts:
    181
    Is It possible to add scripts to objects instead of making them all global? Or a better version of user events that allow renaming them and having them accept arguments?
     
  24. renex

    renex Member

    Joined:
    Jun 23, 2016
    Posts:
    506
    Last time I had to use XP was on a custom arcade machine built out of refurbished office computers. Thinking a bit on it, I could easily have installed a minified Win7 on them instead.

    I know only one person using XP to current date, and that's because they are using an educational laptop manufactured in 2006. Everyone else migrated to 7/10.
     
  25. NPT

    NPT Guest

    Everytime you use an ATM you're probably using Windows XP.

    Microsoft is making a killing off the XP support contracts.
    http://info.rippleshot.com/blog/windows-xp-still-running-95-percent-atms-world
    http://www.theinquirer.net/inquirer...ture-cash-machines-could-run-android-or-linux
     
    renex likes this.
  26. Zeralith

    Zeralith Member

    Joined:
    Nov 2, 2016
    Posts:
    29
    Using Windows XP is a security risk, as it is no longer getting updates from Microsoft.

    The other issue is you can't realistically purchase the operating system anymore. If a new Game Development Studio formed and wanted to make games in GameMaker, Windows XP isn't even a purchasing option for them or anyone.

    Lastly, the internet security industry is making a hard push to get rid of TLS 1.0 (for HTTPS connections) within the next year or so. Payment/Banking sites that need to keep PCI compliant, need to move everything over to TLS 1.1+ soon. Windows XP only has SSL 1.0, SSL 2.0, SSL 3.0, and TLS 1.0 support in it's Schannel implementation. All versions of SSL are already off of the internet due to the POODLE vulnerability.

    If you're on the internet and using Windows XP, it's just a super bad idea, and you should upgrade as soon as possible... and also, Windows Vista is losing support from Microsoft early next year, as well.
     
    kupo15 likes this.
  27. Juju

    Juju Member

    Joined:
    Jun 20, 2016
    Posts:
    415
    Got a quote from Mike here that says it's not currently available in DX11 ¯\_(ツ)_/¯ Might be a pipeline change from DX9. He'll need to give more detail. I'll change the wording in the OP to make that clearer.

    Yep, there are compatibility scripts that are made on import. No idea how reliable they are yet (second beta will catch the bugs? probably?).

    No code folding does make me sad, though array literals (plus enums) make using arrays-as-structs an actual thing. Already updated my quaternion system with it.

    Doesn't look like it, at least not yet? We can but hope.

    True. Also GMS2 adds some new texture flushing features aren't compatible with XP. I get the impression they've had plans to ditch XP support for a while.

    globalvar still exists, much to my annoyance.
     
    Last edited: Nov 3, 2016
  28. RujiK

    RujiK Member

    Joined:
    Jun 21, 2016
    Posts:
    178
    The last steam survey said 1.36% of it's users still have Windows XP. Although it may not sound like much, it's actually the 5th most popular OS on steam.

    XP also has more than twice as many users as all linux users combined, so it may make more financial sense to support XP on GMS1 than to support linux on GMS2.

    Source: http://store.steampowered.com/hwsurvey/
     
  29. renex

    renex Member

    Joined:
    Jun 23, 2016
    Posts:
    506
    Oh yeah, I forgot about that. But my friend can confirm lol.

    5581_574828932602468_166333446_n.jpg

    On the note of DX11, I'd imagine it would allow for native mipmaps, no?

    I really like the new "create at depth" just because of how well that translates into 3D. Since I just use depth as z, it works great for me.
     
  30. Matt Yeomans

    Matt Yeomans Member

    Joined:
    Aug 21, 2016
    Posts:
    15

    Laptop mode is definitely off. That mode makes it so that when you hold CTRL and simply move your mouse, you zoom. But the new default way to zoom is to hold CTRL and scroll the mouse wheel, whereas in version 1.4, to zoom, you don't have to hold anything.

    GameMaker 2 inhibits my workflow process because of this.
     
    NoobsWeStand likes this.
  31. NoobsWeStand

    NoobsWeStand Member

    Joined:
    Jun 20, 2016
    Posts:
    145
    Yeah, I have been having problems with laptop mode as well. It is just hard for me to control, and virtually forces me to use a mouse
     
  32. renex

    renex Member

    Joined:
    Jun 23, 2016
    Posts:
    506
    I should also note that I have a broken mouse wheel, and it makes GMS2 literally unusable. Studio not so much because occasional random scrolling doesn't bother as much.

    I really need a new mouse.
     

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