What do you think of an AI contest?

I’ve mentioned before that I think Robocode is the way forward for this contest, but it seems to be we’re taking a different route, so I suggest the following.

Someone should come up with an interface, a set of commands that each bot can use to determine something about it’s environment.

getArenaWidth()
getArenaHeight()
getNumberOfBots()
etc

along with all the useful methods like

getVectorToClosestBot()
moveLeft()
moveRight()
fire()
etc

Then we the contestants can then write our own arena and bots, as long as the contract defined in the interface is maintained, I should be able to then place my bot into anyone elses arena and have it work straight away. No possibility of cheating here since I only know of the published api for determining information about my environment.

If someone who has plenty of time on their hands wants to write a fancy arena, which renders the action in real-time using LWJGL then so be it.

So in summary:-

  1. Define the problem that we’re trying to solve (last bot standing wins or find all carrots in a field in quickest time etc).
  2. Start to define an interface that we can use to support this contest so that each bot works on the same set of actions and information.
  3. Give us a dates for interface finalisation (we can all contribute ideas) and contest day!

Andy.

I totally agree with that. If we have only certain methods that let us access the game itself in order to control our bots, then that makes the contest very fair as well. Then you know the contest is about making smart AI and not “who can make the most complicated framework to outline and handle hoardes of features”

I used to play this a couple years ago, its quite good and seems pretty similar to what you guys are talking about, may be worth a look:

http://botbattle.com/botbattle/default.php

Robocode, Botbattle etc are are very similar and unless this contest is trying to solve/show off other AI problems I think these would be ideal frameworks to use as the basis for the contest.

It’d be good to hear from someone what the actual goals would be should the contest actually go ahead, then we could at least look around for existing frameworks that would meet those needs.

The interface I mentioned previously is exactly the principal behind how Robocode works.

So I ask, what AI problem will this contest be asking use to compete in solving?

Andy.

I just woke up from dreaming about coding for the contest. I think I’m gonna win :wink:

[quote]So I ask, what AI problem will this contest be asking use to compete in solving?
[/quote]
seems to me our choices are:

agent vs agent
agent vs agents
agent team vs agent team
agent vs environment
agents vs environment
agent team vs environment

  • permutations and combinations

if people want agent vs. agent then robocode should be fine. some of the other choices seem more interesting to me…

So I was thinking some more about this contest, what we need is a few guidelines for submitting ideas on what aspects of AI the contest should be testing.

I came up with this list, that should be submitted with each idea.

  1. A brief overview of the idea.
  2. Describe the idea.
  3. How can/does this apply to AI in games.
  4. How do you rank/rate competeing agents to determine the best.

Here is a simple example:-

Idea 1

  1. An agent that plays minesweaper.
  2. AI that determines the next best move in a random world where the next move could be death.
  3. Chossing the next move in a world where death is possible and undesirable, chosing moves that don’t result in death are better.
  4. Play 100 games of minesweaper, the agent that wins the most games, or dies the least is the winner.

I look forward to seeing some better ideas soon.

Andy

Count me in, I’m with you :slight_smile:

Hi, first time poster here but I am interested in this idea.

First I would like to mention the APT tool which comes with 1.5. It allows for preprocessing of source code marked with annotations. Instead of some custom security manager at runtime, I would think this would possibly allow for code violations to be checked at compile time.

I am curious as to if you think there should be a cost to actual instructions. I’m new to this but it seems to be fair that each agent should get equal cpu time slices. I’m not sure how this is done accurately. Consider though that each function that the game arena calls on the agent has a predetermined cost or energy usage which is determined at compile time using the APT. This way a fine tuning database could be constructed which will have different cost values for different library calls. Math.trig calls might cost 4 points, + - / * might be worth 1 point, any paranthesis might be a point. A recursive call might be 10 points.

Provide the framework, explain the rules, and I’m in.

Are there gonna be different levels in the competition (Super Programmer, Rookie etc…)

i’d fit in the catergory of rookie, (plus i’m underaged), does that mean i don’t get to go in?

is this competition happening over the internet?

when and where is the competition taking place?

have i missed it?

Nothing’s happened with this yet.

I think one of the recent projects accepted for java.net was to do with AI for soccer. Perhaps that would be a good test bed? Probably should start with something a bit simpler first though.

I think this will be a very interesting contest if we can get it going. I also think it will be harder than previous contests (e.g. 4k) though.

Hey, i just figured: (assuming someone’s got this underway)

the games could have a 1000 fps (or something close) because it’s ai, doesn’t care how fast it is,
so is the game going to go superfast, no visual display apart from who enters, who wins,
or is it going to be “slow” so humans can see who’s winning and whos losing.

and is there a limit on how beatable it is? (like in a game of pong, if you set up two ai against each other, it will go on forever.)

For the type of game, i reckon:

it should be a mixture of strategy and action

luck should be applied to all players

e.g. a randomly generated “world” gets tested by all ai bots, each bot rotates to the next position…

strategy as in, does the ai bot risk it’s health to get a better weapon in a chest guarded by creatures,

does the ai give up his bow/rifle for a sword/machine gun

does the ai bot stop for health or pursue his opponent ai bot for points

does the ai bot take the short + more dangerous route to complete the mission quicker (more points)
or does the ai bot take the slow route with fewer ai bots and gain more health

does the ai bot act aggressivley to destroy ai bots, or does the ai bot team up (if an option),
does the ai bot act stealthily like a guerrila

stuff to consider…

btw

(caps lock for noticing, not anger)
HOW MANY PEOPLE ARE INTERESTED IN THIS SO PLANNING CAN BEGIN

The last one wasn’t that sucessfull was it? One entry I believe.
I would probably take a look at it, but I don’t know if I have time :confused:

The whole how many interested was to get back to the first post in the thread

I’m interested, would take part if it was on the web, the sort of thing the 4K is

The main issue I see is that AI will likely take much more time and effort than the 4k.

Darn! Hopes and Dreams up, though now it doesn’t seem to be in progress. :frowning:

Oh Well, if it doesn’t happen, i could use the idea for a local ai competition (for when my friends actually learn programming, and i suggest (force is more like it) them to try java.

For what it’s worth, you can check out my Robo Battle Pigs AI Challenge programming competition page here: http://www.cs.bsu.edu/~pvg/games/rbp/. Contestants submit AI scripts written in beanshell. I discussed a number of different strategies with my students, from randomly blasting to tracking the opponent.

Cheers

[b]
hi,
i’m the one who started this idea. :slight_smile:
And the contest was the following: http://ece.fsa.ucl.ac.be/adagneli/aicontest/
It was in 2004 i think, but i’m not sure. And despite having advertised it on several gamedev and ai sites, i only received a single AI submission like arne said, so it was rather disapointing. I believe however several people attempted to make an AI but were fooled because it turned out to be much harder than it looks at first sight.

Nevertheless, if many of you still want to see another contest, i would be ready to make a new one for a 2006 edition! :stuck_out_tongue:
…But this time, i would be more inclined to make a turn-based one like a simple board game.
[/b]