New bots!

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
User avatar
clime
On Lightcycle Grid
Posts: 10
Joined: Mon Feb 15, 2010 9:53 pm
Contact:

Re: New bots!

Post by clime »

Tank Program: Well, if i see it right, you are taking it to a next level, where you have got different methods of solving a certain situation, so that you reach your desired goal, by using available actions. That is what a human mind does every moment. Is code enough for that? xD

Seriously. You basically integrate the e.g. minmax searching into a larger system using it as a tool of some higher decision layer. That layer decides of a particular goal and then chooses a method for computing moves to reach that goal. Am I interpreting you right? If so, your ideas have wings longer than mine. I thought of minmax as the highest (and only one) decision layer with the only one goal - directing towards positions on grid that maximize fun.

I think, the minmax plugin (between other plugins) could be used to find the best move (sequence) to reach a current goal. But then you need to come up with an algorithm that chooses right goals and right methods. And now you stand in front of a big problem how to do that.

I might be disinterpreting you but at least I am trying to understand...

compguygene: The decision tree thing would need more info. The question is if it would be compatible with what we have already got here. If it could fit in somehow.
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Re: New bots!

Post by Tank Program »

Clime, yes, I think that first line sums it up. Code may not be "enough" in a traditional sense to write it deterministically from the start. But maybe if we toss enough options at it it'll all magically work some how? :)

The minmax would be a tool of the decision making process, but not necessarily the only bit. If we pick a move through minmax, that decision should have a confidence which could be compared with the result of using other decision methods.

Choosing the goal could be based, as compguygene suggests, on the game mode. Really, the number of decisions isn't that great, it basically comes down to "kill a player" or "avoid getting killed by a player." How either of those is carried out becomes the next question, which is when we start looking at the available moves. These moves in a predefined plug-in way, or the raw form of simply saying "turn left." I think if we want a bot to have that extra flair, having the tool kit of established moves is necessary. We simplify the computation needed to decide a course of action tremendously as well as expanding it tremendously because in effect a pre-selection has been carried out.

<extended metaphor>I was working on a (for fun) project a while back of writing software to recursively solve a Rubik's cube, one move at a time. Now, obviously there are a lot of options. I was trying to solve it one move at a time, trying to approach a more and more complete cube. However, my list of options was made entirely out of "turn left" (rotate type layer clockwise 90 degrees) type moves. This had the effect of wasting enormous amounts of CPU time (we're talking a lot past a search depth of 16^6) probably going back and forth, searching elusively for those moves that solve the cube. However reading any website on solving a cube will give you sets of maybe 10 moves to swap this square with that one. I never got that far, but I'm pretty certain that programming those moves in would have allowed the computer to solve the cube in no time flat. Not through any clever heuristics/nueral networking type thing (as I've seen for other computerized solutions) but because the scope of the problem was greatly reduced. </extended metaphor>

The problem is of course creating a sufficient interface to provide the scripting language/plug-in thing with everything that could be needed to inform a decision... I suspect just a gSensor isn't enough. That tells you where a wall is, and maybe some other stuff I'm forgetting. The bot would need access to speed (velocity) information, acceleration would be nice, locations of zones, wall density maybe. And of course the scripting language would need to be nice and user friendly so that anyone could write a plug-in...
Image
User avatar
clime
On Lightcycle Grid
Posts: 10
Joined: Mon Feb 15, 2010 9:53 pm
Contact:

Re: New bots!

Post by clime »

Well, you actually got me excited. I think I understand now. The arma core picks a goal and passes this decision to a plugin that should return an appropriate atomic move (left, right, straight) or sequence of atomic moves.

Now you might consider handing over the goal picking to the plugin as well. That means, let a plugin define its own internal set of goal if desired and present it with just a situation, not with your expectation. I think this can bring benefits to us. Let's call such a plugin "strategy".

So a strategy would have access to information about the grid state through the interface and should return some moves if called. As you suggested, the core could maintain a statistics about its available strategies. It could literally reward them with points if they reach a victory. A rating (strength) of each strategy would be recorded and the core would be picking strategies based on the ratings and required strength of the bot.

Now, we might want to know which strategy is good given the current situation so that the core switches appropriately between strategies during a round. And here we come again to the already mentioned problem of determining the cause of our victory/loss because we need to give points to the right strategy. Before the causes were moves, now they would be something much more complex. Great xD.

But it is a problem only in case we want to know such information (suitability of a strategy given "now"). We could also just let them play whole round/match sometimes and rate them only on such occasions based on overall round/match stats. Less nice, more real.
Magnie
Posts: 7
Joined: Thu Jun 03, 2010 3:37 am

Re: New bots!

Post by Magnie »

I'm still having trouble wondering if this "gLATIS" is real. :p I was hoping to try it out, but I read further and realize it was an April Fools joke. ( Lol, I knew something was wrong when I watched the video xD )
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Re: New bots!

Post by Tank Program »

Magnie wrote:I'm still having trouble wondering if this "gLATIS" is real. :p I was hoping to try it out, but I read further and realize it was an April Fools joke. ( Lol, I knew something was wrong when I watched the video xD )
Ah, sorry. But it has provoked some useful discussion as you see...

clime, I think you're starting to see. A plugin could indeed choose the strategy. It's something that shouldn't be changed too often in a game though. Probably best evaluated every 10 moves or so, so that any current tactics have a chance to finish executing so that when mode switches no leftover triggers make it do crazy things.
Image
IZZIMAHIZZI
Posts: 5
Joined: Wed Feb 20, 2008 3:19 am
Location: California

Re: New bots!

Post by IZZIMAHIZZI »

If someone was good at hacking a gaming codex or system, couldn't they just take the downloaded file and change the bot to their own player so actually when you play as a chatbot in a game the chatbot would just own for them?
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Re: New bots!

Post by Tank Program »

Probably, but that's always a problem we'll face.
Image
User avatar
Titanoboa
Reverse Outside Corner Grinder
Posts: 1795
Joined: Sun Feb 22, 2009 8:07 pm

Re: New bots!

Post by Titanoboa »

IZZIMAHIZZI wrote:If someone was good at hacking a gaming codex or system, couldn't they just take the downloaded file and change the bot to their own player so actually when you play as a chatbot in a game the chatbot would just own for them?

Obsi had a really modified chatbot for a while, and it'd be really hard to kill it in sumo and almost impossible in ctf. However, a bot will never* be smart enough to beat a good player in a game like tron.

*I'd be happy if you proved me wrong.
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Re: New bots!

Post by dlh »

Obsi's bot wasn't modified. He simply enabled and tweaked the advanced/debug chatbot settings. That's how good the current bot can be.
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: New bots!

Post by Jip »

Yes, but sadly on regular servers you only can enable that for chatbots not for AIs.
Post Reply