Editor x,y coordinate discussion -- (was: "very disappointing...")
dgackey
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
Comments
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.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
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!
http://jamie-cross.net/posts/ ✮ Udemy: Introduction to Mobile Games Development ✮ Learn Mobile Game Development in One Day Using Gamesalad ✮ My Patreon Page
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.
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.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
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.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
I'm very curious, why did you have to use the .5 pixel?
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
that makes sense
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
@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.
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!
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
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.
I agree with @RThurman
That's exactly how it should be done.
Mental Donkey Games
Website - Facebook - Twitter
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.
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
@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.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
Yeah what he said!
Follow us: Twitter - Website
Yup, agreed!
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.
@GeorgeGS
Thanks, amazing! Hope it arrives soon!
2nded & Absolutely brilliant
@GeorgeGS
:')
+1.93221 !!
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 !
Agreed, keep the X and Y real ! Just round it to the nearest whole number.
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 .
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.
I'd be much happier with a simple rounding of the coordinates when placing an actor.
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 !?
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.
www.rossmanbrosgames.com
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.
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.
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.
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?