joseffaghihi / GamificationAlgebraConcepts

Gamification of Algebra Concepts
0 stars 1 forks source link

[MMM:Ship] User Performance AI #13

Closed SibTiger closed 4 years ago

SibTiger commented 9 years ago

A overlooking system that monitors the user's score and how fast they respond to the game - by clicking or tapping the minions off the ladder.

WHAT ELEMENTS WILL BE CONTROLLED - OR DEPENDENCIES:

HOW THIS WILL WORK: Determine the user's base response rate: Beginning of the game, only spawn a few minions into the world which the user will need to respond to - by clicking or tapping the minions off the ladder. The minion's ID that they will carry will still be completely randomized with no primitive caching. When the user clicks or taps on any of the minions, their time - which it takes to click the first minion, second minion, and the third minion, will cached and calculated to determine the average speed in which the user responds. This calculated time will be the user's base response rate. --------EXAMPLE: START GAME -----------Spawn three minions into the virtual world -----------User clicks three minions off the ladder (assuming none are the answer) -------------If missed one or more, restart sequence -----------Take the first minion's time - cache it. -----------Take the second minion's time - cache it. -----------Take the third minion's time - cache it. -----------Combine the time of all three minions, and calculate the average. -----------Store average as the user's base response rate.

Minion Speed fluctuation rate: The minion speed is based on two factors: the user's score AND the user's base response rate. If the user continues to keep getting so many right answers with no wrong answers, the minion speed will increase - but only slightly. However, if the user gets a few wrong answers, the minion speed will restore back to the original default if not slower.

Minion Spawn Frequency fluctuation rate: As the user continues to play, if the user continues to get the right answers with minimal errors while the user's average response rate continues to increase from the base response rate, the spawn rate will increase but only slightly. However, if their is a lot of wrong answers, the spawn frequency will decrease - but not away from default frequency level.

Complexity of the Dynamic Equation Generator: As the user plays, if the user continues to have a perfect or a 80% success rate, the complexity level of the DEG will be active. This will shift the terms - randomly and not all terms will be in one side or the other, it's all random - either left or right. If the user has a lower success rate, the DEG complexity level will be disabled.

Tutorial on screen: If the user's average score is 40% success rate or there's a huge dramatic influx of wrong answers, the 'Help Me!' button will be displayed for the user to access. ----When activated: -----Kill all minions in scene -----Keep score -----Keep data ----If not activated; keep on-screen until the success rate is above 40%.

joseffaghihi commented 9 years ago

This is a great explanation and lots of work Nicholas, Thanks! My only comment is we need to compare the users average clicks with a base click that is performed by you and David. This way it will be easier to detect the type of user. You might have mentioned this above but I might missed it. Thank you again

SibTiger commented 9 years ago

Just a follow up as to what is going on. The new minion average calculation has been already implemented, and I have just submitted the new spawn code. There's still some bit of cleaning up to do and I am still trying to think of a clean way of expanding the code when needed.

If someone is able to, can someone compare the previous spawner functionality against the current implementation and let me know if there is any differences in the timer or it's anything of a kind. I have shifted the wakeup timer from it's original 0.1sec timer to the Daemon update timer, so the heartbeat has changed - dramatically and I want to be sure that it's still working /correctly/ as it should.

Thanks,

SibTiger commented 9 years ago

It is now possible to get the percentage of what the user has right and incorrect.

SibTiger commented 9 years ago

For those following with this ticket, I have already started working on the AI in a new branch: https://github.com/joseffaghihi/GamificationAlgebraConcepts/tree/AI_Development

I already see in the near future that the game will need to be recentralized and partially redone, but - baby steps for now.

SibTiger commented 9 years ago

The User Performance has been nixed, in exchange - the UserMastery will take over. As of right now, the AI is able to read the user's actual performance and soon be able to determine how to change the environment that is comfortable for the end-user.

Still very much a work in progress.

SibTiger commented 9 years ago

As it stands right now, when the AI component is activated - by default, it is set to 10 possible points to activate the component - and the AI will monitor the users activity. Once the user gets three incorrect answers consecutively, the AI component will notify those that are listening to start a tutorial session. The AI itself does not manage how the tutorial is ran, but those listening will determine how to execute the demonstration tutorials within the environment.

SibTiger commented 8 years ago

The AI component is activated immediately now, there is no warmup\tutorial session. However, everything else is the same.

SibTiger commented 8 years ago

I have marked this ticket as deprecated due to project shifts.