![]() |
INFO | Home Notizie Info Tutorials Interviste Forum Mailing List Contatta leo |
GIOCO | Downloads Archivio Iscrizione Uploads Campionato Statistiche |
|
In this figure, you see my i-bot and a target. The dashed sinoid is the path i-bot will follow. As you can see, the bot's velocity vector lies, in general, not in the same direction as the vector from i-bot to its target. Because bullets fired by bots in GUN-TACTYX get a velocity vector relative to the bot's velocity, I've added the bullet velocity vector (length ~30 m/s) to the bot's velocity vector (length ~5 m/s), so that the end of the bullet velocity vector just hits the line from i-bot to its target. If we make sure i-bot rotates its torso to point parallel to the drawn bullet velocity vector, then, if it fires bullets, they will certainly fly parallel to the line i-bot -> target. This brings me to two major weaknesses of my i-bot. The first weakness is the direction of the bullets. As you can see, the dashed line zigzags around the line i-bot -> target. This dashed line is the path i-bot will follow (1). I mentioned that my bot fires bullets parallel to the line i-bot -> target (2). So combining statements (1) and (2), you find that i-bot doesn't fire bullets straight at its target. Additionally, the angle between torso direction and line i-bot -> target is a constant in the current implementation, which is inaccurate if the velocity vector changes like in the corners of the zigzag. The second weakness is the direction of the aim beam. Since i-bot doesn't change its aim beam to point to its target, it points in the torso direction (as drawn in the figure). Since its algorithm is much like rookie's, it checks if it will hit a mate by the return value of aim(). But this is just useless, since the aim beam has another direction than the bullets fired by i-bot.
Tobi: Not too hard. Although I had been experimenting with GUN-TACTYX for a few weeks, my i-bot was coded and tested in only one day, and it got this result. So it couldn't be too hard. Of course, the other players helped a lot by submitting bots unable to defeat my i-bot ;-)
Tobi: Probably the major reason for this is that i-bot hits its mates quite often. See above for an explanation of the tactics of i-bot and its weaknesses.
Tobi: It shouldn't shoot at its mates. This could be acquired by directing the aim beam straight to the enemy, but this would require two extra rotations before each shot. A better solution would probably be to use the radio to communicate the positions of each mate. Also (an improvent I made just after the first championship, though I didn't upload it) i-bot drops its weapon if it's empty and searches for a new weapon. (It's the ultimate tactic if each player initialially has only 10-20 bullets.)
Tobi: I don't have really one bot that I like in particular. But in GUN-TACTYX, it is great to see bots walking in dense formations, like gunny and trooper, although it is questionable if this really is an advantage. It looks cool anyway.
Tobi: I think no one improved the behaviour of the basic bots in the Soccer competition because it is very difficult to code good Soccer bots. It's quite simple to make your bot hit the ball. But you don't win just by hitting the ball. A good Soccer bot needs an algorithm to kick the ball in a certain direction. A good Soccer bot needs communicate with its team mates. A good Soccer bot needs an algorithm to decide in which direction the ball should be kicked. Etcetera. I think the problem isn't in interest, I think the problem is in difficulty. Consider a bot and a ball rolling straight to that bot. I wouldn't know how to make that bot stop the ball. It would be easier if a bot could handle such things like stopping an incoming ball and kicking it in a certain direction automatically. You could then focus on tactics of the entire team. But this is IMHO.
Tobi: I'm a student Mechanical Enineering at the Technical University of Delft. I live in the Netherlands and I'm currently 19 years old.
Tobi: Currently, my favorite books are the discworld (I'm not sure if this is the correct English translation of the Dutch title schijfwereld, I'll have to look it up) series by Terry Pratchett. In short, it's fun and it's fantasy. Another great book is The Hitch Hikers Guide To The Galaxy. My favorite movies are definitely The Holy Grail and Life Of Brian. My hobbies include, but are not limited to: programming, reading, building robots (this wants to be a hobby of me but I haven't got the time yet, GUN-TACTYX was a cheap alternative).
Tobi: It has already been suggested on the forum by someone else: add some functions to read/write external data from file, so that genetic algorithms and neural networks can be implemented. Something like this for example (where xxx.dat is a datafile for each bot): new data_array[10] read(data_array, 10) // Read xxx.dat and store the first 10 cells in data_array. write(data_array, 6) // Write the first 6 cells of data_array to xxx.dat. Another suggestion would be to do "atomic sensors" or "atomic sensor mode": a way to make sure that, for example, yaw and pitch returned by watch() are measured at exactly the same time as x, y and z returned by getLocation(). You could add a function pollSensors() which reads all sensors and stores the results for retrieval via watch(), hear(), etcetera, but the game might become too easy with 100% accurate sensors. Also, it isn't quite realistic. It's currently almost impossible to write bots which actively avoid bullets with the 1 sec delay between consecutive move actions. It could be an idea to shorten the delay or remove it at all.
Tobi: I suppose they'll do. (Unless I find the time to improve i-bot, hehehe, which I didn't, maybe next challenge...)
| | | ![]() | ![]() | | |
Per maggiori informazioni invia un'email a APOCALYX 3D Engine |
Copyright © 1999-2008 Leonardo Boselli Tutti i diritti riservati. Clausole legali. |