×

Warning

Empty password not allowed.
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC:

Invisibility fixed but some patience required 9 years 1 month ago #270154

  • zuperman
  • zuperman's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • Posts: 4419
  • Thank you received: 13146

I finally was able to pinpoint how invisibility occurs. Please be good with players that are invisible, most of the times they don't even know.

So, the reason is pretty random, basically it happens with the alignment of the planets + carrier. So if the carriers are out and the planets are correctly aligned, the guy will suddenly disappear from the screen.

Also, I was happy that I found the reason but this morning I woke up and my Android couldn't run the game at all. Apparently the new Android 5.x update (which I left installing when I went to bed) doesn't run Dogfight, so NOW I also have to fix that and send it out as an update.

The patience part? Well... the fix will be sent out today, but you know who gets it always late... *cough* apple *cough*. Meanwhile Apple players can avoid being invisible if they don't play in games with a carrier (or they do, but don't land/take off on them). Otherwise planets may align and...



ps. If you are into technical details, here it goes the full explanation.
The game internally keeps track of the x,y,z position of each airplane in the 3d world. But there are exceptions, one of them is when you are landed. When you are on a carrier, the position is not based on the world but on the carrier itself. So for instance, it would be something like 10 meters south of the left corner of the carrier.
As soon as you take off, the position switches to world space, so it would be something like 2 miles from the left corner of the map.

That switch is pretty stable, but the new version of Unity also allows for multithreading = several tasks running at once. This can cause trouble but it is random. Because if two cpu (cores) on your mobile are running the same block of code at the same time, and they both change variables (the position) they get mixed up and the x,y may be on local carrier space while the z is on world space. So suddenly that airplane will say i'm 10 meters away from the left side of the map and 2 miles down the carrier. Result: the game thinks that airplane went out of the map or it is trying to hack the system and the server hides it or hides everyone else from him to avoid fake killings.

So the alignment of the planets = threads race conditions. It depends on the situation that 2 cores change the data at the same time... or not. This is a very common problem on computers (most of your software crashes on any computer are related to this) en.wikipedia.org/wiki/Thread_safety
and en.wikipedia.org/wiki/Race_condition#Computing

I hope you enjoyed the geeky explanation.
The following user(s) said Thank You: [b]pluribus, GreyGhost, [e]hammer_tool, [*M]VonHuLK, ZebraUp, Weather[*M]an, {O}__PREDATOR__, [*M] Pagan, [NLR] Finn, Sharp Shooter and 11 other people also said thanks.

Please Log in to join the conversation.

Last edit: by zuperman.
  • Page:
  • 1
Time to create page: 0.485 seconds