Page 1 of 2

Subterfuge NPC

PostPosted: Thu Nov 26, 2015 10:15 pm
by v3xt
Would it be as hard to design a computer controlled opponent as I think it would be? Obviously it's almost impossible to be diplomatic with a machine, but ignoring the diplomacy, is this even possible? I don't think I'd want to be playing a game where everyone else is a machine, but I can think of a situation where having a computer controlled player could be beneficial.

When people are auto-resigned, it's normally because they never came back to the game after it started. Maybe everyone will think I'm crazy, but wouldn't you prefer to see these outposts controlled by something, as opposed to just stagnating. Even if the AI didn't bother to attack others, it would be nice to see it reposition drillers defensively and maybe make the odd hire or promotion that will allow it to maintain it's borders.

I'd love to hear peoples opinions on a subterfuge AI and have someone tell me all the reasons why this would be really hard to actually make work.

Re: Subterfuge NPC

PostPosted: Thu Nov 26, 2015 10:51 pm
by mrhax
Great idea, but developing AI is a time and money consuming task. And an AI in a game like Subterfuge is even harder to code. Besides, the devs have higher priorities so we shouldn't expect AIs anytime soon.

Re: Subterfuge NPC

PostPosted: Thu Nov 26, 2015 10:56 pm
by tw2000
My initial ideas would be that the PC assesses the current position with a 'driller distrubution graph' This is basically like a population distribution graph, except with drillers. Of course the computer will only create it for the area without fog of war. Maybe it will 'estimate' some outposts further from the fog by looking at their max number of drillers and current number of drillers and etc. I'm assuming that this won't be too hard to create.
and then depending on the other players density around the AI's borders, it would move drillers from places of low density to places of high density as if it were a real player. And if there was a high density around the entire border then it would probably hire a defensive specialist, or if it was low then an offensive specialist. It might attack a player if it has a 75% chance of winning (I know its either a win or a loss, but 75% as in, what the computer think the human might do to counter it and how many drillers there are outside the fog of war). This will be the hard bit to program I guess...
ALso maybe make it only respond once every 4-6 (but unpredictably) hours during the 'day' which the computer can work out easily by looking at the player's previous sleep patterns and so on....This means that the computer won't always be 'online', and can't respond to threats immediately.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 5:52 pm
by v3xt
I wasn't suggesting that this actually be implemented any time soon, I just think it is an interesting concept. I have a basic education in some programming languages, and if I knew a way to have a program interface with Subterfuge, I think it would be a fun challenge to try to and develop a program that could accurately simulate a real player. The hard part would be to have it assume things and to anticipate other players actions.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 6:16 pm
by Bigredsk10
I would get frustrated the second a computer attacked me. I don't think there's any way to program it "fairly".

Auto-resigning is a problem for sure, but I can't think of a better solution than what's in place now.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 6:54 pm
by v3xt
What do you mean about it not attacking fairly? It would attack because it thinks it will win. If you don't want a computer to attack you, you'd reinforce your borders or eliminate the queen so that the opponent is actually gone. I think that having it attack goes beyond the scope of what I could actually see being implemented one day, which would simply be a program that can move troops around in a defensive way and possibly hire defensive specialists (such as an inspector or a smuggler).

That being said though, I didn't create this thread to suggest that they implement an AI. I wanted to discuss the technicalities of designing it and the way it would work in theory.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 7:35 pm
by Bigredsk10
Creating an AI that could navigate the mechanics of the specialists would be interesting, I think as an exercise it would be fascinating. Mechanics are only half the game though. In your example, if someone I was neutral or allied with went MIA, chances are my formerly peaceful border is not well defended because I'm attacking somewhere else. That's the weak border the ai would attack, that would be frustrating.

When I do get attacked, the first thing I do is start chatting happily with the person attacking me. It gives me a better shot at turning them against someone else. Many times people battling turn on a dime and become allies. It's a big part of the game. With the AI, if it thinks it can beat you, it's just going to slam its drillers into you until you lose. Fighting the AI would feel kind of empty and hopeless I think.

You'd almost need the AI to understand some basic human dynamics and conversation first. And then program it in a way that it couldn't be gamed or manipulated.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 8:14 pm
by roadkiehl
Yeah, the challenge isn't really programming the AI to move units around intelligently. The challenge is making it more than just a rolling death machine. And to do that, you have to make the AI more human.
I don't know enough about programming to guess at how you would do that, though.

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 8:21 pm
by tw2000
Maybe the AI should only attack someone who is attacking the AI? Thats the only way the computer can be sure its not allies with the other person...or at least, anymore...

Re: Subterfuge NPC

PostPosted: Fri Nov 27, 2015 8:59 pm
by v3xt
It would be possible to program a way to communicate with an AI so that you would be able to understand each other, but it would likely be very complicated. I doubt you'd want to simply text it, so it would require its own interface. It would also need some way to determine if it is being lied to, and an element of randomness to better simulate a real person. If you want it to seem realistic, it has to make mistakes. And it has to be more complicated than just clicking a button that says "ally" and it not attacking you unless you attack first. How hard would it be to make an AI that can manipulate and betray you? A program that plays to win, and is able to use you to meet its own goals.