mpf icon indicating copy to clipboard operation
mpf copied to clipboard

Player Profiles - Name, Settings, and Achievements

Open atummons opened this issue 4 years ago • 4 comments

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 avatar Oct 06 '21 16:10 atummons

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

atummons avatar Oct 06 '21 16:10 atummons

@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.

atummons avatar Oct 11 '21 17:10 atummons

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.

jabdoa2 avatar Oct 11 '21 17:10 jabdoa2

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.

atummons avatar Oct 11 '21 20:10 atummons