gametechmods
Robot Arena Matches => Contests => Topic started by: Serge on July 19, 2009, 03:53:27 PM
-
Hey there, I hope I don't reinvent the wheel, and it's genuinly a new idea. If not, let me know.
I'm not really into tournaments, mainly because I'm really bad at robot building. But to the recent tournament goes not only a robot design, but also it's AI. This is what I've tought of.
Let everyone decide on a bot class (rammer, spinner, flipper, et caetera), and then create a new AI algorithm for it.
From what I read and see some of you programmed new AI algorithms. Would anybody be interested in that sort of competition? Would anybody be up the the challenge of having the best fight strategy?
If there are enough people, I'm in.
-
Heh, If I wasn't so pointless at python, I'd go for it.
-
that would be nice... but since alot of people suck at aiing let alone making new tachticks it would be hard.
-
You know what you could do... have somebody build a bot, and everyone has to create an AI for that one bot. If thats what you meant, I dunno.
-
but half the entries would be just stock tactics.
-
You know what you could do... have somebody build a bot, and everyone has to create an AI for that one bot. If thats what you meant, I dunno.
That's exactly what I meant. For me, it's an awesome idea :P
but half the entries would be just stock tactics.
Then they would just lose!
-
Hmm. I'll try it.
-
Hmm. I'll try it.
kthx. Me love you long time.
-
If I had any 'programming' capabilities.
-
I'm totally up for this. I've been meaning to make some new AI routines but there wasn't much purpose behind it before...
How would we determine the winner, though? (I'm just throwing out ideas because I really want this to work)
-If we have the bots fight eachother, I don't think that would suffice enough and we would need a certain number of AI routines to make a bracket.
-If we have everything for download so that community can vote after testing, I don't see this working out very well (I can't think of any major problems now but I know there are some).
-If we have the features listed for each routine for the community to vote on the best, we wouldn't know how well they would work.
-If we have the bots fight other bots (~2-3) then have a community vote, there would be IMO the least amount of problems/hassle.
-
Hehe... I'm up for this...:biggrin:.
There would have to be some set paratmeters of commands. After all, you know how some code in 'lethal' stuff and all... Cheaters..:ban_smily:.
-
I would be interested in watching this but I have played around with new .py files but cant do a whole lot with them at the moment
-
:
You know what you could do... have somebody build a bot, and everyone has to create an AI for that one bot. If thats what you meant, I dunno.
That's exactly what I meant. For me, it's an awesome idea :P
i'm up for this idea. but will we concentrate on new AI or new tactics ?
Does the bot builder will explain us what his bot is intended to do or will the ai-writter does what he want with the material ?
how can one judge if an AI is better than another ?
if we want very accurate AI they must take the arena into account, so -> not only the bot should be known but also the arena.
more important than all, the interest of such a challenge is not to know who is "the best" -it's Madiaba all the way- but to learn from each-other in a challenging contest. This mean that each ai-writter should had a place to explain what he did, how , which problem did he meet and how he solved them or didn't solve them (-> so the community should help him) etc.
Another ID : Not to make this tourney a "private guru challenge", there should be a system of handicap that give 'new Aier' and beginners some 'points advantage" that give them hope to win.
-
I think that a good first challenge would be making a generic bot navigate an obstacle course, but the AI writers don't know what the course is when they write the AI.
-
There would have to be some set paratmeters of commands. After all, you know how some code in 'lethal' stuff and all... Cheaters
I completely agree. So we would need a rule similar to this: You may not add/remove/alter/manipulate GMF objects or the arena's programming, manipulate/disable/interfer with any of the opponents in any way, purposely alter visibility of components or bots (which includes darkening the screen or moving the camera), or use any of the codes listed below...
plus.damage(BotID, ComponentID, Damage, XYZ-Location)
plus.disable(BotID, True/False)
plus.force(BotID, X, Y, Z)
plus.gravity(X, Y, Z)
plus.practice(True/False)
plus.push(BotID, X, Y, Z)
plus.setArena(ArenaObject)
plus.setBackColor(Red, Green, Blue)
plus.setSubsteps(Number)
plus.setTimestep(Number)
plus.eliminatePlayer(BotID)
plus.magicMobility(True/False)
plus.refreshAI(BotID, AIBotID)
plus.usePower(BotID, True/False)
self.ResetComponents()
I left out a couple things that were debatable depending on how they were used (such as fire and smoke) because as long as they don't purposely interfer with the visibility of components or bots, I have no problems with them.
if we want very accurate AI they must take the arena into account, so -> not only the bot should be known but also the arena.
I don't think this is necessary because you can program your AI to figure this out yourself by using Arenas.currentArena to access arena information.
Not to make this tourney a "private guru challenge", there should be a system of handicap that give 'new Aier' and beginners some 'points advantage" that give them hope to win.
What if we have teams (one "guru" and one "new AIer"). Then people would have a chance to learn how to do it themselves while still having a chance of winning. Being a "guru" can be defined as participating in at least two programming tournaments or someone confident in their programming ability (whichever comes first). The only problem I have with this is some "gurus" might not have enough time to do both (work on the AI and teach the "new AIer") but I'm willing to help any "new AIer" no matter how much prior knowledge they have.
EDIT:
I think that a good first challenge would be making a generic bot navigate an obstacle course, but the AI writers don't know what the course is when they write the AI.
I wouldn't mind doing that (RayTest would work well with that) but then we would need to make a custom arena for it and whoever is hosting the tournment wouldn't be able to enter. Maybe having the bots perform an action currently not 'AI'able such as making an AI that can play soccer would be better (this would also make determining the winner easier).