Daddiursa said:
Thanks TacC!
I agree on the rating of the Supporters, which is basically how I will be doing it in the program. Except that I won't do it by points, I'll be doing it by sequence,
I swore I wasn't gonna get involved with this - I've simply too many irons in teh fire right now!
But with tha said - let me at least throw a few concepts out atcha.
In robotics AI programming much has been done on the study of insects - specifically cockroaches. If you think about it they do quite a bit with very little in teh way of brains, yet are one of the most successful lifeforms on the planet.
With that said, they have evolved a theory of sublimated behavior. What that means is that sometimes several options come up in which one option/action has to take priority but still leave room for the others. The cockroach may be starving and food is straight ahead but the lights come on (danger?). What does it do? Sublimated behavior then is the resolution of many sometimes conflicting events.
So how is the decision made - as in many things AI there are many - read up and see what is available. I prefer fuzzy logic. The advantage of using fuzzy logic is that it can be "tuned" to a player style - in other words playing a particular card may be an indicator of how aggressive that player is for that style of play.
I would extrapolate the categories of cards to also include the board state. You could have a rating for both sides in areas like strength: how powerful the pokemon on the board are, resources: how much energy is in play, deck remaining, prizes taken.
Now - there are learning algorithms known as genetic algorithmns, simulated annealiing, alpha-beta pruning, etc etc. I might favor SA or GA after every turn to evaluate the succeess of moves after every turn against the board states. This would allow the player style to learn what the best moves may be from a category of moves - the selection of course depending on what you have in your hand.
Now say the best move isn't represented in your hand - what are the odds of getting the best move if you have draw power - it knows what has been played and can calculate the odds of getting what it needs or even wheher it is available. This of course is part of the sublimated behavior - on what hand here is what I have - on the otehr here is what I might get. Choose. The behaviors may be influenced by the current state of the game (how bad off am I - or how good a position am I in) versus tactical advantage (do I want to strengthen my position or weaken his).
The worst part is calculating effects like Blaziken - it needs the setup to work properly and also the play style (discard enegy for search, suck it back up, move energy to attacker, attack).
I would have to say that somehow for the play to be effective there needs to be a play style associated with the decks. This makes sense in that every deck posted here also has a strategy to go along with it.
The strategy involves; optimal setup (what are the pieces that make this thing run), and play sequence - as illustrated by the Blaziken deck. In some cases the pieces necessary for optimal operation can have associated pieces - like you put a Delcatty or Pidgeot in just to search for the rest of teh pieces. So each card could "belong" to a strategy piece. As you draw the card the strategy that uses it (there may be several) would know that it is available so now that strategy could be activated. Of course you need a way to "un-notify" also in the case the card is used or discarded or shuffled back into the deck. So these are also behaviors that can fit into teh sublimation scheme. Thus the hierarchy of behavior could include things like: get setup for optimal play, protect critical resources, gain advantage by attack or denial (maybe remove energy from opponent, kill a basic to minimize future threat). The weight on each of these levels would also determine style of play - we've all seen players that favor suicidal attacks versus defense and vice versa. Each of teh major behaviors can be broken down into sub-behaviors to determine the appropriate behavior for that particular one. Say Setup is the dominant behavior - inside are behaviors for search (ger resources) or protect (your last combuskin is unfortunately in the active position). Which behavior gets activated is dependant on you current hand state (availability of means)or board state.
Hope this gives you something useful to chew on...