Editor x,y coordinate discussion -- (was: "very disappointing...")

dgackeydgackey Austin, TXInactive, PRO, Chef Emeritus Posts: 699
This discussion was created from comments split from: Very disappointing game design experience!.

Dan Magaha · COO · GameSalad, Inc · danm@gamesalad.com

«134567

Comments

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    @GeorgeGS said:
    For those keeping score it took about an hour of clock time and about 2 man hours from 3 programmers to change it on both Mac and Windows. There really are no 5 minute fixes.

    awesome! Next on the list is to change the X and Y positions from reals to integers. I can't think of any reason people would want decimal places when positioning actors.

    :)

  • jamie_cjamie_c ImagineLabs.rocks Member, PRO Posts: 5,772
    edited July 2015

    @jonmulcahy, said... Next on the list is to change the X and Y positions from reals to integers. I can't think of any reason people would want decimal places when positioning actors.

    Agree 100%, the first thing I do on EVERY actor I place on screen its update is X and Y to eliminate the decimal. It's just a tiny thing but repeated over and over literally hundreds of times it really adds up!

  • GeorgeGSGeorgeGS Member, PRO Posts: 478

    @jonmulcahy said:
    awesome! Next on the list is to change the X and Y positions from reals to integers. I can't think of any reason people would want decimal places when positioning actors.

    Changing from real to integer is a big change and unlikely to happen in the short term, but rounding the coordinates when you drag actors and images into the scene seems like it would get you most of the way there.

    I hooked this up on Windows last night but there were a couple of cases I wasn't sure about.

    If you have an actor in the scene with a fractional position and you drag it around in the scene or use the arrow keys to nudge it should the coordinates be rounded then? I didn't round those since I figured if you had manually added the fraction that you probably wanted to keep it. I can't think of a good reason to have the fraction either so I'm in favor of always rounding, but I didn't want to take away functionality without talking to some folks.

  • ArmellineArmelline Member, PRO Posts: 5,368

    @jonmulcahy said:
    awesome! Next on the list is to change the X and Y positions from reals to integers. I can't think of any reason people would want decimal places when positioning actors.

    I disagree. Please leave these as reals. I've more than once needed to use a .5 when positioning actors.

    The solution to make both of us happy is to have actors snap to the nearest whole number on the X and Y when placed on a scene.

  • ArmellineArmelline Member, PRO Posts: 5,368

    @GeorgeGS said:
    If you have an actor in the scene with a fractional position and you drag it around in the scene or use the arrow keys to nudge it should the coordinates be rounded then?

    If it was rounded when you placed it on the scene and you manually changed it, those changes should be respected when you nudge.

    There's no good reason to have .5s and things, but I often get sent projects where someone has done that and doesn't want to pay me to change it in x number of actors and auto-rounding might break careful alignments. So I'm not in favour of always rounding.

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    @Armelline said:
    The solution to make both of us happy is to have actors snap to the nearest whole number on the X and Y when placed on a scene.

    I'm very curious, why did you have to use the .5 pixel?

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    @Armelline said:
    There's no good reason to have .5s and things, but I often get sent projects where someone has done that and doesn't want to pay me to change it in x number of actors and auto-rounding might break careful alignments. So I'm not in favour of always rounding.

    that makes sense

  • ChunkypixelsChunkypixels Member Posts: 1,114

    @GeorgeGS ...you cheeky monkey... Sounds like you were playing with a snap to grid function or a variation of it :)

    But yup... Placing actors on whole numbers is one of those seemingly minor fixes, but which has a huge impact on productivity... So carry on with your tinkering :)

    I think this thread has highlighted a bit of a disconnect that might have arisen between the developers building GS and them not actually using it to actually create games... Thus not really understanding how clunky parts of the interface are when used on a daily basis. I'm just glad we've all had the opportunity to discuss this... and that GeorgeGS and the team has started to look into and play with some of the issues brought up.

  • ArmellineArmelline Member, PRO Posts: 5,368

    I'm really, really encouraged that the GS staff seem to be understanding now what a huge different some of these tiny changes make, even if they're not top of feature request lists.

    Not only do they save us a ton of time (I've probably spent 100 hours in the last couple of years putting actors onto whole number X/Y co-ordinates) but they make the software seem more polished and professional to new users!

    Here's hoping @GeorgeGS's work makes it into the Mac version too!

  • RThurmanRThurman Member, Sous Chef, PRO Posts: 2,880

    @GeorgeGS said:
    Changing from real to integer is a big change and unlikely to happen in the short term, but rounding the coordinates when you drag actors and images into the scene seems like it would get you most of the way there.

    I hooked this up on Windows last night but there were a couple of cases I wasn't sure about.

    If you have an actor in the scene with a fractional position and you drag it around in the scene or use the arrow keys to nudge it should the coordinates be rounded then? I didn't round those since I figured if you had manually added the fraction that you probably wanted to keep it. I can't think of a good reason to have the fraction either so I'm in favor of always rounding, but I didn't want to take away functionality without talking to some folks.

    When it comes to placing actors on the stage, my recommendation would be to use the standards that Adobe has established for placing objects on the artboard -- like in illustrator. (They have years of usability testing behind them.)

    In this specific case, users expect that dragging an actor onto the scene will result in it being placed on a specific x,y coordinate. (Whole numbers. No decimals.)

    When a user wants to have an actor placed on fractions of a pixel, they are expected to enter it manually. (They type it in to its properties.)

    When an actor is dragged around the scene (with the mouse), it retains the fractional portion. That is, if its x coordinate starts at 300 and it is moved (with the mouse) 100 pixels to the left, its new x coordinate is 200. However if its original x coordinate is 300.25 and it is moved (with the mouse) 100 pixels to the left, its new x coordinate is 200.25.

    When an actor is nudged with the arrow keys, it retains the fractional portion. That is, if its original x coordinate is 300 and it is nudged to the left (with the left arrow key) then its new x coordinate is 299. However if its original x coordinate is 300.25 and it is nudged to the left (with the left arrow key) then its new x coordinate is 299.25.

    For the best user experience, do what interface guidelines say to do.

  • MentalDonkeyGamesMentalDonkeyGames Member Posts: 1,276

    I agree with @RThurman
    That's exactly how it should be done.

    Mental Donkey Games
    Website - Facebook - Twitter

  • pHghostpHghost London, UKMember Posts: 2,342

    @Wyrmfire said:
    As soon as the name was mentioned, she groaned "Oh, that horrible software! We HAD to use that at school! It's so basic that you can't really do anything you want in it, RPGMaker is SOO much better and that was that crappy old interface you bought me years ago!"

    I think GS needs some defense here. Your daughter has a view that doesn't reflect reality. Yes, there were times when GS was like that. When I started using it years ago, at the very beginning of its existence, I abandoned it nearly immediately, as I felt it was an immature piece of code.

    But a lot has changed since then and it still is evolving (and hopefully much more in the coming months, due to the internal restructuring).

    You can make platformers in it, simple flappy games, word and puzzle games, adventure games, RPGs, non-game apps (my most downloaded app is a tabata exercise timer), the list goes on. For a quick sample of good games made in GS, check out the Game of the Month winners. Granted, some of the games are only simple games with professional execution, but you will also find a lot of complex games.

    Yes, there are lots of problems, and I have a lot of projects stuck due to either missing features or bugs. That remains true. But your daughter's observation does GS absolutely no justice.

  • pHghostpHghost London, UKMember Posts: 2,342

    @Armelline said:
    There's no good reason to have .5s and things

    Actually, 0.5s are quite important. I use them regularly. The reason is the way GS works with retina devices. Currently, 0.5 in GS is 1 pixel on most devices. So a 1 in GS would be 2 pixels on device, which could result in jerky movement in interpolate and not enough precision.

    @GeorgeGS how about when you dragging around, either restricting it to .5 and .0 positions, or if that is too much, at least limiting (rounding?) the positions to just one decimal number?

    @jonmulcahy

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408
    edited July 2015

    @pHghost said:
    jonmulcahy

    @RThurman's had a good idea to handle this. always round when dragging the actor in. However if the user manually adds a decimal to the position, further dragging / nudging would retain that fraction.

  • AlchimiaStudiosAlchimiaStudios Member Posts: 1,069

    @RThurman said:

    Yeah what he said!

    Follow us: Twitter - Website

  • pHghostpHghost London, UKMember Posts: 2,342

    @jonmulcahy said:
    @RThurman's had a good idea to handle this.

    Yup, agreed!

  • GeorgeGSGeorgeGS Member, PRO Posts: 478

    In the next build for both Mac and Windows the positions will round to a whole number when you drag/paste an actor/image to the scene, when you drag actors around in the scene, and when you resize actors by dragging. The width and height when changing the size also round to a whole number.

    Using the keyboard to nudge items will not round, it just changes the existing value by 1 or 10.

    Try it, and if you all hate something about it we can take another look, but hopefully this will be better. :)

  • pHghostpHghost London, UKMember Posts: 2,342
    edited July 2015

    @GeorgeGS

    Thanks, amazing! Hope it arrives soon!

  • tmanntmann Member Posts: 278
    edited July 2015

    @pHghost said:
    @GeorgeGS

    Thanks, amazing! Hope it arrives soon!

    2nded & Absolutely brilliant :)

  • ForumNinjaForumNinja Key Master, Head Chef, Member, PRO Posts: 554
  • birdboybirdboy Member Posts: 284

    @GeorgeGS said:
    In the next build for both Mac and Windows the positions will round to a whole number when you drag/paste an actor/image to the scene, when you drag actors around in the scene, and when you resize actors by dragging. The width and height when changing the size also round to a whole number.

    Using the keyboard to nudge items will not round, it just changes the existing value by 1 or 10.

    Try it, and if you all hate something about it we can take another look, but hopefully this will be better. :)

    :')

  • SocksSocks London, UK.Member Posts: 12,822

    @jonmulcahy said:
    awesome! Next on the list is to change the X and Y positions from reals to integers. I can't think of any reason people would want decimal places when positioning actors.

    +1.93221 !!

  • SocksSocks London, UK.Member Posts: 12,822
    edited July 2015

    @GeorgeGS said:
    Changing from real to integer is a big change and unlikely to happen in the short term, but rounding the coordinates when you drag actors and images into the scene seems like it would get you most of the way there.

    It would get us all the way there !!! Just simply rounding the coordinates would remove a lot of needlessly repetitive work, as others have pointed out having to manually correct every actor, for each coordinate, on every project, week after week, month after month, really does add up - I'd simply be happy with rounding.

    These kinds of changes, the default text colour, having to make two corrections for every actor you place in a scene, are the stuff of dreams ! Your interest in this stuff is genuinely appriciated ! :smile:

  • SocksSocks London, UK.Member Posts: 12,822

    @Armelline said:
    I disagree. Please leave these as reals. I've more than once needed to use a .5 when positioning actors.

    Agreed, keep the X and Y real ! Just round it to the nearest whole number.

  • IceboxIcebox Member Posts: 1,485

    change the X and Y positions from reals to integers.

    I don't understand , wouldn't that effect constraining 2 actors position x and y ? if it was integer instead of real ? cause I remember that position should be real to get the exact decimal place , or else it would jump to a whole number ( integer ). Can someone explain please ? I don't think I understand .

  • SocksSocks London, UK.Member Posts: 12,822

    @jonmulcahy said:
    There really isn't a use case where someone would want an actor on some fraction of a pixel, if anything it just leads to image blurring.

    If an actor has an odd pixel dimension positioning it on a sub-pixel position (specifically +-0.5) will return it to optimal image fidelity.

    There are also situations where you might want an actor very slowly creeping in one direction or growing in size, where you specifically need it to move from one pixel to another in a matter of degrees (sharing the values of the image pixel between two screen pixels), I've actually got a game that does just this, I can think of many other situations where sub-pixel positions are pretty essential to ensure smooth movement.

    It would be a move backwards to remove functionality from GameSalad.

    @jonmulcahy said:
    If you place an actor or drag an actor around it should always be rounded to the nearest whole pixel.

    I'd be much happier with a simple rounding of the coordinates when placing an actor.

    @jonmulcahy said:
    if you nudge an actor, maybe just adjust the current value by 10

    That would be a disaster ! Shift already does this, but why would we want to limit movement to steps of 10 pixels !? For this to be viable we would need to be able to place actors into a scene with pixel perfect accuracy !?

  • RossmanBrothersGamesRossmanBrothersGames Member Posts: 659

    @GeorgeGS said:
    In the next build for both Mac and Windows the positions will round to a whole number when you drag/paste an actor/image to the scene, when you drag actors around in the scene, and when you resize actors by dragging. The width and height when changing the size also round to a whole number.

    Using the keyboard to nudge items will not round, it just changes the existing value by 1 or 10.

    Try it, and if you all hate something about it we can take another look, but hopefully this will be better. :)

    YES! Will make things insanely faster. To bad that I am finished with level design in my current game. But this will be huge for designing levels in future games.

    Seriously this saves tons of hours work.

  • SocksSocks London, UK.Member Posts: 12,822

    @Chunkypixels said:
    But yup... Placing actors on whole numbers is one of those seemingly minor fixes, but which has a huge impact on productivity... So carry on with your tinkering :)

    Absolutely ! These are the kinds of things I've been longing for, for as long as I've been using GameSalad, not the headline grabbing features, just the little UI/UX idiosyncrasies that if cleared up would have an enormous impact on how GameSalad feels to use.

  • SocksSocks London, UK.Member Posts: 12,822

    @Armelline said:
    I'm really, really encouraged that the GS staff seem to be understanding now what a huge different some of these tiny changes make, even if they're not top of feature request lists.

    And to be honest, with feature request lists, who, when asked "what feature do you most want in the world" is going to say 'I wish the Layers window would not reset every time you switch focus', they are more likely to list something like joints or custom fonts.

    @Armelline said:
    Not only do they save us a ton of time (I've probably spent 100 hours in the last couple of years putting actors onto whole number X/Y co-ordinates) but they make the software seem more polished and professional to new users!

    Yep, once you've dragged 240 actors into a scene and then had to open each of those 240 actors and make 480 numerical entries you soon realise that something as prosaic as being able to drag an actor onto a whole number location is worth 10 headline grabbing features.

  • IceboxIcebox Member Posts: 1,485

    i have an actor constraining position to game real attribute x and y ,and another actor constrained to these real attributes, if this would happen then i would have to change the game level attribute to integer right ? and then it will affect the motion and precision, am i wrong here ? how is this good ? why is this considered a fix , i am new in game making , but when i looked into all coding engines they all use float ( decimal ) instead of integer when it comes to position. How is this considered a fix ? am I missing something? :/

Sign In or Register to comment.