[Reported] Game becomes briefly unresponsive after almost any action

Platform, device version and operating system:
Steam, iPadOS, Android – current versions

What you were expecting to happen, and what actually happened:
Every time I return to the main map (and a lot of other times, as well), the busy indicator briefly appears, and the game becomes completely unresponsive to user input.

When I say “briefly,” exactly how long seems to depend on the device, and possibly the Internet connection.

For example, on my PC, the unresponsive time is approximately half a second. But on my WiFi-connected iPad 6, it’s closer to 2 seconds.

This is not acceptable.

How often does this happen? When did it begin happening?
All the time, starting with version 6.1.0.

Discussion
The first rule of user-interface design is: ALWAYS respond to user input. AT. ALL. TIMES.

If you really need to be “busy”, the busy indicator needs to appear after the player clicks on something, and then the click needs to be acted upon. Blocking their click/tap is a GUI-design 101 no-no.

If I really need to explain more than that, I’m afraid you need to hire better people.

24 Likes

Noticed it immediately too. It seems that the game is communicating with the server MUCH more often now. A simple test to prove this is:

  • Be on the world map
  • Disconnect from internet
  • Press any kingdom
  • Close the kingdom popup
  • Error about no internet connection appears

Maybe it’s some additional logging to have more enhanced logs to fix bugs or track player behaviour (detect botters and/or do analytics to improve $$$)?

It would be great to help with the bug fixes, although it’s very annoying indeed and since we’re already having slow servers a lot, I don’t think it’s a great idea to do even more calls now.

Suggestion (if this is a logging thing): collect the data locally and send it in batches instead.

(Posted this in another ticket too, figured this info could be useful here too)

7 Likes

Great pick-up, @MarioDaems. That was also my first thought, but I couldn’t think of a way to test it.

Regardless of the reason, though, this sort of thing should never be the player’s problem. You simply can’t make a GUI unresponsive to user input, like this.

As an interesting technical challenge for myself, I believe I have a solution. Basically, allow the player to do what they want, as fast as they are able, without ever showing the busy indicator. In the meantime, query the server for whatever it is the devs are doing silently, in the background – even batching server requests if the player/bot gets too far ahead. If a bot is detected, simply stop the game and rewind to the point of the cheating action.

Obviously, there are some things that require a response from the server before the player can continue (eg: starting a battle). But for everything else, there’s simply no good reason to delay the player.

1 Like

Personally, I think the previous state was fine. Navigating to kingdoms etc didn’t make it “load” and I’m also convinced we’re already programmed to know where we need to wait a brief moment :grinning:.

I’m pretty sure this is a logging thing, so sending it in batches (when you actually really need a server connection, like before) could solve this annoying behaviour.

On second thought, it might also be an additional implementation to make sure that we’re always seeing the correct data from the server, but in that case it’s definitely not worth the loading all the time and should be removed. The chances of having an out of sync view aren’t that big I assume + it catches up after the next connection, so again: definitely not worth it.

4 Likes

I fully agree.

Why can’t the server contacting thing not happen in the background while we’re still able to move the cursor?
Whatever needs to be ‘discussed’ between server and client is probably not as important that it has to prevent any player interaction. :roll_eyes:

Oh god, don’t suggest asynchronous functions to the devs who literally cannot get a single release bug free for months.

9 Likes

I have experienced the “out of sync / restart the game” twice this morning and had only received one or two times in all the years I’ve been playing, before this update.

Im having similar issues too. The game is very slow and needs to load after almost every click. Yet nothing in the bottom corner warning of server issues?

This is due to the soulforge being requested twice on every click. this is not a slow server issue, but a multiple request issue. Here is the requests being sent to the servers when I click into explore, and exit the view:

[2021-12-15 18:47:10,809][ 516 ms] soulforge_get_info                                                                                                                    
[2021-12-15 18:47:11,583][ 657 ms] soulforge_get_info   

up to version 6.0 this request was done zero times in this case, and only executed upon visiting the soulforge. Now this is happening when clicking Games → Soulforge and exiting again:

[2021-12-15 18:48:35,512][ 556 ms] soulforge_get_info
[2021-12-15 18:48:37,053][ 782 ms] soulforge_get_info
[2021-12-15 18:48:37,896][ 721 ms] soulforge_get_info
[2021-12-15 18:48:39,482][ 505 ms] soulforge_get_info
[2021-12-15 18:48:40,180][ 574 ms] soulforge_get_info

Interestingly, you can see that the two requests within the game menu and opening soulforge take >700 milliseconds to load, where the others are faster. but still this adds up to a substantial increase in waiting time for the client.
The latter example was only one request up until version 6.0.

Cheers, Gary.

31 Likes

I don’t know how you do it Gary, but we love you :joy:

9 Likes

it’s even worse when you buy a kingdom pass level with gems, and closing the successful transaction without collecting rewards or going out to the main map again. then the whole thing looks like follows:

[2021-12-15 23:00:54,250] [ 604 ms] complete_purchase
[2021-12-15 23:00:54,925] [ 547 ms] soulforge_get_info
[2021-12-15 23:00:55,739] [ 702 ms] live_event_get_info
[2021-12-15 23:00:56,402] [ 526 ms] soulforge_get_info
[2021-12-15 23:00:57,107] [ 584 ms] live_event_get_info
[2021-12-15 23:00:57,761] [ 522 ms] soulforge_get_info
[2021-12-15 23:01:05,188] [ 592 ms] live_event_get_info
[2021-12-15 23:01:05,883] [ 561 ms] soulforge_get_info

from what I can judge, only the first line is needed, plus one live_event_get_info call. Meaning there is a cumulated 4.6 seconds wait (plus client time) instead of just ~1 second - which is already quite slow itself.

12 Likes

This is on Switch too!!

Its happening to me on Xbox too

@Starlite thanks for posting, I thought it was just my internet connection!

1 Like

This is so annoying. Now on top of server performance issues this week this happens constantly since the new patch.

I assume these soulforge extra checks are whether we have an upgrade to the level available, to add the exclamation point and the banner on the game menu.

My question is: If our soulforge is fully levelled would these extra server checks stop? As there is no need to check.

3 Likes

Mine is leveled to 20 and it still does that.

10 Likes

This is actually user-visible if you have enough Cursed Runes available for an upgrade on the Soulforge: on exiting from Explore back to the map the (!) on the Games icon flashes on after the first request completes, then off, then back on again after the second request completes.

This all seems … kind of shoddy, right? and something that should have been caught and fixed during dev, either by the same kind of monitoring that gary_dils is doing or by QA testing the game under simulated slow/high-latency network conditions.

3 Likes

Gems of Wait.
Horrible to play the game since Update.

Devs seem to think it’s more important to introduce the 345th ingame currency then to look after playability. It’s so frustrating these days…

1 Like