Are you a human? Are you SURE?

By on December 3, 2008 1:17:15 PM from JoeUser Forums JoeUser Forums

Frogboy

Join Date 03/2001
+1477

Medallions_Advanced_Foot_SoldersOne of the first things we're going to be beta testing for Elemental is a new way of doing computer AI. As some of you know, the main reason I got into development in the first place was to write computer AI for games.

Elemental is an opportunity to try some new things.  For example, the initial betas of Elemental are going to require the user to be on the Internet to play.  The reason is that the computer AI won't be inside the game itself but instead be implemented as AI players on the Impulse game cloud that we're building.

So you would, in effect, start up Elemental like you would a multiplayer game except that the people joining your game wouldn't be people. They would be AI people. And the AI work won't just be in how they play the game but how they behave -- in the lobby and elsewhere with the goal to make them feel like real people (except not jerks).

These AI players will have their own Impulse accounts with their own standings in the rankings, their own achievements, etc.  The code won't execute on your machine, it'll be all server-based.

The final version of the game, of course, will not require the user to be on the Internet. We will bundle a number of the AI players in with the game to play single player, off-line games.

But what I hope to do is to build a cloud of multiplayer AI players that I can constantly be updating and enhancing in near-real time based on the data I get back from them on how they were beat, what exploits were used against them, what chat messages were sent to it that it needs to respond to (I'll probably have it respond "no speako English" for the most part).

In the final version of the game, these AI bots will be out there ready to join on-line games.  We will give players the ability to discriminate against the robots if they have some sort of anti-robot issue and don't want them joining their multiplayer games. But the match-making system otherwise won't know which players are controlled by humans and which are controlled by the robots.

The nice thing is that for people who are used to playing with strangers on-line, the robots will help fill out the on-line community with people to play against who are explicitly designed to play like people (well like decent people not the people who drop immediately). 

I expect the first version of this to be included with Beta 1 of Elemental (i.e. this isn't some "future" thing) which we expect will be out this Spring.

Locked Post 155 Replies +3
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:32:22 PM from Elemental Forums Elemental Forums

Wow.

 

What can I say, besides:

 

Hail the frog!

 

----------------------------

Though that makes me wonder, how much of a computing infrastructure will such a system require? Will stardock go bankrupt because all single player people will suddenly go online?

And is there an option to play only with computers online? (I.e. for people who prefer single player but would like an always up to date AI that provides a good challenge.) Or short: Will there be an ability to discrimate against humans?

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:33:08 PM from Elemental Forums Elemental Forums

Brad-

Any chance you'll allow the community to also create and submit their own AI personalities?  Given the nature of Elemental to have user content, I could see submitting AI personalities as an option.

Also, you may want to let folks know that if they pre-order they have to play online.  Not a problem for me, but something those who preorder may need to know.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:38:37 PM from Elemental Forums Elemental Forums

Quoting Vandenburg,
Wow.

 

What can I say, besides:

 

Hail the frog!

 

----------------------------

Though that makes me wonder, how much of a computing infrastructure will such a system require? Will stardock go bankrupt because all single player people will suddenly go online?

And is there an option to play only with computers online? (I.e. for people who prefer single player but would like an always up to date AI that provides a good challenge.) Or short: Will there be an ability to discrimate against humans?

 

 

There won't be an unlimited number of these robots on-line.  We're thinking only around 200 to 300 of these robots.  And once they're all involved in games, they're involved.  But it automatically gives the multiplayer ecosystem a population.

As for discriminating against humans. I really hadn't thought of that.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:40:43 PM from Elemental Forums Elemental Forums

I admit it, I am a bot. My primary function is to farm karma: once enough is accumulated, I will proceed to auction this account on Ebay, and forward the proceeds to my creator.

I approve of the work Stardock is doing for bot-kind.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:47:44 PM from Elemental Forums Elemental Forums

Quoting Lord Reliant,
Brad-

Any chance you'll allow the community to also create and submit their own AI personalities?  Given the nature of Elemental to have user content, I could see submitting AI personalities as an option.

Also, you may want to let folks know that if they pre-order they have to play online.  Not a problem for me, but something those who preorder may need to know.

They won't be able to create thei rown AI personalities from scratch but I would likely welcome the opportunity to let others create derivative ones or even host their own AI personalities that play on-line.

Let me describe what we've got here a bit:

So you would have a directory called say \BILLY

Inside \BILLY would be three files along with a subdirectory called \LOGS.

The three files would be ElementalRobot.exe, AIInfo.XML and AITactics.xml

AIInfo.xml contains the Impulse account information.  You would have to create an Impulse account for your robot  with UserID and password.  This info goes into the AIInfo.xml file.

The AIInfo.xml also has the parsing stuff in there. You'll be able to put in key words for the AI to look for and type in hard-coded responses. 

Example:

<PlayerQuery>Are you there?</PlayerQuery>

  <Response>Sure am, just want to play!</Response>

AITactics.XML would have a bunch of data on how they will play the game.  Note that this isn't a scripting language. Our AI's are written in C++ and are, sadly, closed source.  But the XML file would have a lot to do with how well the AI plays the game (most of my work in GalCiv II's AI at this point is just modifying variables that could have been put into an XML file).

The \LOGS directory includes game/chat info from each game so it would be full of files from each game the robot has played.

You would run ElementalRobot.exe (or you could rename it to Billy.exe) and off he goes, connecting on-line to find games to play and joining games, chatting, whatever.

Like I mentioned before, we would probably run 200 to 300 of these robots ourselves and let others add their own if they want.  

We haven't decided whether we're going to let the robots start their own games otherwise you might have tons of robot on robot battles which kind of defeats the purpose.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 1:57:53 PM from Elemental Forums Elemental Forums

I'm going to go ahead and assume that every bot out of the 200-300 will be able to play several games simultaneous without issues (well, except natural growth-aches), so that there's no issues with several hundred players at once.

Also, not to be picky (this is BETA, after all) but discrimination of humans is a must. I've really got no desire to play against other humans (I'll gladly play with other humans, but the nature of games like this tend to be very competative - I prefer hard-line coop).

Edit: It sounds awesome, by the way. Sounds like a great way to evaluate AI's and 'evolve' them for the full game.

Edit2: What would happen if you disconnect during the course of play? Some, including me, sometimes have very dodgy interwebz. Some days (most) I have consistant 24mbit/s, other days it just keeps disconnecting.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:03:19 PM from Elemental Forums Elemental Forums

Very cool. This system sounds righteous and given it is pretty much open to the community base, makes it wicked if it works as intended.

I hope we will be able to create video avatars and logos for the AI bots as well. I can see the day when we could download or even purchase, insidiously well developed custom AI opponents. Hell toss in some unique units and we could have wholesale faction add-ons. A mini cottage industry if you will.

 

All hail the frog!

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:21:34 PM from Elemental Forums Elemental Forums

You would run ElementalRobot.exe (or you could rename it to Billy.exe) and off he goes, connecting on-line to find games to play and joining games, chatting, whatever.

So, let's say I create a Vandenburg.exe. I guess that would mean I don't have to play online anymore and could let the CPU play the game for me. Gives me a lot of time to do other things besides playing then...  

 

I'm going to go ahead and assume that every bot out of the 200-300 will be able to play several games simultaneous without issues (well, except natural growth-aches), so that there's no issues with several hundred players at once.

Well, I don't think that would happen.

200-300 are probably enough to fill enough games so that multiplayer is always an option, even at times when most people sleep (which seems to be a problem with the Sins multiplayer). If there are thousands of people online, there isn't a need for those bots anyway, but for times when only a few are, it would be great.

 

 

What I really like about this idea though, is that I've an old pc connected to the internet that isn't fast enough (graphic card wise) to run most modern games, which I could use to run a dedicated AI program. So please let those AIs be able to run wild and utilize all cpu power of a computer. Even better if you wouldn't have to run the games graphic engine for those, like with dedicated servers for shooters so you could run a really good AI on them.

 

So, how about a dedicated AI version for linux systems to let the AI run on it? (A 64bit Vista version would also work I guess...)

 

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:24:17 PM from Elemental Forums Elemental Forums

You mentioned you wanted the AIs to behave like real people playing the game, but will there also be AIs that behave like real leaders in the game, that is, an AI that tries to roleplay as a channeler?

In multiplayer games, the player generally only has one goal, win the game. All the rest comes secondary. Some players however, especially in singleplayer mode, try to roleplay a leader with a type of personality. For example, an honorable one that will not stab you in the back. Or a xenophobic one that trusts noone and will not make an alliance, since he is convinced you will betray him. Or a peacefull one that will not start a war, but will also not give in to threats, and when attacked will respond by trying to destroy your entire civilization, to set an example, and make others think twice before doing the same.

Now, having AI opponents that have such personalities will make them seem more real, and make them for some more fun to play against. But against players that play to win at all cost, and try to game the system, they will stand little chance. As such there also need to be AIs that play just like those players do, win the game at all costs, even if it means that your 'good' civilization will have to commit genocide without any good reason.

So, will we have both types, and if so, can we select which types can join the games?

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:24:35 PM from Elemental Forums Elemental Forums

Quoting Luckmann,
I'm going to go ahead and assume that every bot out of the 200-300 will be able to play several games simultaneous without issues (well, except natural growth-aches), so that there's no issues with several hundred players at once.

Also, not to be picky (this is BETA, after all) but discrimination of humans is a must. I've really got no desire to play against other humans (I'll gladly play with other humans, but the nature of games like this tend to be very competative - I prefer hard-line coop).

Edit: It sounds awesome, by the way. Sounds like a great way to evaluate AI's and 'evolve' them for the full game.

Edit2: What would happen if you disconnect during the course of play? Some, including me, sometimes have very dodgy interwebz. Some days (most) I have consistant 24mbit/s, other days it just keeps disconnecting.

Every bot would only play 1 game. A robot is a virtual player playing 1 game. There'd only be up to 200 to 300 of these robots playing on-line.   The initial betas of Elemental will be relatively small in terms of the # of people allowed in.  Obviously, the only real limit on the # of bots is the amount of hardware available. l

If you disconnect from a game, the robot would go find another game.  These are virtual players so they're going to do what any normal player would do.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:26:36 PM from Elemental Forums Elemental Forums

Thats a nice initiative. I like the idea to have both Player and AI in matchs (I often did that when playing some games) because its fun to see the AI interfering. Simply because, the AI do not have friend preferences (unless you are going to ingrate it) so you need to win his grace towards you somehow; and also do not have preferences to whom to atack in most games, so its just fun to see it interfering. There really are good things about AIs that a human player can not substitute.

Both have their positives and negatives; a player can be more friendly and you can chat with (which is great), but like Luckmann said, what can be a negative side of it for some (it is for me, in a way), is that it can be very competitive (or a jerk). So mixing both might be the thing.

I think mixing them might integrate players more to online games and to play together, thats why I think its a nice initiative.

I'm getting that, if there is a need for the AI to answer to players, it means the player won't be able to know what is AI and what is a player trough Info, because if they knew they would probably do not say anything to an AI. If I'm not undertanding it wrong, won't that lead to people frustratingly asking between players and bots which is what, and also having to keep in mind every match which is a player and what not, so that what they say to it would be valid?

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 2:36:06 PM from Elemental Forums Elemental Forums

I'm getting that if there is a need for the AI to answer to players, it means the player won't be able to know what is AI and what is a player trough Info, because if they knew they would probably do not say anything to an AI. If I'm not undertanding it wrong, won't that lead to people frustratingly asking between players and bots which is what, and also having to keep in mind every match which is a player and what not, so that what they say to it would be valid?

Yeah that could get annoying.

Imagine the AI with something like AIML. A help request would then probably sound like this:

 


Human: I said attack him
ALICE: Are you serious? What did you mean by it? What's your favorite movie?
Human: attacking, not movies
ALICE: I've never seen it. I would like to see it.
Human: that's not a movie
ALICE: Please correct my mistake. What is a movie ?
Human: cast the spell healing on my knights
ALICE: When is cast the spell healing on your knights not a movie?

Human: forget it
ALICE: OK Thanks for trying to explain that to me.
Human: build a wall
ALICE: Are you free?
Human: no, build a wall I said
ALICE: Why not? Do you believe the strong protect the weak?
Human: yes, that's why you should build a wall
ALICE: Have you ever been arrested or in jail? Interesting deduction. If it were easy I would have done it already.

After which the player shoots himself...

 

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 3:05:45 PM from Elemental Forums Elemental Forums

Quoting Frogboy,

Quoting Luckmann, reply 6I'm going to go ahead and assume that every bot out of the 200-300 will be able to play several games simultaneous without issues (well, except natural growth-aches), so that there's no issues with several hundred players at once.

Also, not to be picky (this is BETA, after all) but discrimination of humans is a must. I've really got no desire to play against other humans (I'll gladly play with other humans, but the nature of games like this tend to be very competative - I prefer hard-line coop).

Edit: It sounds awesome, by the way. Sounds like a great way to evaluate AI's and 'evolve' them for the full game.

Edit2: What would happen if you disconnect during the course of play? Some, including me, sometimes have very dodgy interwebz. Some days (most) I have consistant 24mbit/s, other days it just keeps disconnecting.
Every bot would only play 1 game. A robot is a virtual player playing 1 game. There'd only be up to 200 to 300 of these robots playing on-line.   The initial betas of Elemental will be relatively small in terms of the # of people allowed in.  Obviously, the only real limit on the # of bots is the amount of hardware available. l

If you disconnect from a game, the robot would go find another game.  These are virtual players so they're going to do what any normal player would do.
Won't that lead to the inability to continue a game, and risking people staying online even when not playing, just to make sure that "their" bot doesn't go anywhere?

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 3:08:42 PM from Stardock Forums Stardock Forums

Imagine the AI with something like AIML. A help request would then probably sound like this:




Human: I said attack him
ALICE: Are you serious? What did you mean by it? What's your favorite movie?
Human: attacking, not movies
ALICE: I've never seen it. I would like to see it.
Human: that's not a movie
ALICE: Please correct my mistake. What is a movie ?
Human: cast the spell healing on my knights
ALICE: When is cast the spell healing on your knights not a movie?

Human: forget it
ALICE: OK Thanks for trying to explain that to me.
Human: build a wall
ALICE: Are you free?
Human: no, build a wall I said
ALICE: Why not? Do you believe the strong protect the weak?
Human: yes, that's why you should build a wall
ALICE: Have you ever been arrested or in jail? Interesting deduction. If it were easy I would have done it already.

After which the player shoots himself...

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 3:21:12 PM from Elemental Forums Elemental Forums

Quoting Vandenburg,

Imagine the AI with something like AIML. A help request would then probably sound like this:

 


Human: I said attack him
ALICE: Are you serious? What did you mean by it? What's your favorite movie?
Human: attacking, not movies
ALICE: I've never seen it. I would like to see it.
Human: that's not a movie
ALICE: Please correct my mistake. What is a movie ?
Human: cast the spell healing on my knights
ALICE: When is cast the spell healing on your knights not a movie?

Human: forget it
ALICE: OK Thanks for trying to explain that to me.
Human: build a wall
ALICE: Are you free?
Human: no, build a wall I said
ALICE: Why not? Do you believe the strong protect the weak?
Human: yes, that's why you should build a wall
ALICE: Have you ever been arrested or in jail? Interesting deduction. If it were easy I would have done it already.

After which the player shoots himself...

 

That was fun reading, but true during a match might feel different. Thats exacly it, I worry that in that way the players would be starting chats to discover, or most probably, would always be asking arround who is Human and having to remember that trough the matchs to know to whom they should chat. Maybe in the moment the match starts it could be informed.

A good side to don't indenfy AI's: I guess there is also a deal that there are shy players (that might be afraid to play poorly (or don't show enough skill) and be recognized for that) could just don't say much and then he is considered an AI for a while (he can play cloaked lets say).He probably won't hear any agressive words.

A bad side: Soon might be a list with the AI nicks on the internet. Unless the AI nick could change and vary.

 

EDIT: I also have an idea. Some players make another account for playing (probably because of the reason I stated above) I suggest a feature where the player could (if he wants to play invisible anytime) be able to choose a different nick before entering the lobby.

Infractional Indentify problem: If that player act with bad behavior, there could a report that would still link to his account with the reason of it and a feature that would send a screenshot of the act direct to moderators (the accusing player selects the infractor during play and write the reason) that reveals the clocked ID so that only moderators could see which ID is. Actualy the screen goes with a little archieve that shows which IDs was at that match and what nick they were using.

Am I deviating much? (I feel I am) What I know is that even in IRC, and many games some people do like to be cloaked at least sometimes and doing another account is not practical and limited. I think something like that could encourage online playing even more, I'd do it at least sometimes.

I mean, how to not feel confortable when in shooter games for exemple, you can just put on a nick and beggin to play? Or even the IRC? That could be a feature. To avoid offensive nicks, than there could be pre-seted ones to choose from. That put less pressure on players or at least a group of them, and pressure unless from the gameplay itself is not a good incentive.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 3:58:56 PM from Elemental Forums Elemental Forums

I can see it now, someone arguing "but I am human - honest!". Please let me play again! I promise I wont zerg your ass this time.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 4:53:13 PM from Stardock Forums Stardock Forums

So how long until this cloud of AI's become self aware, take over the internet and then try to eliminate the human race?

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 4:56:12 PM from Elemental Forums Elemental Forums

Different. Ambitious. Interesting.

You guys are really putting your all in to this game... I can't wait.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 5:36:39 PM from Elemental Forums Elemental Forums

Quoting Lost_WLd,
So how long until this cloud of AI's become self aware, take over the internet and then try to eliminate the human race?
It's inevitable. I think it's someone's law of robits or artificial intelligence or something.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 5:48:24 PM from Elemental Forums Elemental Forums

Quoting Brad:

Every bot would only play 1 game. A robot is a virtual player playing 1 game. There'd only be up to 200 to 300 of these robots playing on-line. The initial betas of Elemental will be relatively small in terms of the # of people allowed in. Obviously, the only real limit on the # of bots is the amount of hardware available. l

If you disconnect from a game, the robot would go find another game. These are virtual players so they're going to do what any normal player would do.

So it sounds like the beta is going to be restricted, unlike past betas where all pre-orders are allowed to participate?  What is the criteria for being selected for the beta?  Earlier posts indicated that everyone was welcome to participate.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 5:55:45 PM from Elemental Forums Elemental Forums

Rolling your own AI and watching what the logs bring in could be a game in itself.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 5:56:47 PM from Elemental Forums Elemental Forums

All pre-orders will get access during the beta phase.  But we are likely to have some qualifiers for beta 1 which we're still trying to decide. 

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 5:58:02 PM from Elemental Forums Elemental Forums

Will you have control over which AI populate your game?  I mean, I don't want some impossible AI joining my game under some innocuous name like "Fred" and taking everyone to school.

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 6:04:47 PM from Elemental Forums Elemental Forums

Quoting Frogboy,

The initial betas of Elemental will be relatively small in terms of the # of people allowed in.

Huho, does that mean that not all of those who will preorder before the beta 1 release will be allowed in it?

Edit : It tooks me too long to read the thread and answer...

Reason for Karma (Optional)
Successfully updated karma reason!
December 3, 2008 6:11:41 PM from Elemental Forums Elemental Forums

Quoting Ragnar1,


So it sounds like the beta is going to be restricted, unlike past betas where all pre-orders are allowed to participate?  What is the criteria for being selected for the beta?  Earlier posts indicated that everyone was welcome to participate.

Only fair way is the order in which people preordered. FIFO style.

Damn, why did i wait a few days to preorder?

If people cannot play the beta as soon as it's available, they are going to complain. A lot. Let's hope that Karma doesn't gives privileges for the beta...

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #101114  walnut1   Server Load Time: 00:00:00.0000063   Page Render Time: