[Android] - Zoom issues and Small Screens

5 posts / 0 new
Last post
#1
[Android] - Zoom issues and Small Screens

We already talked about this on twitter: https://twitter.com/mithaldu/status/890346970191192064

However in the meantime i found that in addition to that the current zoom handling of the game makes it not unplayable, but so much of a pain to play that I've stopped playing it and will wait until there's been some changes. Right now 90% of my game experience has been fighting the UI and on average it takes me 3 tries to actually hit an item i am trying to tap or open a menu on. It's just not fun.

To be clear on the context for all of the following: I am playing on a Sony Xperia Z5 Compact. This is a small phone with a 4.6" 1280x720 screen. My thumb's width is a third of the short side of the screen.

1. Maximum zoom-out does not allow resizing game-screen to 1:1 game:display pixel ratio. I don't know exactly what resolution the game wants to be at for a 1:1 ratio. The flash game wants to be 800x450, but i expect that the mobile version wants to be a little bigger. The correct fix for this is increasing the clamping of the zoom-out value to allow shrinking the game screen to a size where it is at 1:1, even if this means it does not actually fill the screen.

2. It is hard to zoom to perfect integer ratios like 1:2 and 1:3. While zooming the game perfectly interprets even the *slightest* movement of the fingers and does not attempt to aid the user in the least. This means they need to maintain perfect motor control of their digits, because even when the perfect integer ratio is found, the slightest shift while lifting the finger can push the zoom a single notch off it again. My preferred solution for this would be a "snapping zoom" that sacrifices smoothness in actual zoom depth to being able to actually reach and stay on good ratios (at higher zooms it needn't necessarily be integer). Alternatively extra buttons (top right or so) could do the job too.

3. The maximum zoom is not enough. Right now i can only zoom to a 1:3 ratio, but with how small my device is, a 1:4 ratio would often be more useful.

4. The screen pan is much too sensitive and blocks item selection. Like the zoom it interprets even the *slightest* movement of the fingers and does not attempt to aid the user in the least. This means they need to maintain perfect motor control of their digits, because even the slightest twitch while doing a long-press to open an item menu will switch from select/menu open mode to screen pan mode, requiring the user to let go and attempt again, and again, and again ... Preferred solution is to give the user a pan detection sensitivity option that lets them determine how much a finger needs to move to actually start panning. Hard-coded might work as well, but i am dubious how well that would play with different hardware factors.

5. Small items are impossible to select with confidence. Particularly single-square ones. Even at max zoom a small item is utterly minuscule compared to my fingers or thumbs. Additionally the game does absolutely nothing to let me know where it thinks i tapped. I have never been able to select a small item in less than 3 taps. Preferred solution is to increase the maximum zoom to 1:4; and to add an option that draws a screen-overlaying cross on tap to indicate where a tap was registered. (My phone's developer options allow displaying a tap indicator, however even that one doesn't help as it's just a tiny circle.) Maybe something smart could also be done to aid item selection, like a popup magnification in which to choose the actual target, or a menu of items close by the point tapped.

6. Moving large items is very hard. I made a tarp tent, and tried to move it from the bare ground into the shelter it was intended for. Due to its sheer size i needed to hit the necessary target square column. The fact that the source square was determined by my individual tap did not help either. After a number of attempts i tried to rotate it, but that was also blocked by the other items on the ground. Auto-sorting put the tent at the top of the inventory and was thus even counter-productive. I had to manually sort all the items to one side, then rotate the tent, then move it over. This was incredibly tedious and annoying.

7. Paper-doll target zones are too small. Often when trying to put an item into the hand of my character it ends up just going back to the directory and requires multiple tries to affix it successfully. Pants are similar.

Hi Mithaldu,

I apologize for the UI issues with the game. UI was never a strong suit for NEO Scavenger on desktop, and the combo of mobile's small screen and touch input exacerbate matters. It was definitely more of a tablet game, but enough smartphone users asked that I figured I'd at least let them try it for themselves.

That said, there may still be some things that can be done to make it more tolerable. I'm currently exploring some options, and I think your suggestions may help. I'll address each point in order.

1 - The game uses two screen modes on mobile, and then scales them to fit the device. They are 800x450 and 1024x768. I think that explains why your 1280x720 screen looks imperfectly zoomed, since it's roughly 1.5:1 the pixel art base size.

Changing the minimum zoom amount to 1:1 probably won't give you what you're after, as 1:1 zoom would leave the playable portion of the screen a fraction of the screen size, with black bars to the sides.

2 - What you describe here is actually how it is supposed to work, so there could be a bug. The pinch zoom is supposed to be clamped to the range 1:1 to 2:1. So if you're zooming all the way in and it's not 2:1, maybe there's a math error in my code.

Perhaps it's zooming to 2560x1440 (2x 1280x720 and 3.2x the game's base res) instead of 1600x900 (2x base res)? I've made a note to look into this.

3 - Depending on how you arrived at this 1:3 ratio, this might confirm suspicions about the bug in #2 above. Increasing the maximum zoom is definitely something I'm considering.

4 - This is the first I've heard of panning being too sensitive, so I'm curious what's happening here. It's possible to add some sort of "dead zone" to avoid tiny movements causing pan, but I wonder if this problem becomes less pronounced if other issues here are mitigated.

5 - This one's on my list, too, and is one of the most common critiques. One idea I'm toying with is changing the way the game detects tap targets on items so that it measures the closest item center instead of strictly using item bounding boxes.

I think this would make smaller items easier to hit in exchange for a slight reduction in large item hit zones. In theory, the user would be aiming for the middle of whatever they wanted, not the edge, so the net result is more hit tests matching user intent. It'll require some testing, though.

6 - There were two features added to try and help with this, and I'm wondering if you tried them and didn't find them useful, or maybe missed them.

The first is "precision drag." If you tap an item to pick it up, and then long-press on it, it should start following your finger around the screen. And while doing so, it should highlight blue or red depending on whether it fits the current space or not.

The other feature is when you tap to pick up an item, a little yellow indicator shows where you tapped. This is to help you gauge where to tap such that the item drops where you want it. Not as good as precision dragging, but can help if your main issue is remembering where your "handle" on the object is.

The game also does some trial and error when you drop an item, testing the surrounding grid squares for a fit if the one you tapped doesn't work. But it sounds like this didn't help much, as it should've been automatic and you still had trouble.

7 - This one's a bit tricky, as the paper doll slots have already been padded with a translucent halo to help with this. Padding them any more starts to cause overlap with other UI items or paper doll parts.

I had hoped it was padded enough to mitigate issues, but I'll admit the smallest screen I tested was still larger than the Z5. Does precision drag help here at all?

I think your criticism is valid. And I'm hoping I can tackle as many of these as possible. And I really appreciate you taking the time to detail your experiences!

Dan Fedor - Founder, Blue Bottle Games

1 - Changing the minimum zoom amount to 1:1 probably won't give you what you're after, as 1:1 zoom would leave the playable portion of the screen a fraction of the screen size, with black bars to the sides.

Actually that is exactly what i want. Readability > screen fill ratio. Maybe make it an option, but i'd really prefer that.

2 - The pinch zoom is supposed to be clamped to the range 1:1 to 2:1.

I think your math is off there. There are 3 optimal zoom levels for the game on my device:
a) fully zoomed in, easy to reach
b) the one that's in the middle between full zoom in and out, almost entirely unreachable due to jitteryness
c) theoretically, fully zoomed out, but in practice unreachable due to the game refusing to give me black bars

3 - Depending on how you arrived at this 1:3 ratio

See particularly the screenshots here: https://twitter.com/mithaldu/status/890346970191192064
Referring to above:
a) 3:1 i.e. each ingame pixel is 3x3 pixels on my device
b) 2:1 i.e. each ingame pixel is 2x2 pixels on my device
c) 1:1 i.e. each ingame pixel is 1x1 pixels on my device (or would be if i could reach it)

Good to know you're considering bigger zoom!

4 - This is the first I've heard of panning being too sensitive, so I'm curious what's happening here. It's possible to add some sort of "dead zone" to avoid tiny movements causing pan, but I wonder if this problem becomes less pronounced if other issues here are mitigated.

Might be a side effect of my small device and big fingers, or having been around the block a lot in terms of how many games i've seen, i'm more picky. :) Dead zone would definitely help! I don't think any of the other issues here would help a lot. Some of these are issues relating to aim a tap correctly, this one is only about holding a tap still enough for it not to be a drag.

5 - One idea I'm toying with is changing the way the game detects tap targets on items so that it measures the closest item center instead of strictly using item bounding boxes.

So kind of like creating an invisible weighted voronoi overlay that determines the *actual* hit zones, making it such that tapping the edge of a big item that has a small item right next to it would select the small item instead?

That would be excellent!

It would also solve the issue of "there's a small item in the middle of nowhere, if i tap anywhere near it the game should intuit i mean it".

6 - large items

> precision drag

I noticed mention of that in the patch notes, but didn't catch how to use it and entirely forgot about it. Plus, the game never told me it exists. After reinstall, i can recommend to mention it on the tutorial screen that mentions pinch zoom.

Also, holy heck that's a huge improvement. I like it.

> little yellow indicator

I saw that and it's good. It helped me figure out something after a bit of fiddling: The tarp tent doesn't actually fit in the cryo shelter space horizontally. Had i known about precision drag i would've figured that out a lot quicker though.

> trial and error when you drop an item

It might've been good if the game showed red overlay of the last thing it tried for a second or two. That would've shown me immediately that the tent was too large.

7 - paper dolls

Precision drag absolutely helps here.

Also, maybe you could use weighted voronoi hit maps here as well? The most frustrating things are when you try to put something in the hand that can't even get into any other slot, so like with small items you're trying to hit a tiny target in an expanse of nothing, wondering why it doesn't just default to it.

---

And cheers, i very much appreciate your detailed responses as well. :)

Hi Mithaldu,

FYI, I wanted to let you know that a voronoi hit test is likely to make the next patch, which should hopefully help a bit with targeting smaller items. It had a few tricky edge cases to handle, but it seems to be an improvement so far.

I haven't figured out how to solve the zoom issue yet (Flixel has a seemingly endless list of scaling/zoom/offset parameters to untangle), but I'm still looking.

Slow progress, but progress!

Dan Fedor - Founder, Blue Bottle Games

Excellent, i'm looking forward to playing with the voronoi hit tests. :)

Sorry to hear the zoom issue is a bit more tricky, but thank you for persevering. :D