[MAJOR FLAW] Synchronous loading = bad

Why does the game wait for network traffic before executing code? In other words, the game uses synchronous loading, wherein the game will freeze whenever it is waiting for a response from the network (Demigod servers, mainly). This is a terrible idea since the network code is so unreliable.

Examples of problems caused by this behavior:

  • Demigod freezes while attempting to log in if servers are experiencing heavy load
  • Custom lobbies often freeze (temporary) when players who use NAT or the proxies connect
  • Demigod freezes (temporary, but sometime will require the user to kill the process) when attempting to view achievements or the custom server browser when the servers are under heavy load
  • Lobby host times out and his Demigod.exe freezes (host must terminate process) when NAT- or proxy-based players join and leave rapidly

It would be nice if GPG changed the game to use asynchronous loading to alleviate such problems.

6,668 views 14 replies
Reply #1 Top

Yes, hangs alot because of this. Won't be so easy to change I guess.

Reply #2 Top

Quoting ntropy, reply 1
Yes, hangs alot because of this. Won't be so easy to change I guess.

Yes. Sadly, the above issue compounds other issues. In other words, synchronous loading can turn network stress into client hanging (slow servers can freeze the game, increasing player frustration).

Reply #3 Top

I agree. They don't seem to be willing to listen, though. The game would appear to function so much better if this change was made. You can only imagine why Frogboy didn't push this change ASAP...

I wonder why they even did it this way in the first place. Seems an incredibly stupid thing to do.

Reply #4 Top

"WE NEED MORE SALES"

Making it asynchronous is basically a client/server model (like in FPS games) which they said they would be going for anyway, but it was pretty obvious they wouldn't do so in the end as the p2p system works [note: "works", not "works well"] 90% of the time. With the current p2p method they don't have to invent any fancy algorithms for prediction, synchronizing between players and server costs [even though for 60 running games I don't see why you can run a pentium 3 in a dark dungeon somewhere /sarcasm]

This game isn't going to get any better any time SOON. This is a fact that you will have to accept. I reckon that the second the game becomes "stable enough" [who decides on enough?] then most support for it will be cut completely. I have zero expectations from either SD or GPG regarding the stability of this game. They can say how hard they are working but the truth of the matter is, because we don't pay them any maintenance money [which is kind of funny since they release a game in semi-beta stage] then they are not really anxious on fixing up all the bugs [fast] and putting in new content.

Reply #5 Top


Why does the game wait for network traffic before executing code? In other words, the game uses synchronous loading, wherein the game will freeze whenever it is waiting for a response from the network (Demigod servers, mainly). This is a terrible idea since the network code is so unreliable.

Examples of problems caused by this behavior:


Demigod freezes while attempting to log in if servers are experiencing heavy load
Custom lobbies often freeze (temporary) when players who use NAT or the proxies connect
Demigod freezes (temporary, but sometime will require the user to kill the process) when attempting to view achievements or the custom server browser when the servers are under heavy load
Lobby host times out and his Demigod.exe freezes (host must terminate process) when NAT- or proxy-based players join and leave rapidly

It would be nice if GPG changed the game to use asynchronous loading to alleviate such problems.

Yes! This is incredibly annoying. Just yesterday, when the server was acting up again, as it does so often, I wanted to host a 5v5 on Mandala. Due to the server hick up, people didn't join as fast, since they got troubles with logging in etc. too. And then I had to rehost the game 3 times, because in the first 2 times I had to wait so long, so that another server hickup occured and Demigod got unresponsive during those hickups, as you described.

 

@maxxy: we waren't talking about in-game connections here. This is solely about the server issues before starting a game, which has nothing to do with Demigod's p2p network code.

Reply #6 Top

@Spooky: oops, so the first part of my post is fail but the second stands firm. If it works, they are not going to change it anytime soon.

Reply #7 Top

Yup. Makes me rage, since it's evidential they don't REALLY care.

Reply #8 Top

I reckon that the second the game becomes "stable enough" [who decides on enough?] then most support for it will be cut completely. I have zero expectations from either SD or GPG regarding the stability of this game.

We are contractually committed to at least a year of updates. As to threading the server calls, that's up to GPG. We did some major work on the backend today to alleviate the periodic load issues though (the changes will go live tomorrow, hopefully), so it shouldn't be necessary and they can focus on more substantive updates.

Reply #9 Top

Quoting kryo, reply 8

I reckon that the second the game becomes "stable enough" [who decides on enough?] then most support for it will be cut completely. I have zero expectations from either SD or GPG regarding the stability of this game.


We are contractually committed to at least a year of updates. As to threading the server calls, that's up to GPG. We did some major work on the backend today to alleviate the periodic load issues though (the changes will go live tomorrow, hopefully), so it shouldn't be necessary and they can focus on more substantive updates.

Awesome news!

:smitten:  

Reply #10 Top

Quoting kryo, reply 8
We did some major work on the backend today to alleviate the periodic load issues though (the changes will go live tomorrow, hopefully), so it shouldn't be necessary and they can focus on more substantive updates.
Sounds good :)

Reply #11 Top

We did some major work on the backend today to alleviate the periodic load issues though (the changes will go live tomorrow, hopefully), so it shouldn't be necessary and they can focus on more substantive updates.

I wonder if that's why people haven't been able to login this morning..  Maybe your guys forgot to turn the login server back on?

Reply #12 Top

The changes were in the process of going live. Seems ok now that everything is up. Hopefully things will be better now going forward.

Reply #13 Top

The changes were in the process of going live. Seems ok now that everything is up. Hopefully things will be better now going forward.

Still getting "invalid login or password"

Doesn't much matter, no more time to play today :/

Reply #14 Top

Quoting kryo, reply 12
The changes were in the process of going live. Seems ok now that everything is up. Hopefully things will be better now going forward.
Server is acting up again :(.