INFO   Main   Docs   FAQ   News   Tutorials   Interviews   Forums   Mailing List
ONLINE    BATTLE ARENA   Accounts   Uploads   Downloads   Hall of Fame
|   No-Limits Challenge: JROBOTS FOREVER! (January 6th 2010)   ||   October-December Challenge: The End! (December 26th 2009)   ||   October-December Challenge: JROBOTS 2K9 Q4! (October 3rd 2009)   ||   September-October Challenge: JROBOTS 2K9 Q3! (July 4th 2009)   ||   April-June Challenge: JROBOTS 2K9 Q2! (March 28th 2009)   ||   Old News  |

MAKE a DONATION

GAME

Main

BATTLE ARENA
Hall of Fame

Downloads

Accounts
Uploads
 
INFO

News

Docs
F.A.Q.
Tutorials
Interviews

Forums
Mailing List
Contact leo
 
Visit the APOCALYX BLOG!

An interview with Caos, author of Tango

by Samuel J. Grabski I have a unique opportunity to talk to Caos - author of the famous Tango. His robot appeared in December 2002 immediately causing a huge sensation. It won Double category breaking long-standing IonStorm's hegemony. Recently, it shook Veteran's Arena by winning Single category. (In April 2004, a few months after the publishing of this interview, Tango's career in the Veteran's League reached the top with a triple-victory. In the past history of JROBOTS this enterprise succeeded only to the great KillerBees and IonStorm) Samuel: Could you tell us how have you got involved with Jrobots and what motivated you to enter the Arena? Caos: When I was in a University, the local chapter of the IEEE organized a tournament where players had to program some kind of fighting automats. Since the concept was pretty interesting (plus we needed to learn C for a subject) a several classmates and I decided to participate. After a few weeks, we went into a classroom, and had a very funny competition that lasted 4 or 5 hours. We were all together, laughing a lot at ourselves, watching those strange things which each of us invented. It was quite funny, and the best thing was that we have learned basics of C without being aware of it. Due to the fact that I have not programmed anything for years, a year ago I decided to acquire some basic concepts of Java. Since I remembered my funny experience with C, I decided to search the Internet and check if the old C simulator had evolved to other languages. And ... I found Jrobots! Without any hesitation, I downloaded the Arena and began to write my first version of Tango. It was named Tango because its first movements resembled dancing in the rhythm of the popular music of my country.
Tango DancersTango Fighters
Tango dancersTango fighters
Stimulated by the relative success of Tango on its first incursion into the Arena, I decided to challenge the top robots of that time. The results were pretty good ... until IonStorm woke up. We were fighting very hard for a while, upgrading bots frequently, but the modifications introduced by Alan, showed me clearly that my concepts and wishes alone were not sufficient to get to the very top place. A lot of work was necessary to tune the details, to improve lots of things... and my free time and energy (after several hard months) were exhausted. A few months ago, I was stimulated to come back with an upgrade of Tango due to positive changes in the Arena. Some new and very interesting robots were coming. They introduced new movement styles and more precise shootings, which caused Tango to decrease its performance. I felt it was time to make the second version. To be honest, I have not learnt advanced Java, but I discovered a great game! Samuel: Your robot is the only one, which can successfully challenge the "All Mighty". Have you made it specifically to be Anti-IonStorm? Caos: I think if you want to obtain good results in this game, you must program your robot to obtain good results against every other robot in the Arena. It is a game where results are measured statistically, so it is not enough to be the best against a specific robot, or a particular type of robots. It is not possible to win a game just winning with a particular robot and theoretically, one could win the game, even without beating IonStorm. Of course, being practical, I think you should not just beat IonStorm on the individual fights (very hard work, indeed), but your robot should be as efficient as IonStorm is against the others, or even better, to win a complete game. So, I am not anti-IS, but I do not have another choice to try to win a game. Fortunately, in general, I like challenges and the strength of IonStorm is an excellent stimulus to improve my robot. I would like to see the other "Mighty" (HeadHunter, KillerBees and Mouth) to wake up from the "lethargy", to make things even more interesting! I consider it is commendable to be in the top positions, without any change for so long. Samuel: Many players are curious what is needed to get to the top of the Veterans list. What particularly helped you to achieve this goal? Caos: From my point of view I think that at the beginning you need to work on a particular concept or strategy, which allows you to quickly build a base of relatively good results. It should encourage you to continue to work on other details. For me it was very important to feel that I could do it! After that, you should continue to work using common sense and to watch lot of fights in order to detect mistakes of your robot or to learn new things from better bots. Whenever you can, use methods, formulas and mathematical concepts to resolve problems without reinventing the wheel (scanning, estimation, patterns). You need to be very persistent, and overcome the frustration. Sometimes, after days of sterility, suddenly you feel that you have found THE idea, ... but when you implement it, you realize it does not work at all, ... or even worst, weeks later you realize it does work, but on the first attempt, you were not patient enough. I could not give advice to the veterans, because probably, they could give advice to me. But a beginner may consider the following:
  1. The movements are as important as the shooting. I feel there is a general trend to concentrate too much work around shooting, without being aware that it is as important to beat, as not to be beaten.
  2. Do not trust the Scan. You should be careful, because it is not precise enough to support complex predictions without some previous work over collected data.
  3. You must develop a "700 meters" method. It is needed in all the modes but especially essential in Team and Single mode.
  4. Each mode requires its own tactics. Being good in one mode, does not assure success in the others. Anyway, I believe it is a necessary condition to have a good single mode to in order improve the other 2 modes, but it is not a sufficient condition.
  5. Be flexible. Do not stick to bad concept until death. Sometimes you need to change in order to grow up.
  6. Be persistent. You will need a high level of patience. Sometimes the solutions in this game are closer than expected.
Samuel: That was great advice, thank you! And what could you tell me about yourself? Caos: I was born in a small town in the south part of Argentine, near the Andes, in a region called Patagonia. I grew up away from the big cities, in a region that produced tons of apples (no Mac), pears, grapes and wine. There, I have learnt to enjoy sports, mountains, lakes, barbecues and friendship.
Images from Patagonia
Fitz Roy HillFitz Roy Hill (reversed?)LakeFall
Fitz Roy HillLakeFall
After my teenager years, I moved to a bigger city to study in a University, where I obtained a degree in Computer Science. I began working as programmer for small software companies that provided solutions for different industries. After that, in a bigger company, I performed task of Analyst and Project Leader in projects related to the financial sector. Following this line of professional development, I have been the Project Manager of an IT company for many years (in a very time and responsibilities exigent environment). Today, I am living in Uruguay, a country very close (geographically and culturally) to Argentine. I live with my girlfriend (... she hates Jrobots!) in a flat near the beach, and we have a small pet (a Beagle), who "supports" me when I work late on my computer with another pet (Tango), trying to improve something. In general I am an easy but very active person and sometimes I am a bit critical and exigent about things, and about myself. Samuel: Could you tell me about your passions, favorite pastime, good books and music? Caos: Generally speaking, I rarely have a free time or at best not as frequently as I would expect. Sometimes my job is quite time consuming. I like sports in general and in particular I have played tennis for years. I try to play it with friends 3 times a week. In the past I have played volleyball, paddle (sport very popular in my country many years ago), soccer and basketball. Sometimes I watch the NBA on TV (I like Spurs), and of course, I try to watch the tournaments of the ATP tour. Reading books is not my preferred activity, so I often read them with a practical purpose in mind. I have a lot of them not finished on my bed table. However, I love music! Particularly, live music connects me with the right side of my brain (responsible for sensations, feelings, etc.). I am open minded to different styles, but restricted to those of good quality. Even though it sounds contradictory in some sense, I do not like Tango music. I love going to the cinema too, and again, I like a wide range of type of films. I like those that shock or shake me, and help me to change a point of view, or to reevaluate my actual perception of things. I love good Sci-Fi too, but it is a pity that good Sci-Fi movies are not so common. I spend some time studying Management ... and English too, though I would prefer more structured languages ;-) Samuel: Obviously you have demonstrated already twice that it is possible to beat top robots. How difficult would be to beat Tango? Caos: Sometimes, the Tops seem to be so far of the rest, that depending on the moment and your emotional state, it can be an encouraging element or a negative factor. I really hope that a few victories of Tango, can act as a positive incentive to the rest of the players. I think that at this moment we need to equilibrate things, and I suppose it would be better for the game to have a group of robots in a similar high level of competitiveness, to increase the level of interest. If you are near the goal, or you see that it is possible to reach, it is much easier to go on than if you do not see light at the end. I think that the game and bots have room to grow up, because in a very competitive environment it should be uncommon to have very long time of hegemonic situations like current one, especially if you realize how different are the three modes of the game! Of course, it is our responsibility to work hard to reach the standard level set by IonStorm. In my second version of Tango, I incorporated some new features in the movement to make it more difficult to hunt my robot, and introduced some extras to the scanning and prediction process. My next step will be to refine the new characteristics to improve winning percentage points. I am not in a position to make a new monster, but I am just trying to equilibrate things with IonStorm ... Samuel: Which category (Single, Double or Team) do you like the most? Caos: I do not know exactly the reason, but I have always preferred Single mode. Freud could say, it is due to my first experience in this field (CRobots), but I believe it could be due to the symmetry of conditions of the starting point or perhaps because it is easier and faster to probe or because it is the basic foundation for the other modes. I have almost not invested time in Team mode, because it does not run at an acceptable speed on my machine, but I have plans to improve the performance in this mode in the near future. Samuel: Which robot had caused you the most problems? Caos: Without any doubt IonStorm is the hardest to beat, since it manages all the situations in a smart and neat way. It has a great maturity level in its movements and its shooting is very precise, no matter the distance. In general it is very disappointing to try a lot of tricks with the same result - you end up dead. New robots bring new problems to Tango, because it has not enough code to face the variety of styles. Samuel: Which missing feature would you like to implement in Tango in the future? Of course, do not tell the trade secrets :) ! Caos: Sometimes, I want to begin from Zero, because I am often limited by some old parts of the code. I think with the current experience, having a wider vision of the game, I should be able to build a robot over more solid and neat basis, and I hope, smaller and faster too. In Double and Team modes, I am sure Tango could improve its performance by sharing more information with its partners, or directly using the information collected by other better placed robots in the Arena. I would like to expand the history log of movements of every enemy, and to refine the data collected by the scanner to use some new information that I need to improve predictions. Perhaps using vectors could result in a more maintainable code. Samuel: How would you classify the Jrobots game? Is it a programming game, an artificial intelligence game, an intellectual discovery or a self-development? Caos: It is very difficult to categorize it. I would define it as a kind of strategy and tactic game, where to be clever is very important.... like chess! Programming is just the tool to implement the tactic, and the results are neither strictly related to good programming abilities (I am the living proof) nor to the formalization of rules but to the discovery or invention of the clever ways to resolve some situations in an automatic way. Samuel: If you could wish for a change in rules, simulator features or in the Jrobot's community what it would be? Caos: From a conceptual point of view, I think we should have more information available to the beginners. The current information is not rich enough to speed up the initiation process. The forum has little activity and there are not deep discussions about mathematical methods to use or common problems like the precision of the scan, how to avoid walls, advantages of using vectors or not, usefulness or not of some speeds (8x), alternative ways to debug the robots, etc. This lack of information and weak forum activity may transmit to a rookie the false impression of being a hermetic group or a game not being mature enough. Regarding the simulator, I think that a lot of interesting things could be done and some of them have been already discussed at the forum. If I could choose, I would like to see more realistic and smooth movements, possibility to use classes (!), more precise Scan (without the 1 and 20 degrees limit), longer matches to have enough time to predict patterns (it could be easily done by decreasing the power of the missile impact), ability to keep historical data after each game in order to used it in the next games, capability to build alliances in Team mode, sharing common methods among enemies, etc. I suspect that there are many other fascinating things that could be done but I am worried about just one thing: Time. Even without any additional features, with the current number of veterans, I spent lot of hours just to verify if small change in my code has or not any impact on the results. I usually use nights to do it (at 100% CPU), but it is quite boring and de motivating to wait so long for result of each change. I think, that this is a problem that could prevent beginners from reaching the specific level of enthusiasm required to make a good robot and people who reached that level could lose interest because it is too time expensive to maintain or improve their robots. Furthermore, just with the current number of veterans, I suspect that the amount of games played in a typical month may not be statistically high enough to ensure correctness of the final order in an equilibrated competition. Samuel: These are very interesting comments, which should stir some responses from our community. Thank you Caos for your time and many good fights for Tango! Caos: Actually, I want to thank you, Leonardo, Alan and those who have contributed with personal sacrifices to maintain this interesting game alive! I support your initiative of interviewing people behind the bots, and I think it could be very interesting to know more about the rest of the players.


For more information
send an email to
TETRACTYS Software
Project Hosted by SourceForge Copyright © 1999-2009 Leonardo Boselli
All Rights Reserved. Legal Terms.