Question - IDE GMS 2 annoyances and suggestions

Discussion in 'GameMaker Studio 2 Community Tech Support' started by COWCAT, Aug 15, 2019.

  1. COWCAT

    COWCAT Member

    Joined:
    Jul 26, 2016
    Posts:
    60
    Even though I've been using GMS 2.0 for a while (for Nintendo Switch ports especially), I've only recently fully switched to it.

    While there are many aspects I love (tabs and bookmarks for scripts <3, CTRL+T to search on resource names...), there's also some inconvenient stuff.

    - The sprite origin indicator is WAY too small. I guess most people must work on pixel art games as it's a decent size for lower res, but with high res graphics I strain my eyes trying to find where it could be located. Why isn't this indicator sized relatively to the picture dimension?

    GMS2_sprite.jpg
    Seriously, where IS the sprite origin here?!

    Now compare to GMS 1.4 :
    GMS1_sprite.jpg
    It was way more noticeable in GMS 1 (though could be improved)

    - I've already said it prior but... Why don't sprites, font etc open in tabs like the scripts?
    Having to scroll up and down is very cumbersome - and where's the scrolling bar? Why don't page up/page down or arrow keys work?

    The only way to scroll seems to be with mouse wheel scroll / wheel button and that makes it unusable. I can't remember any software doing that kind of thing.
    So I prefer opening them directly from resources tree or CTRL+T which makes the whole thing pointless. (yes I know there's right click context menu but it requires too much clicks and precise mouse movements to make it worthwhile)

    If you're going to open windows instead of tabs, at least open them one onto another on the same screen like it did in GMS 1 and like most software. Don't put each new one waaaaay below the first one making it difficult to navigate from one to another...

    Or even better, just open one sprite at a time (maximized) and close the previous one. We're not going to work on several at the same time anyway. Just make navigation easier.

    This is the weirdest aspect of the UI of GMS 2.0 to me.

    - Why can't I at least maximize the sprite window? All this wasted space around... I can resize it but it has to be done everytime I open a new sprite. Could it be possible to implement double click on a window to maximize? This is a serious step back from GMS 1 which had that maximize button.

    - How do I import a single picture into a sprite frame? It seems the "Import" button erases ALL frames in the animation so the only way is to have all the sprite file s available in one directory to (re)import them all... but sometimes it's not the case. So I have to re-export all frames from my base files. This isn't convenient. GMS 1.4 did not have this annoying behavior, you could import a single file. Or did I miss something?

    - Reorder texture groups. OK, this wasn't a possibility in GMS 1.4 either and it's probably minor to most people but I have about 50 texture groups (I'm making a huge adventure game) and I've created them progressively. Now it's a mess and I can't sort them alphabetically to make choosing them easier. Don't say it's not possible - because it ALREADY does a full reorder/reassigning when you delete a group! (I've checked and the indices get changed everywhere) Well, even without changing indices I believe *displaying* them in alphabetical order shouldn't be too difficult?

    - Scripts : when doing CTRL+F a small box appears in the corner. Is there any "next/previous" keyboard shortcuts? If not, it'd be great to at least use ENTER to go to the next entry. And why can't we do CTRL + F again to close it, or via another shortcut? Requiring to click on a tiny cross or the buttons all the time is cumbersome. I'd prefer being able to do everything with the keyboard only.

    - I cannot use PIX anymore. (a very convenient tool to check how much VRAM a game actually use and which textures are loaded)
    I'm guessing it's due to DirectX11. I've tried to download a newer version and... It won't work because apparently, PIX only supports 64 bits processes now...

    So I figured, let's use the debugger! After all, it's supposed to display the surfaces and textures. Right?...
    Wrong. I put the game in "pause" and this is what I get.

    textures.jpg
    The graphics tab is "empty", both textures and surfaces. There's only a list - no size, no thumbnail. Am I missing something?... Tested with several projects, all the same.

    To be totally fair it has always been wonky in GMS 1.4 too, it never was clear which textures were actually loaded in VRAM and most surfaces didn't display. But at least it worked a little...

    Let me know if you have suggestions on those things that could make my life easier :)
     
  2. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,317
    A lot of your other gripes have been discussed at length previously so I won't go into them, but for using the debugger to view textures and surfaces you need to hit pause in the debugger, or activate a breakpoint in your code with the debugger running - putting your game into "pause mode" yourself within the game itself won't work

    After you do that, the circular "refresh" arrows on the bottom right of the "Surfaces and Textures" panel will become active and you can click this to generate the images for the option you have selected in the dropdown in that same panel.
     
    EvanSki likes this.
  3. COWCAT

    COWCAT Member

    Joined:
    Jul 26, 2016
    Posts:
    60
    I didn't pause within the game. I paused with the debugger icon or breakpoints.
    Alright, so I really didn't see that refresh icon and now it seems to work. Thanks.

    Hmm from what can see, I'm guessing the textures displayed are : all possible textures pages generated from sprites (whether they're currently used or not - a shame we can't know that) + textures created via sprite_add() and currently in memory. Am I right? It's a shame we can't distinguish them.

    Oh and by the way, any keyboard shortcut for pausing the debugger? There's one for resuming (F5) but I can't see which one "breaks".

    EDIT : Oops, tried to refresh a second time, noticed thumbnails weren't updated and then this :
    texturescrash.jpg

    :p
     
    Last edited: Aug 15, 2019
  4. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,317
    Your screenshot shows the Play button disabled and the Pause button active, which indicates that it isn't paused in your screenshot - also the wording was a bit ambiguous so just wanted to make sure.
    It shows surfaces currently in use, not sure on textures as it's not something I've had to deal with myself as I don't use a large amount of them so it has never been an issue for me personally having them all shown.

    Hopefully the 64bit runner will get a public release soon so you can start using PIX again, I'm waiting for it myself so I can start using some 64bit only DLLs. The runner already is / supports 64bit, it just isn't public yet for whatever reason.
    All keyboard shortcuts for the IDE can be found here (expand the Debugger section) but there is none listed for pausing, just resuming as you said.
    Maybe file it as a suggestion, seems like it would be useful.
    Without researching the exact code and going from memory on the "CreateTexture2D" error, that might be related to a 0x0 sized texture or surface.
    Make sure you are checking whether a surface exists before using it and that any variables used to define the sizes of them are correctly set.
     
  5. COWCAT

    COWCAT Member

    Joined:
    Jul 26, 2016
    Posts:
    60
    Ah I had no idea a 64 bit runner was in the works. My game doesn't really need it (it reaches 1 GB at most) but that could be nice for a few things.
    I wonder if they'll offer the choice (there isn't for Mac and Linux, they're 64 bit automatically)

    I did check the shortcuts and noticed there wasn't one. I'll probably file a suggestion with all other shortcuts I feel are missing.

    Well that error popped up after I refreshed 2 or 3 times with the game already paused so I'm not sure it's my code but we'll see.
     
  6. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,317
    The Windows runner has always supported 64bit, but the included version is only 32bit for.....reasons.
    Hopefully after the Q4 update they will look at including an option for using the 64buit runner for those who are waiting for it, even if it involves a few workaround steps similar to the guide they released for creating Android .aab package files before it gets "officially" included.
    You may also have found a bug but that error message rang a bell and I think it was releated to 0 size surfaces. Search for forum / Google for that error and see what pops up but I've definitely seen it before.

    Maybe test the same actions out on a few different projects and see if it is reproducable, if not then it points to an issue in that specific project.
     
  7. Nocturne

    Nocturne Friendly Tyrant Forum Staff Admin

    Joined:
    Apr 13, 2016
    Posts:
    6,775
    I agree 100% with each of these and would suggest that you file bug reports for all of them, especially the sprite origin issue and the CTRL+F open but not close issue.
     
    DBenji and breakmt like this.
  8. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,360
    People have been calling out how stupid the whole workspace and chained workflow was ever since the beta.
    But YYG maintained they got "good feedback" and chose to keep it.
    I'm afraid this won't ever change.
    You should check out render doc.
    It's open source, works with almost everything and is way more fully featured than pix.
    It doesn't do real time perf but to inspect a frame it's great.
    You could also check out Nvidia Nsight, but I do find render doc to be better.
     
    Toque likes this.
  9. JeffJ

    JeffJ Member

    Joined:
    Jun 20, 2016
    Posts:
    322
    Oh dear God, I really, really hope so. As long as the entire foundation of the IDE is as horrible as it is, I will never enjoy working in it. I've hated it since day one, and several years later, I still hate it.
    Not only the lack of basic features (which to this day are still missing), but everything about the entire workspace is just the worst. The fact that everything is chained, the fact that everything takes up waaay more space than it needs to, the fact that everything keeps reorganizing itself when you really don't need or want it to... GMS2, IDE-wise, really was one step forward and ten steps back.

    Getting rid of workspaces and chains would go a long way to redeeming it.
    Then, of course, there are still all the missing basic IDE features. Honestly at this point I've given up hope that they will ever come back.

    EDIT:
    Funny enough, I remember watching a stream Mike did of GMS2 way back when it was called Zeus (before closed beta). The chat was open to questions. One of mine was if we could unchain stuff (like, close main object window without closing events list) - it was never answered, even when one of the mods reiterated it directly to Mike. I wonder why.
     
    DBenji likes this.
  10. Toque

    Toque Member

    Joined:
    May 25, 2017
    Posts:
    940
    These suggestions seem reasonable.

    I find companies generally don’t make these kind of improvements. It’s costs money. It works as is. People don’t leave or refuse to buy the product because of them. They don’t want to change the docs and education resources.


    But enhancing software work flow and user productivity makes users passionate about the product. Passionate Users are one of the best salespeople GM has.
     
    Last edited: Aug 15, 2019
    DBenji likes this.
  11. EvanSki

    EvanSki King of Raccoons

    Joined:
    Apr 17, 2018
    Posts:
    533
    I miss the gradient and blur options in the sprite editor from gms1

    but I also hate how every window I open is locked in a grid and moves by itself if i want it somewhere
     
  12. Toque

    Toque Member

    Joined:
    May 25, 2017
    Posts:
    940
    That’s quite the endorsement.

    Do most users feel this way????

    I would hope you would strive to make software people love to use.


    I wish I could drag a png into a room and have it automatically create the sprite and object for me.
     
    Last edited: Aug 15, 2019
    Kezarus likes this.
  13. JeffJ

    JeffJ Member

    Joined:
    Jun 20, 2016
    Posts:
    322
    I can only speak for myself, but my impression is that most people aren't too fond of the workspaces. Most people seem to agree that the room editor is vastly better (and to a certain extent, I agree on this too - but even here I can find several things that the GMS1 room editor did better). I don't think I've ever seen a single person praise the chained behavior (and I don´t see why anyone would). My biggest gripe though, remains with the fact that the IDE is missing so many basic features, all of which were present in GMS1, and these things have been reported and acknowledged for literal years now, and still not even on the roadmap. It was bad enough that they were missed in the first place, but the fact that years have gone by and they're still ignored is beyond me.
     
    DBenji and Kezarus like this.
  14. FrostyCat

    FrostyCat Member

    Joined:
    Jun 26, 2016
    Posts:
    4,319
    To be fair, this is what I see among users.

    Most users who only or often use sub-HD screens on a laptop dislike workspaces because the panning is a nuisance. In addition, limited screen size almost guarantees the need to scroll even with a single window. And virtually all users agree that the window links are a waste of screen real estate.

    Among users who do like workspaces, many have large secondary monitors (i.e. the use case that Mike wrongly assumed was universal), and even then a good number of them rely on Ctrl+T for navigation instead of panning.

    I think a problem with most of the suggestions so far is that they're overhauls of workspaces. Many of you are asking them to take 10 steps forward to make up for the 10 they took backwards. If instead we ask for smaller adjustments to target specific pain points, they may be more likely to be implemented.

    Here are some that I can think of:
    • Ability to open every new "work window" in its own workspace (placeholder until they implement full-tab interfaces, if ever)
    • Ensuring that each window type is wholly visible in 1024x768 by default (or some other minimal resolution)
    • Ability to add events within the tab that opens when "Open object events in a full screen editor" is on
    • Ability to open object properties from the Ctrl+T navigator when "Open object events in a full screen editor" is on
    • Ability to select objects by typing in the room editor (with autocomplete like in Ctrl+T)
    If they can just get the small adjustments like the above in, then I can live with the result until they get another chance to overhaul in the GMS 3 timeframe.

    While getting what we want could very well be a GMS 3 thing, getting to an acceptable compromise based on workspaces can and should be a GMS 2 thing.
     
    Kezarus likes this.
  15. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    548
    What's wrong with the chains? I can see everything!

    [​IMG]

    Yea, the concept that I ...with this monitor... still have to horizontally scroll to view enough of this horizontally-designed interface miiiight be an issue.

    So, honestly, I kind of like how I can "dive deeper" by travelling along the chain. Really! There's something nice about structuring the nav around the way you trace rather than arbitrarily stacked windows. But the real estate required....There could definitely just be a tree diagram attached to the side of the first code window that shows me a list of all the scripts I've hierarchically opened. Click a script name, see the script. Click a "new window for this" button, pop it in another code pane. Click the X, remove it from the tree. Or something.

    For me, the vertical moves are almost incomprehensible. Even with this much stretch space, I've still got to pan up and down helplessly searching for wherever one of these chains has been left behind.

    I wonder, everyone... what if the Workspace Overview window (ctrl+Tab) was able to be kept open at all times? Would that get us something, without YYG having to rewrite the entire thing?
     
  16. Toque

    Toque Member

    Joined:
    May 25, 2017
    Posts:
    940
    That’s a crazy set up. Wow.

    I’m getting one of those first thing ...... when divorced.
     
    EvanSki and Tsa05 like this.
  17. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,144
    I have an 'Ultra-wide'. But you'd have to cut that thing in half to make it look like mine.

    Geez, what do they even call that? 'Strenuously Ultra-wide'? :D
     
    Toque and Tsa05 like this.
  18. COWCAT

    COWCAT Member

    Joined:
    Jul 26, 2016
    Posts:
    60
    Woah, didn't think this topic would get so "popular"!

    Thanks for the "Render Doc" suggestion, I'll check it out! :)
    It's not so much the "chained" aspect that annoys me (sprites aren't chained, objects are but I rarely have to mess with objects because I don't use so many and all my code is inside scripts) but it's a similar problem - they take too much space, whether it's horizontally or vertically.
    I don't know anything about coding an interface but opening everything in tabs probably wouldn't be so difficult, considering it can already be done with scripts? (BTW Tsa05 I don't have this kind of situation myself, maybe because I activated "Open scripts in full screen editor" and "Open event scripts as tabs" in the settings?)

    Certain things like the sprite origin doesn't seem hard to change either.

    I don't use the room editor :p (for my own adventure games) I had to use it for the console ports of other games though and when I did, I was totally lost, not even finding how to put one instance in the room lol I thought the GMS 1.4 rooms seemed easier but that's fine, next time I need it I'll read the doc.

    I'll add this to the annoyances :

    - Opening an included file opens a window which only purpose is to restrict the platforms to export. Honestly I think few people use that and in any case, it'd be much easier to select files and do a right click to assign platforms, rather than file by file... The default action when opening an included file should be "opening with external" (useful when we want to check how a picture looks like or editing a text file) GMS 1.4 behaved like this when double clicking and it made more sense. At least this could be an option in the settings.

    To be honest even though these UI issues annoy me, GMS 2 still seems a bit easier to use than GMS 1.4 overall (I do like the improvements on the coding parts) and I'm personally glad they put the focus on making sure the engines run without bugs and with so many exports. The end user experience is the most important. I do remember the GMS 1.0 to 1.4 versions being quite bugged but so far I haven't encountered anything.

    I'm also really glad of the console exports (yes I know few people use them but I'm one of them and consoles are literally what keeps me in business!)

    I'll file some suggestions ASAP.
     
    Last edited: Aug 16, 2019 at 10:49 AM
  19. Dan

    Dan YoYo Games Staff YYG Staff

    Joined:
    Apr 15, 2016
    Posts:
    283
    "The neck-breaker edition"


    You can use Ctrl+Alt+Arrows to navigate chains also - you don't have to use the mouse. I would also recommend the use of the Recent Windows panel in order to find your windows when lots of things are open. Similarly, you can also right-click some blank space in the workspace to open a menu of all your open windows and jump to the one you want straight away

    You can toggle the Preference to allow workspace chains to overlap, then the IDE won't reshuffle them or take up so much vertical space and the chains will then behave more like GMS1. There are also preferences which allow you to reduce the chain width so that it won't take up as much horizontal space (although this won't free up that much space, tbh).

    https://bugs.yoyogames.com/view.php?id=31270 is a bug now in for the sprite origin crosshair needs to be scaled better. For your other suggestions, please continue with Mark's advice to send us a ticket for them.


    Whilst I can already guess at least some of these and you may have said elsewhere already (as you have made this comment a number of times in the past), can you give me an explicit list of every one of the missing features you want us to re-add, and I will get these discussed as whether we re-implement / tell you exactly why we're not doing it. Please send this in as a Helpdesk ticket or make a new thread on here, rather than us divert this thread ;)
     
    Last edited: Aug 16, 2019 at 11:27 AM
    Lonewolff, JeffJ, Nocturne and 2 others like this.
  20. IceExplosive

    IceExplosive Member

    Joined:
    Aug 10, 2016
    Posts:
    31
    Eh... I've stopped using GM:S a half year ago because of how coblesome it is to edit multiple objects/scripts at once in current workspace (and that it doesn't run on Linux) and now, getting back to game dev I was thinking that maybe something has changed and I can use it again... well bad luck I guess. :(

    Nice to know, but it still opens new windows bellow the current one so you have to move it yourself to actually overlap which is waste of time and interrupts productivity.

    Another thing that annoyed me a lot was, that in default chained view if I open some object's event window and then script it's aligned the the object not it's event with actual code so I had to scroll left-right or move the script window and ofc then should I open another object it gets aligned under that moved script window and it's event window is way to the right... not sure if you understand me, hope so. ... It there any way to set so object aligns to objects and scripts to other scripts or event's so windows with actual code gets aligned?

    Also trying it now, if I set-up to open code window in a full-screen mode it gets messy as events from different objects are with the same name... name of the event. Is it possible to for example open one workspace per object (and name it so instead of just 'code')... or even better to show all events as a single file? :)
    -> that would be actually a great addition to allow load up all events in a single window (like functions within one class)

    +1 wish for a GM:S 3 with proper code editor. :)
     
    Last edited: Aug 18, 2019 at 5:23 PM
  21. JeffJ

    JeffJ Member

    Joined:
    Jun 20, 2016
    Posts:
    322
    Filed a ticket with a list - ticket ID #161399.

    EDIT:
    Also made a thread so that the community may participate:
    https://forum.yoyogames.com/index.php?threads/things-missing-from-gms1.66687/
     
    Last edited: Aug 22, 2019 at 12:08 PM
    Lonewolff likes this.
  22. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,144
    If you have Visual Studio installed, you can 'File Open' the exe directly from that.

    That will open the game in the Visual Studio Graphical Analyser, which is the successor for PIX and is extremely powerful. I live by it.
     

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