Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
pegelf opened this issue Sep 10, 2024 · 2 comments
Open

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

pegelf opened this issue Sep 10, 2024 · 2 comments

Comments

@pegelf
Copy link
Owner

pegelf commented Sep 10, 2024

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
Copy link
Owner Author

pegelf commented Sep 19, 2024

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:

  • there is no AbsoluteOrientationSensor() for the compass, so the initialization of the map causes the website to crash
  • we can't use AudioContext() on iOS, but instead we have to use webkitAudioContext(), which seems to work exactly the same
  • it's not possible to check the availability of the location permission with navigator.permissions.query, but instead we have to access the location directly and just see if that works

@davenewham
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants