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

Symon game enhancements #34

Open
wants to merge 70 commits into
base: master
Choose a base branch
from
Open

Conversation

trottier
Copy link
Contributor

@trottier trottier commented Oct 29, 2019

This PR adds a number of enhancements designed to speed up learning and make the game more "fun" and active for the player. Some have been more tested than others, and so, as usual, feedback is welcome!

Try it out!

Enhancements

Adjustable reinforcement ratio: The game is designed to permit easy adjustment of the reinforcement ratio. This can have a huge impact on how much the player can play the game before they get full. With a nominal reinforcement ratio of 10%, Salk will play up to 1000 times per day.

Keep going!: The reinforcement ratio isn't "strict" -- if the player has been trying hard and not succeeding, the reinforcement ratio increases significantly. There is a risk, here, that if the reinforcement ratio is too low, and players are reliably rewarded after they miss too often, that this will lead them to deliberately doing poorly. Hopefully this is mitigated by Streaks (below) but it is certainly a concern.

Streaks: As the player continues to succeed, the game produces additional reward chimes that track the player's "winning streak". More winning increases the probability that the player will get a food reward, to help them continue to focus.

Jackpots: As the player's streak increases, there is a probability of a "jackpot" in which the Hub adds kibble to the tray -- it's not truly a "jackpot", as it's only ~2x the normal reward.

Focus interactions: Games x0 through x5 have players practicing repeatedly on the same sequence. This is done to help players "confirm" their guesses, rewarding them for being consistent. In levels x6 through x9, the game will switch more and more often, so success can't depend on the player just doing the same thing they did previously. This rewards players for intelligently switching.

Time outs: When players get the game wrong a few times in a row, the delay to the next play increases. This is to discourage random guessing, as well as over-focusing on a particular game.

Variable negative feedback volume: By default, negative feedback provided is very low volume and gentle. It has a probability of getting louder, however, after repeated unsuccessful attempts. Low volume negative feedback appears to be important in order to minimize discouragement.

@trottier trottier requested a review from JelmerT October 29, 2019 17:05
hub.Initialize(__FILE__);
hub.ResetFoodMachine();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be helpful to attract the player's attention to a new game, as well as letting the human know that the game was successfully installed.

retryCounter++;
else
{
if ((!focusPuzzle && random(0, 100) > DEFAULT_CORRECTION_EXIT_PERCENT)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEFAULT_CORR... may have been rendered redundant by focusPuzzle

@trottier
Copy link
Contributor Author

One other enhancement:

Minimum level: This is a good way to "lock" your player at a particular level, once you're sure that the right one for them.

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

Successfully merging this pull request may close these issues.

2 participants