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

Player Profiles - Name, Settings, and Achievements #1604

Open
atummons opened this issue Oct 6, 2021 · 4 comments
Open

Player Profiles - Name, Settings, and Achievements #1604

atummons opened this issue Oct 6, 2021 · 4 comments

Comments

@atummons
Copy link
Contributor

atummons commented Oct 6, 2021

MPF Player Profiles for Name and Difficulty Settings:
Local:
Users can create a profile on a given machine. This allows them to store their name/initials, as well as settings. The settings piece is like P3 where a profile can be created, and then adjust various settings based on their skill level. This can be the number of shots to start multiball, shots to start mode, spotted modes, ball saves, etc. All the standard difficulty settings adjustments but made on a per player level as opposed to machine level. This requires default settings to be used for a default profile (machine settings), but then use player variables for the settings for those that are using a profile. Or the machine would need settings (like Stern) of EZ, Medium, Hard, etc. Then the player could assign their profile to one of the settings for that machine, instead of being able to customize everything.
A user would need a way to select this, it could be a combo button of holding down both flippers after adding the player, or before ball start of that player, to assign the player profile to that player number of the machine. Then the settings would be assigned, and the rest is magic.

Web:
The web version would function in the same manner, but authentication could be done via technology, such as QR, Bluetooth, etc. instead of manual selection. There would need to be some form of canned settings that could be passed to the device in this manner. So somehow a player would need to scan your machine, then set their settings in their profile, then scan into the machine. While handy, this seems complex.

MPF Player Profiles for Achievements (I would leave this for later, but I will build out some thoughts here for now):
Machine_achievements (new type of player achievement saved at the machine level to a specific profile) can be created. This can be setup to be triggered and housed like any other value in MPF today. It can be that a certain thing was reached (Wizard Mode), that a certain score threshold was hit, a multiball was started, number of a certain type of hit/shot was achieved, or that a certain number of games were played. This could be for a singular game or in aggregate among all games played by that profile. This would all be configured for what these achievements are, and then could be displayed as badges on the player profile (either locally on the machine, or in the web version).

@atummons
Copy link
Contributor Author

atummons commented Oct 6, 2021

For anyone that views this, please provide any feedback you have about practicality, integration thoughts, missing features, etc.

@atummons
Copy link
Contributor Author

@jabdoa2 I wanted to get some feedback from the general public before starting to draft what the code would actually be for this to work. Specifically, you mentioned on the stream about the ability for the web connectivity. How does that work in your mind? I don't know what resources MPF has access to from hosting perspective, as well costs, etc.

Would we have the tools to have a central server where all accounts could be housed, and then link the machines to that account to validate? Bluetooth or wifi connectivity in the machine for the controller that MPF could interact with?

I don't want to over complicate this, but I also don't want to think too small that it has to be housed and isolated to that one machine's code if that isn't a real restriction.

@jabdoa2
Copy link
Collaborator

jabdoa2 commented Oct 11, 2021

I can host that stuff on my server. Same as the crash reporter. I would build some simple component which could also be hosted by other parties later. I imagine most MFGs would want their own instance (might be run by us for them or on their own infrastructure). Guess we would host it for all homebrews and maybe smaller productions.

@atummons
Copy link
Contributor Author

Yeah, it would be cool if there was a central host that homebrews could sign up for. Then if you went to a show with multiple home brews using it, you could sign into all the machines there, instead of creating one for each machine (or not using it at all since there is a line behind you). But agreed, and MFG would probably want to host it themselves, which could be configured for theirs to ping a different IP address.

Any considerations I need to have in mind for the technical of that? Or can I start to draft out what the new files and config options might be to get this to link, and then you can circle behind on the tech piece of QR readers, BT, Wifi, etc.

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

No branches or pull requests

2 participants