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

Hyperghost: use letters of midrange frequency #31

Open
3 tasks
donkirkby opened this issue Jun 17, 2014 · 0 comments
Open
3 tasks

Hyperghost: use letters of midrange frequency #31

donkirkby opened this issue Jun 17, 2014 · 0 comments

Comments

@donkirkby
Copy link
Owner

XQV is not fun because there are too few solutions. DES is not fun because there are too many solutions. This is particularly noticeable in Hyperghost when it can take a whole game to exhaust a common set of letters.
The simplest option is to add two random integers: [0,12] + [0, 13] => [0, 25] and use that as the index into the list of letters sorted by frequency.
Another option is to use something similar to the current system, but add two random floats together where we currently use one to walk up the odds table. The odds table would need to be sorted by frequency.
Another option is to work this into a catch-up mechanism. Generate n+2k completely random puzzles, where n is the number of players, and k is an arbitrary integer - maybe 2 or 3. Then scan the word list for matches to each puzzle, and calculate a difficulty rating for each puzzle where more matches and more common words all lower the difficulty rating. Sort the players by their score, but add some noise so they aren't guaranteed to be in exactly the correct order. Throw away the top k and the bottom k puzzles, then assign the puzzles in order of difficulty to the sorted players. The most difficult puzzle will usually go to the leading player.

  • choose a technique for generating letters
  • implement it
  • track the puzzles in a match, and don't repeat them - maybe track the last 100 puzzles
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

1 participant