PDA

View Full Version : Lets play Devils Advocate!



spankydonkey
02-07-2015, 04:40 AM
I'll just slip into my asbestos pants, there that's better, ready for the off now.

Lets talk about the AI, it's so bad, beyond my very worst nightmares.

The game as far as I'm aware has been in deployment for years now, and this is where we are at?
This has to be the most up to date version of the AI, because why would anyone put out an old version on a test server to be checked for bugs etc? They would not learn anything from the feed back.

I personally don't know how difficult it is to code AI for a game like this, but due to all the cards/equipment permutations, I'm going to guess at very!
Maybe even impossible?, they may have bitten of more than they can chew?
All the grand plans & theory's sound amazing, but clearly putting them in to practise is proving just to difficult.

Anyone hoping, like I was that PvE was going to be coming out any time soon, needs a reality check.

I love this game more than any other, I play it almost every day, read all the posts etc, no one, apart from maybe Cory himself wants this to succeed more than I do, but I'm very worried, because without great AI in the PvE & soon, this game may well be done!

Please prove me wrong.

N3rd4Christ
02-07-2015, 05:10 AM
Glad I'm not the only one who thought this when I saw that they wanted AI bugs reported.

CrystalShard
02-07-2015, 06:15 AM
Personally, I think they tried something new with their AI in the test server, and it kinda backfired or was a step backward. I've played against the AI in proving grounds pretty often (before the test server), and I can't remember it being THAT dumb. So I guess we're now seeing the newest iteration of the AI in an early form, which is a step backwards, but maybe it will allow HexEnt to develop a better AI in the end.

Just speculating here, but I'm certain they know that THIS AI can't be it.

Shippal
02-07-2015, 06:45 AM
I have worked with an AI developer a few times, and I can say that it's not easy to make an AI that does anything even remotely smart. It takes a lot of overhauls, tweaks, and fine-tunes.

What I see in this AI is too many variables, and incorrect prioritization. Also, this AI seems to decide exactly when it is going to play a card, regardless of whether it's the right time, or whether it is actually a good move. That's why you have the AI playing negative cards on its own troops, positive cards on your troops, and attacking even when it means it will die.

Truth be told, some of these are actually not that difficult to correct, but they take time. I'm certain that the devs know how to correct them. But with AI programming, every change you make will affect how the AI responds in a different situation, so it takes a lot of testing to figure out what is actually happening.

Give it time, and give the devs help by reporting misplays and bugs. They need it. No one is going to be more critical of their AI than the players who exploit it.

jonsnow2000
02-07-2015, 07:02 AM
The problem is that the shortcomings of the AI (both versions on the test and live servers) are immediately apparent to any observer with a bare minimum knowledge of the game. The current "AI" is not in any way "intelligent", artificial or otherwise. Even without all the obvious bugs it's just a simple script that is programmed to play troops at random, let them relentlessly attack if it can do so without getting killed by a blocker and it only has a chance of winning if the human player is inexperienced / has a weak deck or is getting shardscrewed.

We have been told that there will be a really "intelligent" AI that actually takes boardstates into consideration, learns from mistakes, adapts to the human player behaviour etc. I'm beginning to wonder if that fabled "AI 2.0" even exists in a rudimentary version right now - we certainly haven't seen even a glimpse of that so far.

So yeah, my disappointment is huge right now and my hope that HexEnt has this situation under control is very shaken.

malloc31
02-07-2015, 08:00 AM
One thing I am surprised hasn't been done yet is flagging all buffs/debuffs as either beneficial or harmful. So that the AI only casts beneficial effects on its own troops and harmful ones on the players troops. This wouldn't be perfect of course, in rare cases it would back fire but 95% of the time it would work and at least work much better then now.

But I have to say i still find the arena fun to play, and worst case they can always tune it by giving the AI better decks and powers. But give them time I am sure it will improve, this is only the very first step of PVE.

Kilo24
02-07-2015, 08:33 AM
The problem is that the shortcomings of the AI (both versions on the test and live servers) are immediately apparent to any observer with a bare minimum knowledge of the game. The current "AI" is not in any way "intelligent", artificial or otherwise. Even without all the obvious bugs it's just a simple script that is programmed to play troops at random, let them relentlessly attack if it can do so without getting killed by a blocker and it only has a chance of winning if the human player is inexperienced / has a weak deck or is getting shardscrewed...
You're underestimating the work involved if you're calling it a "simple script". The AI prioritizes dangerous targets for removal over less dangerous targets, its attacks take Swiftstrike and its own combat tricks into account as does it choosing blockers, there are specific cards it will not play (implying that it has card-specific AI), it picks between abilities and cards in hand seemingly based on cost, and it holds back cards sometimes when it can play them. That is not playing cards randomly; indeed, it may be in many cases worse than playing cards randomly as you can see when it holds back playing cards from its hand.

Somewhat perversely, the issue here may very well be that the scripting is too complex. There are so many variables involved that it's very easy to assign the weights wrong, to double-count or forget to count a potential issue, and/or to implement specific solutions for general issues (like, say, adding in a bunch of card-specific custom code for weird cards like Bird of Plenty instead of adding in a more general "your opponent drawing cards is bad" logic). As it is right now, the occasionally stupid "random" behavior that we get now implies that its logic circuits are misfiring, not that it has none. If we really had so simple of a script, it would either be substantially more predictable (if it had little random decisionmaking) or substantially less predictable (if it had a lot).


One thing I am surprised hasn't been done yet is flagging all buffs/debuffs as either beneficial or harmful. So that the AI only casts beneficial effects on its own troops and harmful ones on the players troops. This wouldn't be perfect of course, in rare cases it would back fire but 95% of the time it would work and at least work much better then now.

But I have to say i still find the arena fun to play, and worst case they can always tune it by giving the AI better decks and powers. But give them time I am sure it will improve, this is only the very first step of PVE.

Is Kog'Tepetl's Thirst harmful or beneficial? What about reverting a troop? Burn spells are harmful - except when the target is invincible or when the target is a Bird of Plenty.

You acknowledge that it wouldn't be perfect. But the issue here is is that those tags are going to become a card-specific crutch and, if you want the AI to think deeper that "Beneficial effects go on my own troops" and "Hostile effects go on enemies" you're either going to be leaning on that crutch pretty heavily (and not cope well when it's kicked out from under you), or be starting at square one - except that there's also still a bunch of obsolete code gumming up the works and prior tests are going to be woefully misleading. It's better to work on the "real" system that currently gets it right 80% of the time but can go up to 95% instead of writing a throwaway system that gets it right 90% of the time at max. We are still in beta, after all - we should expect that systems are developed for their long-term potential, not short term.

lite
02-07-2015, 08:49 AM
but... but... they hired the most experienced TCG AI expert in the world !!!!!!!!!!111111

Kilo24
02-07-2015, 08:57 AM
but... but... they hired the most experienced TCG AI expert in the world !!!!!!!!!!111111

There's not a lot of experienced TCG AI experts out there. Primarily because that shit is freaking hard.

Mahes
02-07-2015, 09:20 AM
I am curious as to how many "people" are working specifically on coding the AI. Given the number of possible permutations that exist, it better not be just one person doing all of this. That said, it kind of feels as though just one person is handling all of the AI related programming. Given that there are still bugs that exist in the PvP format, it just feels as though there are going to be too many bugs that will exist when the Arena is released. People will quickly figure out which cards the AI has a poor time dealing with and then construct decks that take advantage of it. Every time a new set comes out, that will be more work having to add those cards in, even with an exoskeleton of programming in place.

This will be interesting.

AstaSyneri
02-07-2015, 09:24 AM
We have been told that there will be a really "intelligent" AI that actually takes boardstates into consideration, learns from mistakes, adapts to the human player behaviour etc. I'm beginning to wonder if that fabled "AI 2.0" even exists in a rudimentary version right now - we certainly haven't seen even a glimpse of that so far.

And how do you want to know this isn't exactly the case? Just imagine this IS the AI 2.0 who is just in its infant stages and beginning to learn. IMHO it doesn't help in the slightest to downtalk it - yes, there is a lot of room for improvement, but the AI still beat me after 11 matches.

Plus, how intelligent do you want it to be? We all know how that ends!

2897

Mahes
02-07-2015, 09:33 AM
I highly doubt that their current AI is built to learn from playing. That would require that the program could write it's own code. That would be an impressive form of programming. IBM's Watson could do this too a low degree but even that program had limitations of learning. I think you are giving this team a little too much credit.

Axle
02-07-2015, 09:47 AM
There's not a lot of experienced TCG AI experts out there. Primarily because that shit is freaking hard.

Seriously. While the HEX ai isn't up to standards at all right now...getting it there will be so hard. HEX is the hardest card game out there to make an AI for.

Kilo24
02-07-2015, 09:59 AM
I highly doubt that their current AI is built to learn from playing. That would require that the program could write it's own code. That would be an impressive form of programming. IBM's Watson could do this too a low degree but even that program had limitations of learning. I think you are giving this team a little too much credit.
I also highly doubt that their current AI is built to learn from playing, but it does not require that the program can write its own code. What the code needs to do is to identify all the choices that are possible at each step, identify which choices usually lead to the best outcomes, and preferentially pick those over the bad choices; you don't need to code new behavior for that, you just need to be able to track all of the previous plays.

That's actually the basics of how chess AIs work; it's just that they copy the current game state many, many times, play out virtual games, and learn from those virtual games instead of looking at many previously played real games.

Shippal
02-07-2015, 10:08 AM
In the development teams where I work, generally, only 30% of the team does actual "development". Another 30% is usually QA, and another 30% is devoted to human interface development, such as UI, art, and writing. The final 10% is management.

Assume that Hex has 30 members. That gives you about 9 people doing actual development. With the countless other things being developed, that means, it's quite possible that just 1 guy is developing AI while 1 guy is testing it.

I have no idea what the structure or project cycle of the Hex team is, nor how many members the team has, but it would not surprise me if there were very few hands that actually touch the AI.

jonsnow2000
02-07-2015, 11:09 AM
You're underestimating the work involved if you're calling it a "simple script". The AI prioritizes dangerous targets for removal over less dangerous targets, its attacks take Swiftstrike and its own combat tricks into account as does it choosing blockers, there are specific cards it will not play (implying that it has card-specific AI), it picks between abilities and cards in hand seemingly based on cost, and it holds back cards sometimes when it can play them. That is not playing cards randomly; indeed, it may be in many cases worse than playing cards randomly as you can see when it holds back playing cards from its hand.

The only priorization on targets seems to be in the form of "which troop has the biggest attack value". Example: The AI has only ground troops on board, and you have a 5/5 ground troop and a 4/5 flyer (with no other special abilitys) on board. The AI plays "Murder", which will it target? Answer: it will very likely kill the ground troop, even though any human player would kill the flyer.

The thing with the combat tricks is another good example: it does indeed use combat tricks, usually when you block an attack. However, it never uses a trick if you don't block, even if it could boost to lethal damage. This is another example of the AI being governed only by a set of a few simple hardcoded rules. If you know those rules, it is trivially easy to beat it.

In the few battles I have managed to play against the Arena AI, I was able to breeze through any encounter with a simple aggro deck. I didnt even have any gear to boost my cards. The AI was as easy to figure out as always - simply build up a board presence, never block unless it swings for lethal, and once you are ready go for the lethal backswing.

Kilo24
02-07-2015, 11:44 AM
I agree that it uses a set of simple hardcoded rules in many situations; I just disagree that that makes it a simple script. I'm not saying that complexity = good, just saying that it's a lot more complex than a simple script like "whenever you're presented with a choice, pick the action that will deal the most damage to the enemy and break ties randomly otherwise". And in a machine learning context, those scripts can work pretty well with a bit of weighting.

My contention here is that when you include a whole bunch of conditionals on things like swiftstrike, double damage, multiple blocks, acceptable trades and combat tricks - and that's just one part of the whole decisionmaking the script has to handle - the script is no longer simple. You can argue that it's a relatively simple take on a complicated problem and/or that it's too simple for what it needs to handle, but it's really not simple in the absolute sense.

Quasari
02-07-2015, 02:09 PM
I know some people like to bring up the duels ai as an example of an ai done right, problem is that it's a much different ai than hex's is supposed to be. Duels ai is based off of the minimax algorithm. It only searches for the best possible move by looking ahead at every possible future it can guess for a couple of moves ahead (not turns). It turns it into a very aggressive player, because all it can use to plan is right in front of it. Combos that come out of it are usually very simple and the only thing that can distinguish a difference in play style is the deck it's manning. BTW, figuring out the futures is very processor and memory intense (OK for a client, not a server)/

The hex ai seems to be some sort of cognitive architecture. They want it to understand what it's doing instead of calculating futures and how valuable they are compared to other future states. I'm going to guess they have integrated it's knowledge of the cards along side the rules engine so that when they implement a new card, the ai should know how to play it as well. This all seems to work and is a monumental achievement in itself. The ai should only get better from here as they fix it's ability to analyze it's own movements. It should also allow each pve opponent to feel different as each one can have different goal structures, or gain a love of playing a card, etc... It's not always about making the best move with these kind of ais.

Kilo24
02-07-2015, 02:14 PM
While we're on the topic of comparing similar game AIs, here's (http://www.gamasutra.com/view/news/224101/Video_Building_the_AI_for_Hearthstone.php) a postmortem of the Hearthstone AI development.

Yoss
02-07-2015, 08:36 PM
While we're on the topic of comparing similar game AIs, here's (http://www.gamasutra.com/view/news/224101/Video_Building_the_AI_for_Hearthstone.php) a postmortem of the Hearthstone AI development.

And now I know why everyone thinks HS AI is so easy to beat. :)

There were a few branch points where I believe Hex has chosen the other fork. It will be more work, but the end result should be better IF Chris can pull it off.

Axle
02-07-2015, 09:08 PM
I know some people like to bring up the duels ai as an example of an ai done right, problem is that it's a much different ai than hex's is supposed to be. Duels ai is based off of the minimax algorithm. It only searches for the best possible move by looking ahead at every possible future it can guess for a couple of moves ahead (not turns). It turns it into a very aggressive player, because all it can use to plan is right in front of it. Combos that come out of it are usually very simple and the only thing that can distinguish a difference in play style is the deck it's manning. BTW, figuring out the futures is very processor and memory intense (OK for a client, not a server)/

The hex ai seems to be some sort of cognitive architecture. They want it to understand what it's doing instead of calculating futures and how valuable they are compared to other future states. I'm going to guess they have integrated it's knowledge of the cards along side the rules engine so that when they implement a new card, the ai should know how to play it as well. This all seems to work and is a monumental achievement in itself. The ai should only get better from here as they fix it's ability to analyze it's own movements. It should also allow each pve opponent to feel different as each one can have different goal structures, or gain a love of playing a card, etc... It's not always about making the best move with these kind of ais.

Would this be what you're talking about?


From an interview awhile back, though the explanation is a bit vague.
http://gamasutra.com/blogs/ZoranCunningham/20130530/193030/Cryptozoic_Entertainment_on_designing_HEX_the_worl ds_first_digital_MMOTCG.php


Chris: I think the reason that nobody has really solved the issue of how to make genuinely great artificial intelligence for a TCG is because it's not enough to just be good at programming A.I., you also have to understand the core concepts of TCGs and you have to be able to merge the problem spaces together. As humans we know when a card feels right or wrong to play and being able to quantify why a card feels good doesn't have a simple pragmatic approach when it comes to programming artificial intelligence. Our A.I. System, codenamed Arbiter, is a real breakthrough proprietary engine that genuinely simulates the feeling of playing against a human opponent.

Chris: Arbiter also takes care of all the logistical stuff so that players can do what's most fun and that's play the actual game. With Arbiter, you have an official judge at every table essentially ensuring that players won't continually stumble into misplays, cheat, or miss a required card bonus.

Ben: More importantly, having Arbiter lets us design cards that would otherwise be impossible in a physical TCG. A user interface running in the background means that card stats and modifiers can easily be tracked as cards move between game zones [deck library, player hand, field of play, discard pile]. It removes most of the logistical tracking that players normally have to do with physical TCG's and, more importantly, opens up the door to new card interactions and abilities that could never be done with a physical product.

Aradon
02-07-2015, 10:16 PM
Interesting that most of what they talk about is basic rules enforcement, which has been handled already in many other games previously. I have to wonder if they have an in-development AI somewhere we don't know about that is capable of 'simulating the feeling of playing against a human opponent,' or if that was just a statement for what it will be when they finish with it.

Or if they were talking about making misplays that a proper AI wouldn't make :P It's a feature, guys, its a feature.

Gwaer
02-07-2015, 10:21 PM
Hmmm... I'm not sure what I can say on that subject... I *think* what they're talking about has been mentioned in an interview in more detail somewhere... But let me hedge closer to not being sued...

No comment.

Svenn
02-08-2015, 08:41 AM
I did have the AI burn my Darkspire Priestess in response to me trying to Replicator's Gambit her... that was definitely a surprise.

The AI is far from perfect right now. It's far better than the current AI on the live server, though. I saw it make much smarter plays most of the time.

It's already been said, but AI programming is ridiculous difficult and especially so in a TCG where there are so many variables to consider.

Quasari
02-08-2015, 10:13 AM
Would this be what you're talking about?


From an interview awhile back, though the explanation is a bit vague.
http://gamasutra.com/blogs/ZoranCunningham/20130530/193030/Cryptozoic_Entertainment_on_designing_HEX_the_worl ds_first_digital_MMOTCG.php

That sounds about what i was guessing. Course an ai is more than just the rules engine, but I figured that is the only part of the ai they have truly finished right now as it's still having problems evaluating when and how to play cards. Still once they fix that, there won't be too much extra work to put in when they add more cards. I'm excited to see what Woods does with this.

Mahes
02-08-2015, 10:56 AM
My largest concern based on what was shown, is the amount of time it will be before the Arena is actually released to Beta. I was honestly thinking April was a realistic time frame. Now I think the Middle of Summer would be more accurate. There looked to be just too much content that was not finished, much less the aforementioned AI. I was surprised but not in a good way.

While we might see a repair patch for what already exists, I will be surprised to see a real content patch anytime soon.

AstaSyneri
02-12-2015, 07:51 AM
My largest concern based on what was shown, is the amount of time it will be before the Arena is actually released to Beta.

I don't mind if Arena is released with the AI being less than perfect. Let's see how much change they were able to implement on the test server this weekend, it's interesting to go in there with no expectation.

After it we might (likely not) have a better understanding on when Arena could come out on the live server.