pegelf / Scope

LaserTag in the browser with Recoil hardware
https://scope-lasertag.glitch.me/
MIT License
2 stars 1 forks source link

iPhone players are immortal and can't load the status screen #21

Open pegelf opened 3 months ago

pegelf commented 3 months ago

It is possible to use this web application on an iPhone. Because the default browser doesn't allow the bluetooth web API, you have to use another browser like Bluefy: https://apps.apple.com/de/app/bluefy-web-ble-browser/id1492822055

When using bluefy, you are able to pair the tagger and start the game. You can also see the lobby and press the "ready"-button. After the game starts, the countdown also works, but stops at the number "1". So the player overview with the remaining ammo and health doesn't load.

While just having a black screen with the number "1", it is still somehow possible to use the tagger. You can get hit and the red hit indicator is also displayed, but it doesn't decrease the health. Because of that, iPhone players are immortal.

iPhone players can shoot, but their ammo isn't limited. They aren't able to reload, but they also don't need to do that. When they hit other players, their username is displayed correctly as the killers on the phones of the other players.

If we find a way to debug iPhones, we are maybe able to find out, why iPhone browsers don't load the game past the countdown. It would be really great if we could fix that, because currently there are no other third party apps for recoil taggers, that allow cross-playing between Android and iOS.

pegelf commented 2 months ago

I was able to debug an iPhone while using Linux with the help of this guide: https://www.closingtags.com/remote-debugging-web-apps-on-ios-from-linux/

The main issues are:

davenewham commented 2 months ago

Having to work around the AbsoluteOrientationSensor api is painful, it means having to rely on DeviceOrientationEvent and implementing that logic ourselves