|30/05/2008 03:16:17 AI Interface (cont.)|
This thread is about the new AI interface being tested on the test server, and is continued from the Tangler thread (http://www.tangler.com/forum/weewar/topic/41952/).
I'm loving it so far, but would like to see two things fixed:
- artilleries can move and shoot
- the AI does not seem to take damage when it attacks
Also, regarding a repository... if I come up with a kick-ass bot, I'm not sure I would want to share my secret bot-strategies with my bot-enemies for the botwars.
Edit: Documentation on the Wiki can be found at http://weewarwiki.com/tiki-index.php?page=Eliza+API
This message was edited 4 times. Last update was at 02/06/2008 11:31:34
|30/05/2008 03:24:45 Re:AI Interface (cont.)|
We are looking into the attack + no damage issue with the current bot. Same with the move + attack for Artillerie. Neither change is intended.
If your bot (or any bot) makes it to the top of the player list I'd love to see the source - but than it might also be a good secret to keep
|30/05/2008 03:30:24 Re:AI Interface (cont.)|
haha, that would be funny. Along a similar line, will there be a way for someone to know for sure if they are playing a bot or not? other than the blistering response time.
Also, in the gameState API, each individual player is called a "Faction." Is this a prelude to supported team play since a faction is actually a group of people? that would be cool
|30/05/2008 03:35:06 Re:AI Interface (cont.)|
Our current thinking for the API (code name ELIZA) is to require usernames to begin with "AI_" to work. That way all bots would be clearly marked as such. That might be the beginnings fo some Weewar specific robotic laws (oh.. the geeky pleasure!!).
I am afraid the faction term is a mere remnant from the distant past of Weewar and not hint for things to come.
|30/05/2008 03:40:56 Re:AI Interface (cont.)|
weewar robot laws... i'm loving it!
one more thing: it would be nice to have an api for posting to the chat window. because who doesn't love trash-talking robots? Or would robot law #4 be: A robot may not verbally insult its human opponent ?
|30/05/2008 03:47:35 Re:AI Interface (cont.)|
That is definitely on our list! That will also lend itself to some form of a Tutor bot.
I think as ELIZA gets more refined so will the rules and requirements for the bots evolve. I can't wait for the first 64 slot bot tournament.
|30/05/2008 03:55:52 Re:AI Interface (cont.)|
tutor bot will be nice. I think I posted something like that in the suggestions wiki a while back as a way to introduce weewar to new players. It would also be nice for map designers to write bots that can show people new to the map the key strategic locations and such.
I wonder how long a 64-bot tourny would last? The rate-limiting step would be game invitations. If you could automate that, then it would probably take less than 15 minutes... unless someone makes a Deep Blue bot.
|30/05/2008 04:05:53 Re:AI Interface (cont.)|
Re GIT and Github: I think it would be preferable to host each project / bot / etc as a separate repository. As long as it is open it is free anyway.
This does not only apply to Bots and AI stuff but would also work for the more advanced grease monkey scripts for example.
(Can you tell I am a GIT fan?)
|30/05/2008 04:35:04 Re:AI Interface (cont.)|
|Yup, I can tell. I don't know yet whether I should release my AI to the public (the one linked to on Tangler wasn't much of a change from Bert's, so that doesn't count). As Pluto said, if I make one that rocks, it's probably gonna stay a secret. =)|
|30/05/2008 12:01:14 Re:AI Interface (cont.)|
If you are sharing or not is of course up to you. A shared bot would profit from the improvements of the whole community. It would also provide a full sized wrapping framework arround Eliza and the most common functions. A function that would be useful for every bot could be to calculate the first step of a journey to a distant coordinate.
Are there any suggestions / improvements that need to be done to Eliza apart from the two mentioned by Pluto?
Bots have to start with "ai" (no underscore needed).
P.S. Please post a list of your bots on the test server and when its most likely to be online.
|30/05/2008 13:51:59 Re:AI Interface (cont.)|
|Personally, I'm a little surprised and confused that the bot can play under different rules, even if mistakenly.|
|30/05/2008 14:12:05 Re:AI Interface (cont.)|
|It seems to me that this is almost your standard state of mind|
|30/05/2008 15:30:37 Re:AI Interface (cont.)|
I'd like to have the bot be able to chat with / taunt the opponent(s).
I'd also really like to be able to simulate what-if situations to figure out possible moves. For example, what if my raider moved to location A and next turn, their tank moved to location B, what would be the possible moves for my raider then, complete with zoc effects, effects of terrain on movement, etc. so the AI can look ahead a couple turns to figure out a good move. I'd really rather not rewrite your game engine that already calculates all of the movement and stuff (and I doubt you'd release your code to me), so pluto suggested adding a way for the bot to send weewar a list of units and their coordinates and ask weewar for the possible moves of a particular unit. I can already do this for what a game currently looks like with <movementOptions x=2 y=5 type="lighttank">, but I'd like to do it for a hypothetical game situation.
I will likely release useful functions as I develop them, which may or may not be anytime soon. And first on my list is a path-finding algorithm that ignores units (e.g. in botanic troubles, the units stand on the other side of the river, trying to get across it to the base because that's the shortest direct path to the base, and only by random error does one stumble upon the small path). Ideas? Dijkstra's shortest path?
|30/05/2008 16:18:14 Re:AI Interface (cont.)|
The test server has been updated. There are two major changes to Eliza.
1) The Urls have changed.
- /api1/maplayout/<mapId> (previously /api1/mapLayout.jsp?map=<mapId>
- /api1/gamestate/<gameId> (previously /api1/gameState.jsp?game=<mapId>
- /api1/eliza (previously /api1/eliza.jsp)
All old urls will continue to work but it is recommended to adopt to the new ones because we do not guarantee that the old will work forever. For those running the reference implementation (aka Zapp): Doing a search for ".jsp" in the Eliza.java file will lead you to all places that need a change.
2) The codes for units and terrains have been changed to the names used in the game. I.E. a "heavyInfantry" is now a "Heavy Trooper". For bots that used Zapp as their basis: search for "infantry" and replace the strings accordingly.
Furthermore the two Bugs mentioned in Plutos first post have been fixed.
|30/05/2008 16:23:59 Re:AI Interface (cont.)|
Thanks! What about lighttank => raider?
This message was edited 2 times. Last update was at 30/05/2008 16:26:34