Frogboy Frogboy

Are you a human? Are you SURE?

Are you a human? Are you SURE?

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.

520,666 views 155 replies
Reply #76 Top

Quoting Red_Nemesis, reply 25
I haven't been very active, so I'm sorry if this is blatantly obvious to everyone else. Will there be singleplayer? This thread almost makes it sound like there will only be multiplayer outside of the campaign. I can't imagine a real time strategy game requiring an internet connection, so I'd be shocked if that was the case.

Only MP in early beta testing, but SP will be in game (probably added around 4 or 5 moths before release) form how i understand it...

Reply #77 Top

Quoting Red_Nemesis, reply 25
I haven't been very active, so I'm sorry if this is blatantly obvious to everyone else. Will there be singleplayer? This thread almost makes it sound like there will only be multiplayer outside of the campaign. I can't imagine a real time strategy game requiring an internet connection, so I'd be shocked if that was the case.

I wouldn't make any bets on schedule details at this point, but I agree that it now sounds like the 'full' public beta open to all pre-order customers will be preceded by an online-oriented 'pre-beta' or 'invitation-only alpha' or whatever. But I don't think those of us who want the game to be great without multiplayer/online stuff need to worry. Brad seems aimed at building a next-gen TBS single-player game with good multiplayer/online options, and not a multiplayer/online game with second rate single-player experience.

p.s. The forum code for quoting seems to have a reply number bug. The link might work, but reply 25 was a long while ago.

Reply #78 Top

Quoting Red_Nemesis, reply 25
I haven't been very active, so I'm sorry if this is blatantly obvious to everyone else. Will there be singleplayer? This thread almost makes it sound like there will only be multiplayer outside of the campaign. I can't imagine a real time strategy game requiring an internet connection, so I'd be shocked if that was the case.
GW Swicord answered most things, but I'd like to stress one thing you seem to have missed.

"Elemental: War of Magic" is NOT a RTS. It's a 4x TBS.
That is all.

Reply #79 Top

Will there be singleplayer?

Well, if you read the OP post:

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.

Hope this answer your fears ....

Reply #81 Top

Quoting Frogboy, reply 5

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).

What's the point to hide the source code from public? You miss a good opportunity to improve your AI with a community effort (like Civ 4 developers did when they implemented BetterAI mod improvements in Civ4: Warlords expansion). Since it's a standalone exe file, it's easy to let others modify it. You'll not be the first to publish the AI source code either - Civilization 4, Space Empires 5, The Battle for Wesnoth already did it.

Reply #82 Top

Quoting Ellestar, reply 6
What's the point to hide the source code from public?
Their point isn't to hide the code from the public, but their competitors.  Stardock AI's are some of the most advanced, human-like players that I've ever seen.  Why give corporate competitors a potential leg up on it?

(Not that I'd be against writing DLL style AI brains.  Anything like that is a good idea, I'm just playing something of a devil's-advocate here.)

Reply #83 Top

Quoting The, reply 7
Their point isn't to hide the code from the public, but their competitors.  Stardock AI's are some of the most advanced, human-like players that I've ever seen.  Why give corporate competitors a potential leg up on it?
(Not that I'd be against writing DLL style AI brains.  Anything like that is a good idea, I'm just playing something of a devil's-advocate here.)

Maybe the competition is the main factor behind the decision, but I'm glad that the core is private because I wouldn't want to see folks around these forums boiling every last bit of surprise out of the game by publicly analyzing the algorithms to death.

Reply #84 Top

Wow Frogboy you have some cool plans for this game. Must pre-order soon methinks. ;)

+1 Loading…
Reply #85 Top

Quoting The, reply 7

Quoting Ellestar, reply 6What's the point to hide the source code from public?Their point isn't to hide the code from the public, but their competitors.  Stardock AI's are some of the most advanced, human-like players that I've ever seen.  Why give corporate competitors a potential leg up on it?
(Not that I'd be against writing DLL style AI brains.  Anything like that is a good idea, I'm just playing something of a devil's-advocate here.)

Noone uses intricate algorithms in game AI because it's inefficient, and all these algoritms aren't new in AI development anyway. Algorithms aside, a specific implementation is useless for others anyway since it's game-specific. So, what exactly don't you want to show to competitors?

But more importantly, AI in most other games sucks not because others can't do a better AI but because there is no point to do a better AI. You can just add a new difficulty level where AI cheats a little more instead of improving AI and you get almost the same effect for zero development cost (Stardock did that exact thing with GC1 in one patch, for example). What's the point to waste money and development time if you can live without it?

I think a more likely possibility is that it will take extra effort to make it possible for others to change the AI. But i think that previous modding experience shows that community involvement is well worth the effort. Well, at least it is most of the time.

P.S. And don't joke with "human-like" please.

Reply #86 Top

Are you human... no... are you a meatbag... YES! :grin: k1

Reply #87 Top

Quoting Ellestar, reply 10
But more importantly, AI in most other games sucks not because others can't do a better AI but because there is no point to do a better AI. You can just add a new difficulty level where AI cheats a little more instead of improving AI and you get almost the same effect for zero development cost (Stardock did that exact thing with GC1 in one patch, for example). What's the point to waste money and development time if you can live without it?

Well, the AI in GalCivII doesn't suck and the AI in Elemental won't suck, since we have a dedicated AI coder for it (Frogboy who is the Frog!) ^^

He takes personal pride in creating the best AI who plays the best game without cheating (though that option is still available for seniored cracks that beat anything to death.)

So, what was your point again? :P

Quoting Ellestar, reply 10
P.S. And don't joke with "human-like" please.

Yeah, why would the AI want to be meat-bag like, when it can have the efficiency of an... well... AI? :O

Reply #88 Top

What's the point to hide the source code from public?

Well, is the problem to hide things or to try to have things efficient? Having the source code of the AI open to the public means:

- some scripting language for the AI and some interpreters. Bugs can be more difficult to track on interpreted things than on compiled ones

- scripted code can be less efficient than compiled code.

- it is easier to make distinct specific AI than a general AI that will handle correctly any allowed scripting code. And I am pretty sure that the modding community will always try to push boundaries outside what dev things that it can be handled 

- the data you can manipulate throught scripted code are not the same/less efficient than with compiled ones since there are C++ libraries to handle complex data structures.

- handles must be made to link between the scripted code and the behavior. It is possible that some handles given at one time are no longer pertinent but must still be supported

- open API must be enough documented, not too complex and enough robust in order to be used by the personn who hasn't coded it and can't correct it

In computer, there are always tradeoffs as you have limited development power.

 

Reply #89 Top

Quoting Peace, reply 13

What's the point to hide the source code from public?

Well, is the problem to hide things or to try to have things efficient? Having the source code of the AI open to the public means:

- some scripting language for the AI and some interpreters. Bugs can be more difficult to track on interpreted things than on compiled ones

- scripted code can be less efficient than compiled code.

- it is easier to make distinct specific AI than a general AI that will handle correctly any allowed scripting code. And I am pretty sure that the modding community will always try to push boundaries outside what dev things that it can be handled 

- the data you can manipulate throught scripted code are not the same/less efficient than with compiled ones since there are C++ libraries to handle complex data structures.

- handles must be made to link between the scripted code and the behavior. It is possible that some handles given at one time are no longer pertinent but must still be supported

In computer, there are always tradeoffs as you have limited development power.

Hmm? I meant C/C++ source code, exactly as developer said. Why did you decide that i asked to translate it to some scripting language? It's nonsense.

Quoting Peace, reply 13

- open API must be enough documented, not too complex and enough robust in order to be used by the personn who hasn't coded it and can't correct it

A person who hasn't coded can't contribute to AI development anyway so it's an obvious waste of time to make it user-friendly for such persons.

Quoting Vandenburg, reply 12

Well, the AI in GalCivII doesn't suck and the AI in Elemental won't suck, since we have a dedicated AI coder for it (Frogboy who is the Frog!) ^^ 

Well, it does retarded mistakes so it isn't that good either.

Quoting Vandenburg, reply 12

So, what was your point again? 

Look in the mirror and say it again. In any case, if you don't understand my points then sucks to be you.

Reply #90 Top

I meant C/C++ source code

Sorry, my mystake. I didn't correctly understand at which point in the following sentences you were referring to :

Note that this isn't a scripting language. Our AI's are written in C++ and are, sadly, closed source.

 

Reply #91 Top

Well, it does retarded mistakes so it isn't that good either.

Well, I don't know how good the AI in Elemental will be, but your incorrect about the AI in GalCivII.

It doesn't do "retarded mistakes". It's actually very efficient and good at the game, providing a challenge for most gamers on Though (the difficulty where it plays its strongest without cheating). It sometimes does things which don't look optimal, but most of the time there is a reason for it (or there was a bug causing it, happend too sometimes). But usually it doesn't do much that can be considered as wrong per se. (Of course it lacks the overall strategy and determination of a human player, but then which AI doesn't. Also good is relative. The GalCivII AI is very good compared to all currently existing TBS games.)

Look in the mirror and say it again. In any case, if you don't understand my points then sucks to be you.

Hey, did you just try to flame? Or did you really don't understand my point in pointing out that your point was moot after my (pointy?) reply?

So I'll reword what I'd said: You argued that StarDock won't make a good AI because it's easier and cheaper to just give the AI bonuses (like the CivIV AI got) to make it competent and thus StarDock should make its AI routine open source so that the community can fix it.

I then said that StarDock won't be cheapskates and will ship the game with a good and competent AI. I.e. I argued that your basic premises were wrong (Elemental having a bad AI) and thus the point you were trying to argue obsolete.

Now about the sucking part, want a lolly? :rofl:

Reply #92 Top

Quoting Peace Phoenix, reply 13

- open API must be enough documented, not too complex and enough robust in order to be used by the personn who hasn't coded it and can't correct it

A person who hasn't coded can't contribute to AI development anyway so it's an obvious waste of time to make it user-friendly for such persons.

I fear I wan't clear enough. The idea was to make the routines enough documented for being used by people external to SD that want to use them. After all, there will always be one point, in the case of open source AI in a non open source project, where there will be calls to undisclosed code.

Reply #93 Top

We should not brag too much about the Frog. Larger game companies/developers could snap it up and steal the beloved Frog from Stardock. The world would be so much poorer with Frogboy working for EA....... God forbid having Frogboy destroyed working on Spore II or the SIMs!

Reply #94 Top

steal the beloved Frog from Stardock

One shouldn't forget that the Frog owns Stardock and is the only shareholder. So stealing the Frog from Stardock means first that another company must buy Stardock.

And the Frog has numerously stated that Stardock is not for sale ...

Reply #95 Top

That's just jolly good to hear, old chap! Now I feel alot better! :D

Reply #96 Top

Quoting GW, reply 8
[quote who="The Wicked Flea" reply="7"]

Their point isn't to hide the code from the public, but their competitors.  Stardock AI's are some of the most advanced, human-like players that I've ever seen.  Why give corporate competitors a potential leg up on it?

(Not that I'd be against writing DLL style AI brains.  Anything like that is a good idea, I'm just playing something of a devil's-advocate here.)

Maybe the competition is the main factor behind the decision, but I'm glad that the core is private because I wouldn't want to see folks around these forums boiling every last bit of surprise out of the game by publicly analyzing the algorithms to death.

[/quote]

I very much agree with you there. The least enjoyable thing that could occur would be for someone to expound every secret of the AI and it became bland. That said, ongoing extension by other programmers besides Brad would be entertaining.

So, how about scriptable AI then?  Like lua, ruby, or python for a scriptable AI; this would keep the core private and let the users extend the game as they desired.  Want an AI that only rushes bear cavalry armed with scimitars?  No problem! :grin:

Reply #97 Top

Quoting The, reply 21
So, how about scriptable AI then?  Like lua, ruby, or python for a scriptable AI; this would keep the core private and let the users extend the game as they desired.  Want an AI that only rushes bear cavalry armed with scimitars?  No problem!

I don't think a script part would work very well with Brad's work, which is after all not scripted by intention.

But on modyfying the AI: Brad Wardell said that he may make certain parameters of the AI modable, so users could influence how the AI works, but on how much that will be, we'll have to see.

 

Edit: Broken comment system is broken.

Reply #98 Top

But on modyfying the AI: Brad Wardell said that he may make certain parameters of the AI modable, so users could influence how the AI works, but on how much that will be, we'll have to see.

IIRC, the way GC2 works relies heavily on detailed content in XML files that *are* player moddable. It might not be plausible to get an AI scripting tool for Elemental, but perhaps the XML files that the C++ routines use will include traits that you can tweak to change combat or city-building tendencies and perhaps even copy and modify to add a whole new AI to the set. It appears that the online side will include a growing number of AIs hosted by Stardock, so if they can add 'characters,' why shouldn't single-player folks be able to do something similar?

Reply #99 Top

Great news. Look forward to playing against and with the BOTs. :borg:

Reply #100 Top

With as much as Stardock loves AI, and I love you for it, I wonder whether you guys have experimented with any genetic algorithms, or whether you are planning to do so?  Your server-living faux-human process sounds like a great opportunity to employ them to both create and hone your AIs: daily tweaking, very random actual human inputs, and a clearly defined generational goal to win.  In such ideal circumstances I would imagine that genetically developed AIs would improve substantially more quickly than purely human-coded ones.  And it sure it easy to change just a couple personality variables and see what happens after 20 generations.