|
-
Oct 10th, 2008, 06:34 PM
#1
Thread Starter
Hyperactive Member
[2005] need algorithm to solve puzzle
I posted this under Games, figuring someone there would see this as an AI challenge. Guess not.
So I'll try giving the programmers a shot at it!
I am attempting to create an app (in VB 2005) that will allow me to solve a mini game that is part of Bethesda’s Elder Scrolls IV: Oblivion game (Which I HIGHLY recommend).
If you’ve not played it, this is how it works.
The game consists of several rounds. The number of rounds isn’t important to the solution. Each round consists of a number of turns.
The game 'board' consists of a wheel. There are 4 quadrants. The “spokes” of the wheel form an X shape.
Each quadrant is assigned one emotion: Love, Like, Dislike or Hate. This assignment remains consistent for each character and throughout the entire game.
At the start of the round, each quadrant is assigned an additional value, a percentage of how much the quadrant is “filled”: 25%, 50%, 75% or 100%. The position of these values is different for each round and the sequence is randomly assigned.
At the start of each turn, the percentage values rotate (clockwise). That is, on the first turn, if 50% is in the top quadrant, 75% in on the right, then on the second turn, 50% is on the right, and 75% is on the bottom, etc.
Each emotion can only be selected once per round. The object of the game is to select the highest values for Love and Like, while selecting the lowest values for Dislike and Hate. The best case scenario would therefore be 100% for Love, 100% for Like, 25% for Dislike and 25% for Hate. Of course that isn’t always possible.
Now, to make things a bit more complex, once you reach a certain level, you have the option to rotate the quadrants one time per round without making a selection.
Doing all this in the game without the assistance of an outside aid (be it paper or app) is very difficult, because the score is constantly dropping as you are selecting quadrants. Since the object of the game is to score the most points possible, I pause the game after I determine the emotion quadrants and the round's initial Fill quadrants.
To manually go through one round, I do this:
1) On a piece of paper, I write a big X on top of the page
2) Below it I create 5 smaller Xs in a row
3) In the big X I indicate which emotion is in each Quadrant
4) In the far left smaller X, I indicate in each quadrant the percentage it is filled
5) For each subsequent X, I fill in the quadrant with the values rotated. (Note: the last one is the same as the first)
6) I try to select the best values for each emotion.
7) On the computer, I then select the quadrants based on the values selected; for example: R, T, X,L, B (X being a rotate without selection).
I will not be using a database to store values, so all the calculations will need to be done “on the fly”
I've been trying to come up with a way to brute-force my way to a solution for this, but am having a difficult time getting my head around it.
Please give it a go.
Thanks!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|